From c84f1ee7e6fb1c1328265ccdcfc720c665fb3dc1 Mon Sep 17 00:00:00 2001 From: Jon Hardie Date: Thu, 13 May 2021 15:42:04 +1200 Subject: [PATCH] Fix loadedFrame count for local files --- dist/CptvPlayerVue.common.js | 26 +++++++++++++++----------- dist/CptvPlayerVue.common.js.map | 2 +- dist/CptvPlayerVue.umd.js | 26 +++++++++++++++----------- dist/CptvPlayerVue.umd.js.map | 2 +- dist/CptvPlayerVue.umd.min.js | 4 ++-- dist/CptvPlayerVue.umd.min.js.map | 2 +- package.json | 2 +- src/CptvPlayer.vue | 10 +++++++--- 8 files changed, 43 insertions(+), 31 deletions(-) diff --git a/dist/CptvPlayerVue.common.js b/dist/CptvPlayerVue.common.js index 282f399..8b5db25 100644 --- a/dist/CptvPlayerVue.common.js +++ b/dist/CptvPlayerVue.common.js @@ -715,7 +715,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/***/ 8987: +/***/ 6361: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -750,7 +750,7 @@ if (typeof window !== 'undefined') { // Indicate to webpack that this file can be concatenated /* harmony default export */ const setPublicPath = (null); -;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b2ba098c-vue-loader-template"}!./node_modules/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!./node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./src/CptvPlayer.vue?vue&type=template&id=2ecd0be0& +;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b2ba098c-vue-loader-template"}!./node_modules/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!./node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./src/CptvPlayer.vue?vue&type=template&id=f769d71a& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['cptv-player', { 'stand-alone': _vm.standAlone }]},[_c('div',{key:"container",ref:"container",staticClass:"video-container"},[_c('canvas',{key:"base",ref:"canvas",class:['video-canvas', { smoothed: _vm.smoothed }]}),_c('canvas',{key:"overlay",ref:"overlayCanvas",staticClass:"overlay-canvas"}),_c('span',{key:"messaging",class:['player-messaging', { show: _vm.playerMessage !== null }],domProps:{"innerHTML":_vm._s(_vm.playerMessage)}}),_c('span',{directives:[{name:"show",rawName:"v-show",value:(_vm.showValueInfo),expression:"showValueInfo"}],key:"px-value",ref:"valueTooltip",staticClass:"value-tooltip"},[_vm._v(_vm._s(_vm.valueUnderCursor)+" ")]),(_vm.openUserDefinedCptvFile)?_c('div',{key:"openUserFile",staticClass:"playback-controls show"},[_c('b-form-file',{staticClass:"cptv-drop-area",attrs:{"accept":".cptv","state":_vm.userSuppliedFile !== null,"placeholder":"Choose a CPTV file or drop one here...","drop-placeholder":"Drop file here..."},model:{value:(_vm.userSuppliedFile),callback:function ($$v) {_vm.userSuppliedFile=$$v},expression:"userSuppliedFile"}})],1):_vm._e(),_c('div',{key:"buffering",class:[ 'playback-controls', { show: _vm.isBuffering && !_vm.openUserDefinedCptvFile } ]},[_c('font-awesome-icon',{staticClass:"fa-spin buffering",attrs:{"icon":"spinner","size":"4x"}})],1),_c('div',{key:"playback-controls",class:[ @@ -13430,7 +13430,7 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { switch (_context2.prev = _context2.next) { case 0: if (this.totalFrames) { - _context2.next = 12; + _context2.next = 13; break; } @@ -13445,19 +13445,20 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { break; } - return _context2.abrupt("break", 12); + return _context2.abrupt("break", 13); case 6: CptvPlayervue_type_script_lang_ts_frames.push(frame); - _context2.next = 9; + this.loadedFrames = CptvPlayervue_type_script_lang_ts_frames.length; + _context2.next = 10; return cptvDecoder.getTotalFrames(); - case 9: + case 10: this.totalFrames = _context2.sent; _context2.next = 0; break; - case 12: + case 13: case "end": return _context2.stop(); } @@ -13613,7 +13614,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { }, { key: "firstFrameForTrack", value: function firstFrameForTrack(trackIndex) { - var frameForTrack = Object.entries(this.processedTracks).find(function (_ref4) { + var frameForTrack = Object.entries(this.processedTracks // eslint-disable-next-line @typescript-eslint/no-unused-vars + ).find(function (_ref4) { var _ref5 = _slicedToArray(_ref4, 2), _ = _ref5[0], tracks = _ref5[1]; @@ -13625,7 +13627,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { }, { key: "onPastLastFrameForTrack", value: function onPastLastFrameForTrack(trackIndex) { - var entries = Object.entries(this.processedTracks); + var entries = Object.entries(this.processedTracks); // eslint-disable-next-line @typescript-eslint/no-unused-vars + var firstFrameForTrackIndex = entries.findIndex(function (_ref6) { var _ref7 = _slicedToArray(_ref6, 2), _ = _ref7[0], @@ -13634,7 +13637,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { return Object.keys(tracks).map(Number).includes(trackIndex); }); var fromStartOfTrack = entries.slice(firstFrameForTrackIndex); - var onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(function (_ref8) { + var onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex( // eslint-disable-next-line @typescript-eslint/no-unused-vars + function (_ref8) { var _ref9 = _slicedToArray(_ref8, 2), _ = _ref9[0], tracks = _ref9[1]; @@ -25496,7 +25500,7 @@ try { /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module doesn't tell about it's top-level declarations so it can't be inlined -/******/ var __webpack_exports__ = __webpack_require__(8987); +/******/ var __webpack_exports__ = __webpack_require__(6361); /******/ module.exports = __webpack_exports__.default; /******/ /******/ })() diff --git a/dist/CptvPlayerVue.common.js.map b/dist/CptvPlayerVue.common.js.map index 9b63705..bd60867 100644 --- a/dist/CptvPlayerVue.common.js.map +++ b/dist/CptvPlayerVue.common.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faAngleRight.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faBackward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faEyeDropper.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faFileVideo.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faFolderOpen.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faForward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faImage.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faInfoCircle.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPalette.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPause.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPlay.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faRedoAlt.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faSpinner.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faStepBackward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faStepForward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faWrench.js","webpack://cptv-player-vue/./node_modules/@soda/get-current-script/index.js","webpack://cptv-player-vue/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://cptv-player-vue/./src/CptvPlayer.vue?a46f","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://cptv-player-vue/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://cptv-player-vue/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?80a0","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Emit.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Model.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/ModelSync.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/PropSync.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Ref.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/index.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?b17e","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?322d","webpack://cptv-player-vue/./node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue","webpack://cptv-player-vue/../cptv-rs/index.js","webpack://cptv-player-vue/../cptv-rs/DefaultColourmap.js","webpack://cptv-player-vue/../cptv-rs/frameRenderUtils.js","webpack://cptv-player-vue/./src/CptvPlayerUtils.ts","webpack://cptv-player-vue/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://cptv-player-vue/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://cptv-player-vue/./src/icons.ts","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://cptv-player-vue/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/vue.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/components.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/env.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/events.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/key-codes.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/props.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/safe-types.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/slots.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/array.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/inspect.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/regex.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/string.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/dom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/events.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/html.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/identity.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/object.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/clone-deep.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/config.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/memoize.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/config.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/props.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/model.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/env.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/warn.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/observe-dom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/loose-equal.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/cache.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/attrs.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/id.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-document.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-root.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-window.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/normalize-slot.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/normalize-slot.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/get-scope-id.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/scoped-style.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/router.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listeners.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/link/link.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/button/button.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/button/button-close.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/transition/bv-transition.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/transporter/transporter.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/bv-event.class.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/number.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/helpers/modal-manager.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/modal.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/css-escape.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-state.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/layout/col.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/layout/form-row.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-text.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-invalid-feedback.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-valid-feedback.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-group/form-group.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/loose-index-of.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-control.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-custom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-size.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-radio-check.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-checkbox/form-checkbox.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-file/form-file.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/math.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/progress/progress-bar.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/progress/progress.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/directives/modal/modal.js","webpack://cptv-player-vue/./src/mp4-export.ts","webpack://cptv-player-vue/./src/CptvPlayer.vue?5558","webpack://cptv-player-vue/./src/CptvPlayer.vue?3c12","webpack://cptv-player-vue/./src/CptvPlayer.vue","webpack://cptv-player-vue/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://cptv-player-vue/./node_modules/core-js/internals/a-function.js","webpack://cptv-player-vue/./node_modules/core-js/internals/a-possible-prototype.js","webpack://cptv-player-vue/./node_modules/core-js/internals/add-to-unscopables.js","webpack://cptv-player-vue/./node_modules/core-js/internals/advance-string-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/an-instance.js","webpack://cptv-player-vue/./node_modules/core-js/internals/an-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer-native.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-copy-within.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-fill.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-for-each.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-from.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-includes.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-iteration.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-last-index-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-method-is-strict.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-reduce.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-species-create.js","webpack://cptv-player-vue/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://cptv-player-vue/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://cptv-player-vue/./node_modules/core-js/internals/classof-raw.js","webpack://cptv-player-vue/./node_modules/core-js/internals/classof.js","webpack://cptv-player-vue/./node_modules/core-js/internals/collection-strong.js","webpack://cptv-player-vue/./node_modules/core-js/internals/collection.js","webpack://cptv-player-vue/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://cptv-player-vue/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://cptv-player-vue/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/define-iterator.js","webpack://cptv-player-vue/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/descriptors.js","webpack://cptv-player-vue/./node_modules/core-js/internals/document-create-element.js","webpack://cptv-player-vue/./node_modules/core-js/internals/dom-iterables.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-browser.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-ios.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-node.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-user-agent.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-v8-version.js","webpack://cptv-player-vue/./node_modules/core-js/internals/enum-bug-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/export.js","webpack://cptv-player-vue/./node_modules/core-js/internals/fails.js","webpack://cptv-player-vue/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://cptv-player-vue/./node_modules/core-js/internals/freezing.js","webpack://cptv-player-vue/./node_modules/core-js/internals/function-bind-context.js","webpack://cptv-player-vue/./node_modules/core-js/internals/function-bind.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-built-in.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-iterator-method.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-iterator.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-substitution.js","webpack://cptv-player-vue/./node_modules/core-js/internals/global.js","webpack://cptv-player-vue/./node_modules/core-js/internals/has.js","webpack://cptv-player-vue/./node_modules/core-js/internals/hidden-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/host-report-errors.js","webpack://cptv-player-vue/./node_modules/core-js/internals/html.js","webpack://cptv-player-vue/./node_modules/core-js/internals/ie8-dom-define.js","webpack://cptv-player-vue/./node_modules/core-js/internals/ieee754.js","webpack://cptv-player-vue/./node_modules/core-js/internals/indexed-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/inherit-if-required.js","webpack://cptv-player-vue/./node_modules/core-js/internals/inspect-source.js","webpack://cptv-player-vue/./node_modules/core-js/internals/internal-metadata.js","webpack://cptv-player-vue/./node_modules/core-js/internals/internal-state.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-array.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-forced.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-pure.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-regexp.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterate.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterator-close.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterators-core.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterators.js","webpack://cptv-player-vue/./node_modules/core-js/internals/microtask.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-promise-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-url.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-weak-map.js","webpack://cptv-player-vue/./node_modules/core-js/internals/new-promise-capability.js","webpack://cptv-player-vue/./node_modules/core-js/internals/not-a-regexp.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-assign.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-create.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-define-properties.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-define-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-keys-internal.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-to-array.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-to-string.js","webpack://cptv-player-vue/./node_modules/core-js/internals/own-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/path.js","webpack://cptv-player-vue/./node_modules/core-js/internals/perform.js","webpack://cptv-player-vue/./node_modules/core-js/internals/promise-resolve.js","webpack://cptv-player-vue/./node_modules/core-js/internals/redefine-all.js","webpack://cptv-player-vue/./node_modules/core-js/internals/redefine.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-exec.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-flags.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://cptv-player-vue/./node_modules/core-js/internals/require-object-coercible.js","webpack://cptv-player-vue/./node_modules/core-js/internals/same-value.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-global.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-species.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-to-string-tag.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared-key.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared-store.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared.js","webpack://cptv-player-vue/./node_modules/core-js/internals/species-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-multibyte.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-pad.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-repeat.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-trim-forced.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-trim.js","webpack://cptv-player-vue/./node_modules/core-js/internals/task.js","webpack://cptv-player-vue/./node_modules/core-js/internals/this-number-value.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-absolute-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-indexed-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-integer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-length.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-offset.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-positive-integer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-primitive.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-string-tag-support.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-from.js","webpack://cptv-player-vue/./node_modules/core-js/internals/uid.js","webpack://cptv-player-vue/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://cptv-player-vue/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://cptv-player-vue/./node_modules/core-js/internals/well-known-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/whitespaces.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.concat.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.filter.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.find-index.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.find.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.from.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.join.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.slice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.splice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.function.name.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.constructor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.assign.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.entries.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.freeze.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.is.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.keys.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.promise.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.reflect.construct.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.reflect.get.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.exec.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.pad-end.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.pad-start.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.replace.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.split.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.trim.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.description.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.every.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.find.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.from.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.join.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.set.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.some.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.url-search-params.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.url.js","webpack://cptv-player-vue/./node_modules/regenerator-runtime/runtime.js","webpack://cptv-player-vue/ignored|/Users/jon/Dev/Cacophony/cptv-rs|worker_threads","webpack://cptv-player-vue/webpack/bootstrap","webpack://cptv-player-vue/webpack/runtime/compat get default export","webpack://cptv-player-vue/webpack/runtime/define property getters","webpack://cptv-player-vue/webpack/runtime/get javascript chunk filename","webpack://cptv-player-vue/webpack/runtime/global","webpack://cptv-player-vue/webpack/runtime/hasOwnProperty shorthand","webpack://cptv-player-vue/webpack/runtime/publicPath","webpack://cptv-player-vue/webpack/runtime/jsonp chunk loading","webpack://cptv-player-vue/webpack/startup"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","_s","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_typeof","obj","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","possibleConstructorReturn","_defineProperty","CptvDecoder","onMessage","type","message","data","resolver","url","size","arrayBuffer","path","mapRgba","r","g","b","Viridis","Uint32Array","viridis","Plasma","plasma","Inferno","inferno","Magma","magma","Default","GreyscaleSquared","Greyscale","inc","ColourMaps","renderFrameIntoFrameBuffer","range","max","frameBufferView","frameBuffer","index","frameData","indexUpper","Math","colourMap","getFrameIndexAtTime","totalFramesIncludingBackground","hasBackgroundFrame","time","duration","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","source","forEach","getOwnPropertyDescriptors","defineProperties","COMPONENT_UID_KEY","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICONSTACK","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","MutationObserver","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","IS_JSDOM","indexOf","IS_IE","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","options","passive","addEventListener","removeEventListener","HAS_TOUCH_SUPPORT","documentElement","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","IntersectionObserverEntry","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","CODE_BACKSPACE","CODE_BREAK","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","Date","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","Number","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","RegExp","PROP_TYPE_STRING","String","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","_isNativeFunction","_construct","Parent","Class","a","bind","_wrapNativeSuper","_cache","Map","isNativeFunction","has","get","set","Wrapper","Element","HTMLElement","SVGElement","File","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","concat","createArray","fillFn","mapFn","isFunction","map","flatten","reduce","item","flattenDeep","toType","toRawType","toRawTypeLC","isUndefined","isNull","isEmptyString","isUndefinedOrNull","isUndefinedOrNullOrEmpty","isBoolean","isString","isNumber","isNumeric","RX_NUMBER","isPrimitive","isObject","isPlainObject","isDate","isEvent","Event","isFile","isRegExp","isPromise","catch","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","kebabCase","str","replace","pascalCase","_","c","toUpperCase","charAt","startCase","$1","$2","lowerFirst","trim","upperFirst","escapeRegExp","val","spaces","JSON","stringify","trimLeft","trimRight","lowerCase","upperCase","ELEMENT_PROTO","TABABLE_SELECTOR","join","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","getActiveElement","excludes","activeElement","some","isTag","tag","isActiveElement","isVisible","contains","getStyle","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","prop","style","removeStyle","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","body","offsetParentStyles","toFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","parseEventOptions","eventOn","eventName","handler","eventOff","eventOnOff","on","method","stopEvent","event","preventDefault","propagation","immediatePropagation","stopPropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","stripTags","text","htmlOrText","innerHTML","textContent","identity","x","assign","proto","optionalProps","freeze","getOwnPropertyNames","is","value1","value2","isFrozen","hasOwnProperty","clone","pick","omit","mergeDeep","sortKeys","sort","readonlyDescriptor","cloneDeep","defaultValue","NAME","PROP_NAME","DEFAULT_BREAKPOINT","memoize","cache","argsKey","VueProto","Vue","getConfig","bvConfig","getConfigValue","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUp","breakpoints","getBreakpointsUpCached","getBreakpointsDown","getBreakpointsDownCached","prefixPropName","prefix","unprefixPropName","suffixPropName","suffix","makeProp","requiredOrValidator","validator","required","default","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","memo","makePropConfigurable","componentKey","bvConfigurablePropDefault","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","makeModelMixin","mixin","model","getEnv","fallback","env","process","getNoWarn","warn","console","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","observeDom","callback","$el","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","isEmpty","makePropWatcher","propName","newValue","oldValue","$delete","$data","$set","makePropCacheMixin","proxyPropName","watch","attrsMixin","idMixin","localId_","computed","safeId","mounted","$nextTick","PROP","listenOnDocumentMixin","created","$once","items","handlers","methods","listenDocument","listenOnDocument","listenOffDocument","h","listenOnRootMixin","listenOnRoot","$root","$on","$off","listenOnRootOnce","emitOnRoot","$emit","listenOnWindowMixin","beforeCreate","beforeDestroy","listenWindow","listenOnWindow","listenOffWindow","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","scope","slot","normalizeSlotMixin","scopedSlots","slots","vNodes","getScopeId","vm","$options","_scopeId","scopedStyleMixin","scopedStyleAttrs","scopeId","$parent","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","results","parseQuery","parsed","split","param","parts","shift","isLink","href","to","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","toFallback","hash","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","mixins","inheritAttrs","computedTag","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","eventIsEvent","suppliedHandler","currentTarget","__vue__","render","class","attrs","linkProps","BLinkProps","block","pill","pressed","squared","variant","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","role","autocomplete","BButton","functional","listeners","children","keydown","keyCode","focusin","focusout","componentData","staticClass","mergeData","ariaLabel","content","textVariant","BButtonClose","domProps","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","css","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","container","BVTransporter","immediate","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_superPropBase","property","_get","receiver","base","superPropBase","desc","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","BvModalEvent","trigger","toInteger","NaN","integer","parseInt","isNaN","float","parseFloat","toFixed","precision","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","right","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","idProps","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","isHidden","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","$refs","checkModalOverflow","updateModel","buildEvent","showEvt","emitEvent","doShow","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","returnFocusTo","bvEvent","onDialogMousedown","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","scrollHeight","clientHeight","makeModal","$header","$modalHeader","$closeButton","ref","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","directives","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","escapeChar","cssEscape","firstCharCode","char","charCode","state","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","hasColClasses","BFormRow","inline","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","LEGEND_INTERACTIVE_ELEMENTS","formStateProps","description","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","$input","newIds","oldIds","ids","onLegendClick","tagName","inputs","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","looseIndexOf","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","activated","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formControlProps","formSizeProps","formCustomProps","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","change","handleChange","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","formRadioCheckProps","BFormCheckbox","inject","setIndeterminate","indeterminate","uncheckedValue","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","all","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","file","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","allowed","$createElement","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","onChange","webkitRelativePath","onDragenter","dropEffect","onDragover","onDragleave","onDrop","pointerEvents","dragenter","dragover","dragleave","drop","mathMin","min","mathMax","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","animated","labelHtml","showProgress","showValue","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedVariant","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","progressBarProps","BProgressBarProps","BProgress","provide","progressHeight","$childNodes","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","getTarget","modifiers","reverse","getTriggerElement","setRole","binding","vnode","context","unbind","oldProp","componentUpdated","VBModal","inserted"],"mappings":";;;;;;;;AAAa;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAmB,GAAG,UAAkB;AACxC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAc,GAAG,UAAkB;AACnC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAsB,GAAG,UAAkB;AAC3C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAqB,GAAG,UAAkB;AAC1C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAgB,GAAG,UAAkB;AACrC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;AC5BnB;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;AC9ED;AACA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,IAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACA,oDAAe,IAAI;;;ACtBnB,0BAA0B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ACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,SAAS,uCAAe;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,8BAAO;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL,IAAI;;;AAGJ,6BAA6B;;AAE7B,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,KAAqC,EAAE,EAI1C;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iDAAiD;AACjD,OAAO;AACP;AACA;AACA;AACA,mBAAmB,sCAAe,GAAG;AACrC;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;;AAGH;AACA,oCAAoC,wDAAG,4BAA4B,wDAAG;AACtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL,QAAQ,KAAgF,EAAE,EAErF;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,yCAAkB;AAC9D;;AAEA,8DAAe,SAAS,EAAC;AACU;;;AC/TnC,IAAI,mEAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA;AACA,GAAG,EAAE,4CAA4C,iBAAiB,+DAA+D,GAAG;AACpI,0DAA0D;AAC1D,8CAA8C,4BAA4B,EAAE;AAC5E,IAAI,4EAAe;;;;;;;;ACNnB,sBAAsB,SAAI,IAAI,SAAI;AAClC,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA,UAAU,8EAA8E;AACxF;AACO,SAAS,sBAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;;;AClBsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,yEAAyE;AACzE;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;;AC5BsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA,QAAQ,sBAAa;AACr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BAAqB,YAAY,wBAAgB;AAClF;;AAEA,SAAS,0BAAkB;AAC3B,SAAS,0BAAkB,SAAS,wBAAgB,SAAS,0BAAkB;AAC/E;;AAEA,SAAS,0BAAkB;AAC3B;AACA,iDAAiD,gBAAgB;;AAEjE;AACA;AACA;;AAEA,SAAS,uBAAe;AACxB;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA,SAAS,6BAAqB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,0BAAkB;AAC3B;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kCAAkC;AAClC;AACA;;AAEA,IAAI,eAAM;AACV,IAAI,iBAAQ;AACZ;AACA;AACA,IAAI,mBAAU,KAAK,eAAM;AACzB,eAAe,iBAAQ,sBAAsB,iBAAQ,gBAAgB,iBAAQ,2CAA2C,iBAAQ;AAChI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAoB;AAC/B,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,cAAc,eAAM;;AAEpB;AACA,gBAAgB,iBAAQ;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iBAAQ,WAAW,iBAAQ;AAC/B;AACA;AACA,gBAAgB,sBAAc;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,qBAAa,GAAG;;AAE9B;;AAEA,aAAa,qBAAa,GAAG;;AAE7B,eAAM;;AAEN,QAAQ,eAAM;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE,iBAAQ;AACV;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA,YAAY,iBAAQ,iEAAiE,iBAAQ;AAC7F,eAAe,iBAAQ;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,qBAAM,2BAA2B,qBAAM,mCAAmC,qBAAM;AACpG;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,eAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,qBAAM;AACV;AACA;;AAEA;AACA,EAAE,qBAAM;AACR;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,eAAe,eAAO;AACtB;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,iBAAQ;AACtB;AACA;AACA,qBAAqB,iBAAQ;AAC7B;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,EAAE,iBAAQ;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wCAAwC,KAAK;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,4CAA4C,wBAAwB,uBAAuB,sBAAsB,sBAAsB;AACvI;AACA;AACA,qCAAqC;AACrC;AACA,GAAG;AACH;AACA;AACA,iCAAiC;AACjC,wEAAwE;AACxE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,yBAAyB,qBAAa;AACtC;AACA,kBAAkB,qBAAa,GAAG;AAClC,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa;AAC7B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA;AACA,oBAAoB,qBAAa,GAAG;AACpC;AACA;AACA;AACA,sBAAsB,qBAAa,GAAG;AACtC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAa,GAAG;AACrD;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH,aAAa,qBAAa,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAa,GAAG;AAC5B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,qBAAa,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA;AACA,GAAG;AACH,+BAA+B,qBAAa,GAAG,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA,cAAc,eAAM;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,iBAAQ;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA,GAAG;AACH;;AAEA,sBAAsB,qBAAa,GAAG;AACtC;AACA,CAAC;;AAED;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC,KAAK;AACL,GAAG;AACH;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,sBAAc;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAc;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,iBAAQ;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,eAAM;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,qBAAa,GAAG;AAC/D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX,wBAAwB,iBAAQ;;AAEhC;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,iDAAiD,sBAAsB,GAAG,qBAAqB,0BAA0B,uBAAuB,gBAAgB,sBAAsB,6BAA6B,GAAG,yBAAyB,6BAA6B,GAAG,0BAA0B,oBAAoB,GAAG,0BAA0B,mBAAmB,GAAG,0BAA0B,oBAAoB,GAAG,0BAA0B,kBAAkB,GAAG,0BAA0B,oBAAoB,GAAG,0BAA0B,mBAAmB,GAAG,0BAA0B,oBAAoB,GAAG,0BAA0B,iBAAiB,GAAG,0BAA0B,oBAAoB,GAAG,2BAA2B,mBAAmB,GAAG,2BAA2B,oBAAoB,GAAG,2BAA2B,kBAAkB,GAAG,2BAA2B,oBAAoB,GAAG,2BAA2B,mBAAmB,GAAG,2BAA2B,oBAAoB,GAAG,2BAA2B,eAAe,GAAG,2BAA2B,oBAAoB,GAAG,2BAA2B,mBAAmB,GAAG,2BAA2B,oBAAoB,GAAG,2BAA2B,kBAAkB,GAAG,gCAAgC,wBAAwB,gBAAgB,GAAG,iCAAiC,uBAAuB,gBAAgB,GAAG,6BAA6B,kBAAkB,GAAG,yBAAyB,eAAe,GAAG,yBAAyB,kBAAkB,GAAG,mCAAmC,cAAc,YAAY,iBAAiB,uBAAuB,aAAa,WAAW,GAAG,gBAAgB,0BAA0B,gBAAgB,uBAAuB,uBAAuB,6BAA6B,eAAe,GAAG,iCAAiC,4CAA4C,4CAA4C,GAAG,yCAAyC,0BAA0B,uBAAuB,uBAAuB,GAAG,qBAAqB,cAAc,aAAa,6CAA6C,6CAA6C,4CAA4C,4CAA4C,GAAG,wBAAwB,8BAA8B,uBAAuB,mCAAmC,mCAAmC,gBAAgB,kBAAkB,mBAAmB,mBAAmB,qBAAqB,qBAAqB,oBAAoB,aAAa,4BAA4B,WAAW,mCAAmC,mCAAmC,wCAAwC,wCAAwC,GAAG,6BAA6B,cAAc,aAAa,cAAc,mCAAmC,mCAAmC,2CAA2C,2CAA2C,GAAG,4BAA4B,cAAc,YAAY,gBAAgB,cAAc,mCAAmC,mCAAmC,0CAA0C,0CAA0C,GAAG,0BAA0B,aAAa,WAAW,mCAAmC,mCAAmC,wCAAwC,wCAAwC,GAAG,yBAAyB,YAAY,gBAAgB,WAAW,mCAAmC,mCAAmC,uCAAuC,uCAAuC,GAAG,YAAY,8BAA8B,wBAAwB,8BAA8B,GAAG,YAAY,sBAAsB,GAAG,YAAY,uBAAuB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,YAAY,mBAAmB,GAAG,aAAa,oBAAoB,GAAG,YAAY,uBAAuB,kBAAkB,GAAG,YAAY,0BAA0B,uBAAuB,oBAAoB,GAAG,eAAe,uBAAuB,GAAG,YAAY,eAAe,uBAAuB,uBAAuB,eAAe,yBAAyB,GAAG,gBAAgB,8BAA8B,yBAAyB,iCAAiC,GAAG,mBAAmB,gBAAgB,GAAG,oBAAoB,iBAAiB,GAAG,sGAAsG,wBAAwB,GAAG,yGAAyG,uBAAuB,GAAG,cAAc,kDAAkD,kDAAkD,GAAG,eAAe,oDAAoD,oDAAoD,GAAG,gCAAgC,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,wBAAwB,QAAQ,sCAAsC,sCAAsC,KAAK,UAAU,wCAAwC,wCAAwC,KAAK,GAAG,iBAAiB,6EAA6E,qCAAqC,qCAAqC,GAAG,oBAAoB,6EAA6E,sCAAsC,sCAAsC,GAAG,oBAAoB,6EAA6E,sCAAsC,sCAAsC,GAAG,yBAAyB,uFAAuF,oCAAoC,oCAAoC,GAAG,uBAAuB,uFAAuF,oCAAoC,oCAAoC,GAAG,yDAAyD,uFAAuF,qCAAqC,qCAAqC,GAAG,mJAAmJ,yBAAyB,yBAAyB,GAAG,eAAe,0BAA0B,gBAAgB,uBAAuB,iBAAiB,GAAG,iCAAiC,cAAc,YAAY,iBAAiB,uBAAuB,aAAa,WAAW,GAAG,iCAAiC,gBAAgB,kBAAkB,GAAG,+BAA+B,gBAAgB,iBAAiB,GAAG,iBAAiB,gBAAgB,GAAG,cAAc,cAAc,2BAA2B,gBAAgB,iBAAiB,qBAAqB,eAAe,uBAAuB,eAAe,GAAG,yDAAyD,eAAe,iBAAiB,cAAc,sBAAsB,qBAAqB,gBAAgB,GAAG,iCAAiC,gDAAgD,eAAe,0CAA0C,GAAG,mCAAmC,kDAAkD,iBAAiB,8CAA8C,GAAG,iDAAiD,iBAAiB,8CAA8C,GAAG,mDAAmD,eAAe,0CAA0C,GAAG,2EAA2E,gBAAgB,GAAG,qBAAqB,gBAAgB,GAAG;;AAEtlQ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,uBAAe;;AAEnB;AACA;;AAEA,EAAE,oBAAY;AACd;AACA;AACA;;AAEA,gFAAgF,aAAa;AAC7F;AACA;;AAEA,kEAAkE;AAClE;AACA,iCAAiC,qBAAa,GAAG,8BAA8B;AAC/E;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,sBAAsB,iBAAQ;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,2EAA2E;AAC9H;;AAEA;AACA,wBAAwB,6CAA6C;AACrE;;AAEA,gCAAgC,qBAAa,GAAG;AAChD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,iBAAQ;AACnD;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,mBAAmB,qBAAa;AAChC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD,IAAI,aAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA,yEAAyE,0BAAkB;AAC3F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,0BAAkB;AAC9F;AACA,KAAK;AACL,GAAG;AACH;AACA,IAAI,cAAK;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,kEAAkE,0BAAkB;AACpF,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAI;AACZ;AACA,SAAS,cAAK;AACd;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,iBAAQ;AACtE;AACA;AACA,GAAG;AACH;;AAEuG;;;ACl4EzB;;AAE9E,qEAAqE,qBAAM,mBAAmB,qBAAM;;AAEpG;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,MAAM,KAAgD,EAAE,EAErD,UAAU,KAAwB;AACrC;AACA,GAAG;AACH;AACA;;AAEA,CAAC;AACD,CAAC;;AAED,IAAI,+BAAO;AACX;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;;AAE7D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,GAAG,YAAY,WAAW,WAAW,EAAE;;AAE1C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,IAAI,mBAAU;;AAEd;AACA,EAAE,mBAAU,GAAG,YAAoB;AACnC,CAAC;;AAED;AACA,OAAO,mBAAU;AACjB;;AAEA;AACA;AACA;;AAEA;AACA,uGAAuG;AACvG;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,+BAAO;AAC7D;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qFAAqF,eAAe;AACpG;;AAEA,uBAAuB,IAAI,qBAAqB,6BAA6B,+BAA+B;;AAE5G;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,2CAA2C;AAC3C;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,qFAAqF,eAAe;;AAEpG,uBAAuB,aAAI,oCAAoC;;AAE/D;;;AAGA;AACA;AACA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrhBrE;CAGA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,YACE,iCADF,EAEE,6BAFF,EAGE,iCAHF,EAIE,2BAJF,EAKE,iCALF,EAME,qBANF,EAOE,2BAPF,EAQE,uBA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtKa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,2BAAgD;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACnOa;AACb,eAAe,m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AC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,iCAAiD;AAC/D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;ACzLa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAA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,gCAAgC,mBAAO,CAAC,IAA0C;AAClF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;ACNa;AACb;AACA,mBAAO,CAAC,IAA2B;AACnC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA;AACA;;;;;;;;AC7HA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;ACLD,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvBa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,GAAmB;AACtC,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACVA,cAAc,mBAAO,CAAC,GAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAwB;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACRA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA,gBAAgB,aAAa,EAAE;;;;;;;;ACb/B,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;ACNA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,GAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACrFA,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,UAAU,mBAAO,CAAC,IAAkB;AACpC,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7DA,sBAAsB,mBAAO,CAAC,IAA8B;AAC5D,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gBAAgB,mBAAO,CAAC,IAAkB;AAC1C,aAAa,mBAAO,CAAC,IAA2B;AAChD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,gBAAgB,mBAAO,CAAC,IAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpBA;AACA;AACA;;;;;;;;ACFA;;;;;;;;ACAA,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAA0B;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,WAAW,mBAAO,CAAC,IAAoC;AACvD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACzDA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC5CA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,+BAA+B,2BAA4D;AAC3F,gBAAgB,4BAAgC;AAChD,aAAa,mBAAO,CAAC,IAA4B;AACjD,sBAAsB,mBAAO,CAAC,IAAqC;AACnE,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjFA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;;;;;;;;ACFA,cAAc,mBAAO,CAAC,IAA6B;AACnD,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChCD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;;AAEA;;;;;;;;;ACLa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACNa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,iCAAiC,mBAAO,CAAC,IAA4C;AACrF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,IAAI,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,mBAAmB,0CAA0C;AAC7D,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACrDD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,kBAAkB,mBAAO,CAAC,GAA4B;AACtD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,WAAW,mBAAO,CAAC,GAAmB;AACtC,4BAA4B,mBAAO,CAAC,GAAsC;AAC1E,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;AC7EA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AAE9C;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,cAAc,mBAAO,CAAC,IAAe;AACrC,iBAAiB,mBAAO,CAAC,IAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,IAAgB;AAC1C,oBAAoB,mBAAO,CAAC,IAAyB;AACrD,aAAa,mBAAO,CAAC,IAAU;;AAE/B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACrFa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,IAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,CAAC;;AAED,oBAAoB;AACpB;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;AClBA,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA,cAAc,mBAAO,CAAC,IAAsB;AAC5C,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA,gBAAgB,mBAAO,CAAC,IAAgC;;AAExD;AACA,uCAAuC,IAAI;;;;;;;;ACJ3C;AACA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ba;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;ACvKa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACbA,YAAY,mBAAO,CAAC,IAAoB;AACxC,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,GAAmB;AACtC,oBAAoB,mBAAO,CAAC,GAAsC;AAClE,aAAa,mBAAO,CAAC,IAA4B;AACjD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1GA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;ACRA,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;;ACPa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,kDAAkD,mBAAO,CAAC,IAAwD;AAClH,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,wBAAwB,mBAAO,CAAC,IAA2B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,UAAU,mBAAO,CAAC,IAAkB;AACpC,cAAc,mBAAO,CAAC,GAAsB;AAC5C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,cAAc,iCAA+C;AAC7D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA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B;AACjD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;AC5HD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAA4B;;AAEjD;AACA;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,iCAA+C;;AAE9D;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,kCAAkD;;AAEjE;AACA;AACA,6CAA6C,YAAY,EAAE;;AAE3D;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,qCAAqC,2BA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,YAAY,EAAE;AACzE;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;AChYD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,wCAAwC,cAAc;AACtD,CAAC;AACD;AACA,+BAA+B,cAAc;AAC7C,CAAC;AACD;;AAEA,GAAG,8DAA8D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjGY;AACb,oCAAoC,mBAAO,CAAC,IAAiD;AAC7F,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,yBAAyB,mBAAO,CAAC,IAAkC;AACnE,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAmC;AAChE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAoC;;AAEhE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACrIY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,YAAY,8BAAwC;AACpD,6BAA6B,mBAAO,CAAC,IAAiC;;AAEtE;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;ACXD;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;AACpC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,qBAAqB,2BAAgD;AACrE,gCAAgC,mBAAO,CAAC,IAA0C;;AAElF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,KAAK,6BAA6B;AAClC;AACA,GAAG;AACH;;;;;;;;ACjDA,4BAA4B,mBAAO,CAAC,IAAuC;;AAE3E;AACA;AACA;;;;;;;;;ACJa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,cAAc,mBAAO,CAAC,IAAsB;AAC5C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,oBAAoB,mBAAO,CAAC,GAA4B;AACxD,wBAAwB,mBAAO,CAAC,IAAgC;AAChE,YAAY,mBAAO,CAAC,IAAoB;AACxC,UAAU,mBAAO,CAAC,IAAkB;AACpC,cAAc,mBAAO,CAAC,IAAuB;AAC7C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,yBAAyB,mBAAO,CAAC,EAA4B;AAC7D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gCAAgC,mBAAO,CAAC,IAA4C;AACpF,kCAAkC,mBAAO,CAAC,IAAqD;AAC/F,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,iCAAiC,mBAAO,CAAC,IAA4C;AACrF,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAuB;AAC9C,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,mCAAmC,mBAAO,CAAC,IAAwC;AACnF,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,eAAe,iCAA+C;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD,sBAAsB,yCAAyC,WAAW,IAAI;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtTa;AACb,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,kBAAkB,mBAAO,CAAC,IAAgC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACX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A;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,IAA+B;AACvC,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAyB;AACtD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,eAAe,mBAAO,CAAC,IAAuB;AAC9C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,UAAU,mBAAO,CAAC,IAAkB;AACpC,aAAa,mBAAO,CAAC,IAA4B;AACjD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,aAAa,gCAA+C;AAC5D,cAAc,mBAAO,CAAC,IAAuC;AAC7D,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,4BAA4B,mBAAO,CAAC,IAAkC;AACtE,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;AC7+BD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3uBA,e;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,E;;;;;WCJA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA,2B;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,oB;;;;;UCtBA;UACA;UACA;UACA","file":"CptvPlayerVue.common.js","sourcesContent":["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angle-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f105';\nvar svgPathData = 'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faAngleRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'backward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04a';\nvar svgPathData = 'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chart-bar';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f080';\nvar svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChartBar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-dropper';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1fb';\nvar svgPathData = 'M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeDropper = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'file-video';\nvar width = 384;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1c8';\nvar svgPathData = 'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFileVideo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder-open';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f07c';\nvar svgPathData = 'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFolderOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'forward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04e';\nvar svgPathData = 'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'image';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f03e';\nvar svgPathData = 'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faImage = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'info-circle';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faInfoCircle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'palette';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f53f';\nvar svgPathData = 'M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPalette = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pause';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04c';\nvar svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPause = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'play';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04b';\nvar svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPlay = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'redo-alt';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f2f9';\nvar svgPathData = 'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faRedoAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'spinner';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f110';\nvar svgPathData = 'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faSpinner = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-backward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f048';\nvar svgPathData = 'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-forward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f051';\nvar svgPathData = 'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f0ad';\nvar svgPathData = 'M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D) {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-40[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-40[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=2ecd0be0&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.common.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t630: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8987);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faAngleRight.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faBackward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faEyeDropper.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faFileVideo.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faFolderOpen.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faForward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faImage.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faInfoCircle.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPalette.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPause.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faPlay.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faRedoAlt.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faSpinner.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faStepBackward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faStepForward.js","webpack://cptv-player-vue/./node_modules/@fortawesome/free-solid-svg-icons/faWrench.js","webpack://cptv-player-vue/./node_modules/@soda/get-current-script/index.js","webpack://cptv-player-vue/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://cptv-player-vue/./src/CptvPlayer.vue?f6b0","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://cptv-player-vue/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://cptv-player-vue/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?80a0","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Emit.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Model.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/ModelSync.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/PropSync.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Ref.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://cptv-player-vue/./node_modules/vue-property-decorator/lib/index.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?b17e","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue?322d","webpack://cptv-player-vue/./node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://cptv-player-vue/./src/VideoTracksScrubber.vue","webpack://cptv-player-vue/../cptv-rs/index.js","webpack://cptv-player-vue/../cptv-rs/DefaultColourmap.js","webpack://cptv-player-vue/../cptv-rs/frameRenderUtils.js","webpack://cptv-player-vue/./src/CptvPlayerUtils.ts","webpack://cptv-player-vue/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://cptv-player-vue/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://cptv-player-vue/./src/icons.ts","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://cptv-player-vue/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/vue.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/components.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/env.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/events.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/key-codes.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/props.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/safe-types.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/slots.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/array.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/inspect.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/regex.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/string.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/dom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/events.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/html.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/identity.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/object.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/clone-deep.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/constants/config.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/memoize.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/config.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/props.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/model.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/env.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/warn.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/observe-dom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/loose-equal.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/cache.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/attrs.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/id.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-document.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-root.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listen-on-window.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/normalize-slot.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/normalize-slot.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/get-scope-id.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/scoped-style.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/router.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/listeners.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/link/link.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/button/button.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/button/button-close.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/transition/bv-transition.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/transporter/transporter.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://cptv-player-vue/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/bv-event.class.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/number.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/helpers/modal-manager.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/modal/modal.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/css-escape.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-state.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/layout/col.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/layout/form-row.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-text.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-invalid-feedback.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form/form-valid-feedback.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-group/form-group.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/loose-index-of.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-control.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-custom.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-size.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/mixins/form-radio-check.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-checkbox/form-checkbox.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/form-file/form-file.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/utils/math.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/progress/progress-bar.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/components/progress/progress.js","webpack://cptv-player-vue/./node_modules/bootstrap-vue/src/directives/modal/modal.js","webpack://cptv-player-vue/./src/mp4-export.ts","webpack://cptv-player-vue/./src/CptvPlayer.vue?5558","webpack://cptv-player-vue/./src/CptvPlayer.vue?3c12","webpack://cptv-player-vue/./src/CptvPlayer.vue","webpack://cptv-player-vue/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://cptv-player-vue/./node_modules/core-js/internals/a-function.js","webpack://cptv-player-vue/./node_modules/core-js/internals/a-possible-prototype.js","webpack://cptv-player-vue/./node_modules/core-js/internals/add-to-unscopables.js","webpack://cptv-player-vue/./node_modules/core-js/internals/advance-string-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/an-instance.js","webpack://cptv-player-vue/./node_modules/core-js/internals/an-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer-native.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-buffer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-copy-within.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-fill.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-for-each.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-from.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-includes.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-iteration.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-last-index-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-method-is-strict.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-reduce.js","webpack://cptv-player-vue/./node_modules/core-js/internals/array-species-create.js","webpack://cptv-player-vue/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://cptv-player-vue/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://cptv-player-vue/./node_modules/core-js/internals/classof-raw.js","webpack://cptv-player-vue/./node_modules/core-js/internals/classof.js","webpack://cptv-player-vue/./node_modules/core-js/internals/collection-strong.js","webpack://cptv-player-vue/./node_modules/core-js/internals/collection.js","webpack://cptv-player-vue/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://cptv-player-vue/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://cptv-player-vue/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/create-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/define-iterator.js","webpack://cptv-player-vue/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/descriptors.js","webpack://cptv-player-vue/./node_modules/core-js/internals/document-create-element.js","webpack://cptv-player-vue/./node_modules/core-js/internals/dom-iterables.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-browser.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-ios.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-node.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-user-agent.js","webpack://cptv-player-vue/./node_modules/core-js/internals/engine-v8-version.js","webpack://cptv-player-vue/./node_modules/core-js/internals/enum-bug-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/export.js","webpack://cptv-player-vue/./node_modules/core-js/internals/fails.js","webpack://cptv-player-vue/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://cptv-player-vue/./node_modules/core-js/internals/freezing.js","webpack://cptv-player-vue/./node_modules/core-js/internals/function-bind-context.js","webpack://cptv-player-vue/./node_modules/core-js/internals/function-bind.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-built-in.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-iterator-method.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-iterator.js","webpack://cptv-player-vue/./node_modules/core-js/internals/get-substitution.js","webpack://cptv-player-vue/./node_modules/core-js/internals/global.js","webpack://cptv-player-vue/./node_modules/core-js/internals/has.js","webpack://cptv-player-vue/./node_modules/core-js/internals/hidden-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/host-report-errors.js","webpack://cptv-player-vue/./node_modules/core-js/internals/html.js","webpack://cptv-player-vue/./node_modules/core-js/internals/ie8-dom-define.js","webpack://cptv-player-vue/./node_modules/core-js/internals/ieee754.js","webpack://cptv-player-vue/./node_modules/core-js/internals/indexed-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/inherit-if-required.js","webpack://cptv-player-vue/./node_modules/core-js/internals/inspect-source.js","webpack://cptv-player-vue/./node_modules/core-js/internals/internal-metadata.js","webpack://cptv-player-vue/./node_modules/core-js/internals/internal-state.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-array.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-forced.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-pure.js","webpack://cptv-player-vue/./node_modules/core-js/internals/is-regexp.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterate.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterator-close.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterators-core.js","webpack://cptv-player-vue/./node_modules/core-js/internals/iterators.js","webpack://cptv-player-vue/./node_modules/core-js/internals/microtask.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-promise-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-url.js","webpack://cptv-player-vue/./node_modules/core-js/internals/native-weak-map.js","webpack://cptv-player-vue/./node_modules/core-js/internals/new-promise-capability.js","webpack://cptv-player-vue/./node_modules/core-js/internals/not-a-regexp.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-assign.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-create.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-define-properties.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-define-property.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-keys-internal.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-to-array.js","webpack://cptv-player-vue/./node_modules/core-js/internals/object-to-string.js","webpack://cptv-player-vue/./node_modules/core-js/internals/own-keys.js","webpack://cptv-player-vue/./node_modules/core-js/internals/path.js","webpack://cptv-player-vue/./node_modules/core-js/internals/perform.js","webpack://cptv-player-vue/./node_modules/core-js/internals/promise-resolve.js","webpack://cptv-player-vue/./node_modules/core-js/internals/redefine-all.js","webpack://cptv-player-vue/./node_modules/core-js/internals/redefine.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-exec.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-flags.js","webpack://cptv-player-vue/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://cptv-player-vue/./node_modules/core-js/internals/require-object-coercible.js","webpack://cptv-player-vue/./node_modules/core-js/internals/same-value.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-global.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-species.js","webpack://cptv-player-vue/./node_modules/core-js/internals/set-to-string-tag.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared-key.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared-store.js","webpack://cptv-player-vue/./node_modules/core-js/internals/shared.js","webpack://cptv-player-vue/./node_modules/core-js/internals/species-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-multibyte.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-pad.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-repeat.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-trim-forced.js","webpack://cptv-player-vue/./node_modules/core-js/internals/string-trim.js","webpack://cptv-player-vue/./node_modules/core-js/internals/task.js","webpack://cptv-player-vue/./node_modules/core-js/internals/this-number-value.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-absolute-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-index.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-indexed-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-integer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-length.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-object.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-offset.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-positive-integer.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-primitive.js","webpack://cptv-player-vue/./node_modules/core-js/internals/to-string-tag-support.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-constructor.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://cptv-player-vue/./node_modules/core-js/internals/typed-array-from.js","webpack://cptv-player-vue/./node_modules/core-js/internals/uid.js","webpack://cptv-player-vue/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://cptv-player-vue/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://cptv-player-vue/./node_modules/core-js/internals/well-known-symbol.js","webpack://cptv-player-vue/./node_modules/core-js/internals/whitespaces.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.concat.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.filter.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.find-index.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.find.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.from.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.join.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.slice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.array.splice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.function.name.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.constructor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.assign.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.entries.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.freeze.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.is.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.keys.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.object.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.promise.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.reflect.construct.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.reflect.get.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.exec.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.pad-end.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.pad-start.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.replace.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.split.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.string.trim.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.description.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.symbol.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.every.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.find.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.from.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.join.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.map.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.set.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.some.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.url-search-params.js","webpack://cptv-player-vue/./node_modules/core-js/modules/web.url.js","webpack://cptv-player-vue/./node_modules/regenerator-runtime/runtime.js","webpack://cptv-player-vue/ignored|/Users/jon/Dev/Cacophony/cptv-rs|worker_threads","webpack://cptv-player-vue/webpack/bootstrap","webpack://cptv-player-vue/webpack/runtime/compat get default export","webpack://cptv-player-vue/webpack/runtime/define property getters","webpack://cptv-player-vue/webpack/runtime/get javascript chunk filename","webpack://cptv-player-vue/webpack/runtime/global","webpack://cptv-player-vue/webpack/runtime/hasOwnProperty shorthand","webpack://cptv-player-vue/webpack/runtime/publicPath","webpack://cptv-player-vue/webpack/runtime/jsonp chunk loading","webpack://cptv-player-vue/webpack/startup"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","_s","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_typeof","obj","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","possibleConstructorReturn","_defineProperty","CptvDecoder","onMessage","type","message","data","resolver","url","size","arrayBuffer","path","mapRgba","r","g","b","Viridis","Uint32Array","viridis","Plasma","plasma","Inferno","inferno","Magma","magma","Default","GreyscaleSquared","Greyscale","inc","ColourMaps","renderFrameIntoFrameBuffer","range","max","frameBufferView","frameBuffer","index","frameData","indexUpper","Math","colourMap","getFrameIndexAtTime","totalFramesIncludingBackground","hasBackgroundFrame","time","duration","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","source","forEach","getOwnPropertyDescriptors","defineProperties","COMPONENT_UID_KEY","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICONSTACK","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","MutationObserver","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","IS_JSDOM","indexOf","IS_IE","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","options","passive","addEventListener","removeEventListener","HAS_TOUCH_SUPPORT","documentElement","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","IntersectionObserverEntry","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","CODE_BACKSPACE","CODE_BREAK","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","Date","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","Number","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","RegExp","PROP_TYPE_STRING","String","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","_isNativeFunction","_construct","Parent","Class","a","bind","_wrapNativeSuper","_cache","Map","isNativeFunction","has","get","set","Wrapper","Element","HTMLElement","SVGElement","File","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","concat","createArray","fillFn","mapFn","isFunction","map","flatten","reduce","item","flattenDeep","toType","toRawType","toRawTypeLC","isUndefined","isNull","isEmptyString","isUndefinedOrNull","isUndefinedOrNullOrEmpty","isBoolean","isString","isNumber","isNumeric","RX_NUMBER","isPrimitive","isObject","isPlainObject","isDate","isEvent","Event","isFile","isRegExp","isPromise","catch","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","kebabCase","str","replace","pascalCase","_","c","toUpperCase","charAt","startCase","$1","$2","lowerFirst","trim","upperFirst","escapeRegExp","val","spaces","JSON","stringify","trimLeft","trimRight","lowerCase","upperCase","ELEMENT_PROTO","TABABLE_SELECTOR","join","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","getActiveElement","excludes","activeElement","some","isTag","tag","isActiveElement","isVisible","contains","getStyle","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","prop","style","removeStyle","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","body","offsetParentStyles","toFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","parseEventOptions","eventOn","eventName","handler","eventOff","eventOnOff","on","method","stopEvent","event","preventDefault","propagation","immediatePropagation","stopPropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","stripTags","text","htmlOrText","innerHTML","textContent","identity","x","assign","proto","optionalProps","freeze","getOwnPropertyNames","is","value1","value2","isFrozen","hasOwnProperty","clone","pick","omit","mergeDeep","sortKeys","sort","readonlyDescriptor","cloneDeep","defaultValue","NAME","PROP_NAME","DEFAULT_BREAKPOINT","memoize","cache","argsKey","VueProto","Vue","getConfig","bvConfig","getConfigValue","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUp","breakpoints","getBreakpointsUpCached","getBreakpointsDown","getBreakpointsDownCached","prefixPropName","prefix","unprefixPropName","suffixPropName","suffix","makeProp","requiredOrValidator","validator","required","default","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","memo","makePropConfigurable","componentKey","bvConfigurablePropDefault","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","makeModelMixin","mixin","model","getEnv","fallback","env","process","getNoWarn","warn","console","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","observeDom","callback","$el","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","isEmpty","makePropWatcher","propName","newValue","oldValue","$delete","$data","$set","makePropCacheMixin","proxyPropName","watch","attrsMixin","idMixin","localId_","computed","safeId","mounted","$nextTick","PROP","listenOnDocumentMixin","created","$once","items","handlers","methods","listenDocument","listenOnDocument","listenOffDocument","h","listenOnRootMixin","listenOnRoot","$root","$on","$off","listenOnRootOnce","emitOnRoot","$emit","listenOnWindowMixin","beforeCreate","beforeDestroy","listenWindow","listenOnWindow","listenOffWindow","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","scope","slot","normalizeSlotMixin","scopedSlots","slots","vNodes","getScopeId","vm","$options","_scopeId","scopedStyleMixin","scopedStyleAttrs","scopeId","$parent","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","results","parseQuery","parsed","split","param","parts","shift","isLink","href","to","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","toFallback","hash","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","mixins","inheritAttrs","computedTag","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","eventIsEvent","suppliedHandler","currentTarget","__vue__","render","class","attrs","linkProps","BLinkProps","block","pill","pressed","squared","variant","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","role","autocomplete","BButton","functional","listeners","children","keydown","keyCode","focusin","focusout","componentData","staticClass","mergeData","ariaLabel","content","textVariant","BButtonClose","domProps","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","css","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","container","BVTransporter","immediate","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_superPropBase","property","_get","receiver","base","superPropBase","desc","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","BvModalEvent","trigger","toInteger","NaN","integer","parseInt","isNaN","float","parseFloat","toFixed","precision","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","right","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","idProps","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","isHidden","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","$refs","checkModalOverflow","updateModel","buildEvent","showEvt","emitEvent","doShow","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","returnFocusTo","bvEvent","onDialogMousedown","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","scrollHeight","clientHeight","makeModal","$header","$modalHeader","$closeButton","ref","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","directives","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","escapeChar","cssEscape","firstCharCode","char","charCode","state","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","hasColClasses","BFormRow","inline","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","LEGEND_INTERACTIVE_ELEMENTS","formStateProps","description","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","$input","newIds","oldIds","ids","onLegendClick","tagName","inputs","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","looseIndexOf","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","activated","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formControlProps","formSizeProps","formCustomProps","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","change","handleChange","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","formRadioCheckProps","BFormCheckbox","inject","setIndeterminate","indeterminate","uncheckedValue","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","all","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","file","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","allowed","$createElement","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","onChange","webkitRelativePath","onDragenter","dropEffect","onDragover","onDragleave","onDrop","pointerEvents","dragenter","dragover","dragleave","drop","mathMin","min","mathMax","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","animated","labelHtml","showProgress","showValue","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedVariant","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","progressBarProps","BProgressBarProps","BProgress","provide","progressHeight","$childNodes","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","getTarget","modifiers","reverse","getTriggerElement","setRole","binding","vnode","context","unbind","oldProp","componentUpdated","VBModal","inserted"],"mappings":";;;;;;;;AAAa;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAmB,GAAG,UAAkB;AACxC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAc,GAAG,UAAkB;AACnC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAsB,GAAG,UAAkB;AAC3C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAqB,GAAG,UAAkB;AAC1C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAgB,GAAG,UAAkB;AACrC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;AC5BnB;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;AC9ED;AACA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,IAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACA,oDAAe,IAAI;;;ACtBnB,0BAA0B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ACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,SAAS,uCAAe;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,8BAAO;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL,IAAI;;;AAGJ,6BAA6B;;AAE7B,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,KAAqC,EAAE,EAI1C;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iDAAiD;AACjD,OAAO;AACP;AACA;AACA;AACA,mBAAmB,sCAAe,GAAG;AACrC;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;;AAGH;AACA,oCAAoC,wDAAG,4BAA4B,wDAAG;AACtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL,QAAQ,KAAgF,EAAE,EAErF;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,yCAAkB;AAC9D;;AAEA,8DAAe,SAAS,EAAC;AACU;;;AC/TnC,IAAI,mEAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA;AACA,GAAG,EAAE,4CAA4C,iBAAiB,+DAA+D,GAAG;AACpI,0DAA0D;AAC1D,8CAA8C,4BAA4B,EAAE;AAC5E,IAAI,4EAAe;;;;;;;;ACNnB,sBAAsB,SAAI,IAAI,SAAI;AAClC,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA,UAAU,8EAA8E;AACxF;AACO,SAAS,sBAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;;;AClBsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,yEAAyE;AACzE;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;;AC5BsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA,QAAQ,sBAAa;AACr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BAAqB,YAAY,wBAAgB;AAClF;;AAEA,SAAS,0BAAkB;AAC3B,SAAS,0BAAkB,SAAS,wBAAgB,SAAS,0BAAkB;AAC/E;;AAEA,SAAS,0BAAkB;AAC3B;AACA,iDAAiD,gBAAgB;;AAEjE;AACA;AACA;;AAEA,SAAS,uBAAe;AACxB;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA,SAAS,6BAAqB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,0BAAkB;AAC3B;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kCAAkC;AAClC;AACA;;AAEA,IAAI,eAAM;AACV,IAAI,iBAAQ;AACZ;AACA;AACA,IAAI,mBAAU,KAAK,eAAM;AACzB,eAAe,iBAAQ,sBAAsB,iBAAQ,gBAAgB,iBAAQ,2CAA2C,iBAAQ;AAChI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAoB;AAC/B,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,cAAc,eAAM;;AAEpB;AACA,gBAAgB,iBAAQ;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iBAAQ,WAAW,iBAAQ;AAC/B;AACA;AACA,gBAAgB,sBAAc;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,qBAAa,GAAG;;AAE9B;;AAEA,aAAa,qBAAa,GAAG;;AAE7B,eAAM;;AAEN,QAAQ,eAAM;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE,iBAAQ;AACV;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA,YAAY,iBAAQ,iEAAiE,iBAAQ;AAC7F,eAAe,iBAAQ;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,qBAAM,2BAA2B,qBAAM,mCAAmC,qBAAM;AACpG;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,eAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,qBAAM;AACV;AACA;;AAEA;AACA,EAAE,qBAAM;AACR;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,eAAe,eAAO;AACtB;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,iBAAQ;AACtB;AACA;AACA,qBAAqB,iBAAQ;AAC7B;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,EAAE,iBAAQ;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wCAAwC,KAAK;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,4CAA4C,wBAAwB,uBAAuB,sBAAsB,sBAAsB;AACvI;AACA;AACA,qCAAqC;AACrC;AACA,GAAG;AACH;AACA;AACA,iCAAiC;AACjC,wEAAwE;AACxE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,yBAAyB,qBAAa;AACtC;AACA,kBAAkB,qBAAa,GAAG;AAClC,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa;AAC7B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA;AACA,oBAAoB,qBAAa,GAAG;AACpC;AACA;AACA;AACA,sBAAsB,qBAAa,GAAG;AACtC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAa,GAAG;AACrD;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH,aAAa,qBAAa,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAa,GAAG;AAC5B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,qBAAa,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA;AACA,GAAG;AACH,+BAA+B,qBAAa,GAAG,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA,cAAc,eAAM;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,iBAAQ;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA,GAAG;AACH;;AAEA,sBAAsB,qBAAa,GAAG;AACtC;AACA,CAAC;;AAED;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC,KAAK;AACL,GAAG;AACH;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,sBAAc;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAc;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,iBAAQ;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,2EAA2E;AAC9H;;AAEA;AACA,wBAAwB,6CAA6C;AACrE;;AAEA,gCAAgC,qBAAa,GAAG;AAChD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,iBAAQ;AACnD;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,mBAAmB,qBAAa;AAChC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD,IAAI,aAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA,yEAAyE,0BAAkB;AAC3F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,0BAAkB;AAC9F;AACA,KAAK;AACL,GAAG;AACH;AACA,IAAI,cAAK;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,kEAAkE,0BAAkB;AACpF,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAI;AACZ;AACA,SAAS,cAAK;AACd;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,iBAAQ;AACtE;AACA;AACA,GAAG;AACH;;AAEuG;;;ACl4EzB;;AAE9E,qEAAqE,qBAAM,mBAAmB,qBAAM;;AAEpG;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,MAAM,KAAgD,EAAE,EAErD,UAAU,KAAwB;AACrC;AACA,GAAG;AACH;AACA;;AAEA,CAAC;AACD,CAAC;;AAED,IAAI,+BAAO;AACX;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;;AAE7D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,GAAG,YAAY,WAAW,WAAW,EAAE;;AAE1C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,IAAI,mBAAU;;AAEd;AACA,EAAE,mBAAU,GAAG,YAAoB;AACnC,CAAC;;AAED;AACA,OAAO,mBAAU;AACjB;;AAEA;AACA;AACA;;AAEA;AACA,uGAAuG;AACvG;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,+BAAO;AAC7D;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qFAAqF,eAAe;AACpG;;AAEA,uBAAuB,IAAI,qBAAqB,6BAA6B,+BAA+B;;AAE5G;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,2CAA2C;AAC3C;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,qFAAqF,eAAe;;AAEpG,uBAAuB,aAAI,oCAAoC;;AAE/D;;;AAGA;AACA;AACA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrhBrE;CAGA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,YACE,iCADF,EAEE,6BAFF,EAGE,iCAHF,EAIE,2BAJF,EAKE,iCALF,EAME,qBANF,EAOE,2BAPF,EAQE,uBA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CA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtKa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,2BAAgD;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG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AAC,IAA0B;AACnD,cAAc,mBAAO,CAAC,GAAsB;AAC5C,qBAAqB,mBAAO,CAAC,GAA8B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,iCAAiD;AAC/D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;ACzLa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AA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IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAuB;AAC9C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,gCAAgC,mBAAO,CAAC,IAA0C;AAClF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;ACNa;AACb;AACA,mBAAO,CAAC,IAA2B;AACnC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA;AACA;;;;;;;;AC7HA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;ACLD,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvBa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,GAAmB;AACtC,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACVA,cAAc,mBAAO,CAAC,GAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAwB;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACRA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA,gBAAgB,aAAa,EAAE;;;;;;;;ACb/B,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;ACNA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,GAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACrFA,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACX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ChD,aAAa,mBAAO,CAAC,IAA4B;AACjD,sBAAsB,mBAAO,CAAC,IAAqC;AACnE,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjFA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;;;;;;;;ACFA,cAAc,mBAAO,CAAC,IAA6B;AACnD,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChCD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;;AAEA;;;;;;;;;ACLa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;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AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,cAAc,mBAAO,CAAC,IAAe;AACrC,iBAAiB,mBAAO,CAAC,IAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,IAAgB;AAC1C,oBAAoB,mBAAO,CAAC,IAAyB;AACrD,aAAa,mBAAO,CAAC,IAAU;;AAE/B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACrFa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,IAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,CAAC;;AAED,oBAAoB;AACpB;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;AClBA,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA,cAAc,mBAAO,CAAC,IAAsB;AAC5C,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA,gBAAgB,mBAAO,CAAC,IAAgC;;AAExD;AACA,uCAAuC,IAAI;;;;;;;;ACJ3C;AACA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ba;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;ACvKa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACbA,YAAY,mBAAO,CAAC,IAAoB;AACxC,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,GAAmB;AACtC,oBAAoB,mBAAO,CAAC,GAAsC;AAClE,aAAa,mBAAO,CAAC,IAA4B;AACjD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1GA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;ACRA,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;;ACPa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,kDAAkD,mBAAO,CAAC,IAAwD;AAClH,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,wBAAwB,mBAAO,CAAC,IAA2B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,UAAU,mBAAO,CAAC,IAAkB;AACpC,cAAc,mBAAO,CAAC,GAAsB;AAC5C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,cAAc,iCAA+C;AAC7D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACrOrC;AACA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gCAAgC,kDAAwE;;AAExG;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,6BAA6B,+CAAqE;AAClG,yBAAyB,mBAAO,CAAC,IAAkC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,WAAW,mBAAO,CAAC,IAAoC;AACvD,6BAA6B,+CAAqE;;AAElG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA;AACA,oBAAoB,mBAAO,CAAC,GAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D,SAAS;;;;;;;;ACFT,aAAa,mBAAO,CAAC,IAAqB;AAC1C,aAAa,mBAAO,CAAC,IAAq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O,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,GAAgC;AAC9D,aAAa,mBAAO,CAAC,IAA4B;AACjD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;AC5HD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAA4B;;AAEjD;AACA;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,iCAA+C;;AAE9D;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,kCAAkD;;AAEjE;AACA;AACA,6CAA6C,YAAY,EAAE;;AAE3D;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,QAAQ,mBAAO,CAAC,IAAqB;AACrC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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,YAAY,EAAE;AACzE;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;AChYD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,wCAAwC,cAAc;AACtD,CAAC;AACD;AACA,+BAA+B,cAAc;AAC7C,CAAC;AACD;;AAEA,GAAG,8DAA8D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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GAA+B;AAC7D,iBAAiB,mBAAO,CAAC,IAAmC;;AAE5D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjGY;AACb,oCAAoC,mBAAO,CAAC,IAAiD;AAC7F,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,yBAAyB,mBAAO,CAAC,IAAkC;AACnE,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAmC;AAChE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAoC;;AAEhE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AAC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;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtTa;AACb,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,kBAAkB,mB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ACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,IAA+B;AACvC,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAyB;AACtD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,eAAe,mBAAO,CAAC,IAAuB;AAC9C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,UAAU,mBAAO,CAAC,IAAkB;AACpC,aAAa,mBAAO,CAAC,IAA4B;AACjD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,aAAa,gCAA+C;AAC5D,cAAc,mBAAO,CAAC,IAAuC;AAC7D,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,4BAA4B,mBAAO,CAAC,IAAkC;AACtE,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;AC7+BD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3uBA,e;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,E;;;;;WCJA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA,2B;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,oB;;;;;UCtBA;UACA;UACA;UACA","file":"CptvPlayerVue.common.js","sourcesContent":["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angle-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f105';\nvar svgPathData = 'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faAngleRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'backward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04a';\nvar svgPathData = 'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chart-bar';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f080';\nvar svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChartBar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-dropper';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1fb';\nvar svgPathData = 'M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeDropper = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'file-video';\nvar width = 384;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1c8';\nvar svgPathData = 'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFileVideo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder-open';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f07c';\nvar svgPathData = 'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFolderOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'forward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04e';\nvar svgPathData = 'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'image';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f03e';\nvar svgPathData = 'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faImage = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'info-circle';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faInfoCircle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'palette';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f53f';\nvar svgPathData = 'M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPalette = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pause';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04c';\nvar svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPause = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'play';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04b';\nvar svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPlay = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'redo-alt';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f2f9';\nvar svgPathData = 'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faRedoAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'spinner';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f110';\nvar svgPathData = 'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faSpinner = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-backward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f048';\nvar svgPathData = 'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-forward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f051';\nvar svgPathData = 'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f0ad';\nvar svgPathData = 'M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D): void {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-40[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-40[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-40[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=f769d71a&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.common.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t630: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(6361);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/CptvPlayerVue.umd.js b/dist/CptvPlayerVue.umd.js index 376c94d..9590709 100644 --- a/dist/CptvPlayerVue.umd.js +++ b/dist/CptvPlayerVue.umd.js @@ -725,7 +725,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/***/ 1740: +/***/ 8242: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -760,7 +760,7 @@ if (typeof window !== 'undefined') { // Indicate to webpack that this file can be concatenated /* harmony default export */ const setPublicPath = (null); -;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b2ba098c-vue-loader-template"}!./node_modules/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!./node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./src/CptvPlayer.vue?vue&type=template&id=2ecd0be0& +;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b2ba098c-vue-loader-template"}!./node_modules/vue-loader-v15/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!./node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./src/CptvPlayer.vue?vue&type=template&id=f769d71a& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['cptv-player', { 'stand-alone': _vm.standAlone }]},[_c('div',{key:"container",ref:"container",staticClass:"video-container"},[_c('canvas',{key:"base",ref:"canvas",class:['video-canvas', { smoothed: _vm.smoothed }]}),_c('canvas',{key:"overlay",ref:"overlayCanvas",staticClass:"overlay-canvas"}),_c('span',{key:"messaging",class:['player-messaging', { show: _vm.playerMessage !== null }],domProps:{"innerHTML":_vm._s(_vm.playerMessage)}}),_c('span',{directives:[{name:"show",rawName:"v-show",value:(_vm.showValueInfo),expression:"showValueInfo"}],key:"px-value",ref:"valueTooltip",staticClass:"value-tooltip"},[_vm._v(_vm._s(_vm.valueUnderCursor)+" ")]),(_vm.openUserDefinedCptvFile)?_c('div',{key:"openUserFile",staticClass:"playback-controls show"},[_c('b-form-file',{staticClass:"cptv-drop-area",attrs:{"accept":".cptv","state":_vm.userSuppliedFile !== null,"placeholder":"Choose a CPTV file or drop one here...","drop-placeholder":"Drop file here..."},model:{value:(_vm.userSuppliedFile),callback:function ($$v) {_vm.userSuppliedFile=$$v},expression:"userSuppliedFile"}})],1):_vm._e(),_c('div',{key:"buffering",class:[ 'playback-controls', { show: _vm.isBuffering && !_vm.openUserDefinedCptvFile } ]},[_c('font-awesome-icon',{staticClass:"fa-spin buffering",attrs:{"icon":"spinner","size":"4x"}})],1),_c('div',{key:"playback-controls",class:[ @@ -13440,7 +13440,7 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { switch (_context2.prev = _context2.next) { case 0: if (this.totalFrames) { - _context2.next = 12; + _context2.next = 13; break; } @@ -13455,19 +13455,20 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { break; } - return _context2.abrupt("break", 12); + return _context2.abrupt("break", 13); case 6: CptvPlayervue_type_script_lang_ts_frames.push(frame); - _context2.next = 9; + this.loadedFrames = CptvPlayervue_type_script_lang_ts_frames.length; + _context2.next = 10; return cptvDecoder.getTotalFrames(); - case 9: + case 10: this.totalFrames = _context2.sent; _context2.next = 0; break; - case 12: + case 13: case "end": return _context2.stop(); } @@ -13623,7 +13624,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { }, { key: "firstFrameForTrack", value: function firstFrameForTrack(trackIndex) { - var frameForTrack = Object.entries(this.processedTracks).find(function (_ref4) { + var frameForTrack = Object.entries(this.processedTracks // eslint-disable-next-line @typescript-eslint/no-unused-vars + ).find(function (_ref4) { var _ref5 = _slicedToArray(_ref4, 2), _ = _ref5[0], tracks = _ref5[1]; @@ -13635,7 +13637,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { }, { key: "onPastLastFrameForTrack", value: function onPastLastFrameForTrack(trackIndex) { - var entries = Object.entries(this.processedTracks); + var entries = Object.entries(this.processedTracks); // eslint-disable-next-line @typescript-eslint/no-unused-vars + var firstFrameForTrackIndex = entries.findIndex(function (_ref6) { var _ref7 = _slicedToArray(_ref6, 2), _ = _ref7[0], @@ -13644,7 +13647,8 @@ var CptvPlayerComponent = /*#__PURE__*/function (_Vue) { return Object.keys(tracks).map(Number).includes(trackIndex); }); var fromStartOfTrack = entries.slice(firstFrameForTrackIndex); - var onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(function (_ref8) { + var onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex( // eslint-disable-next-line @typescript-eslint/no-unused-vars + function (_ref8) { var _ref9 = _slicedToArray(_ref8, 2), _ = _ref9[0], tracks = _ref9[1]; @@ -25514,7 +25518,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__3507__; /******/ // startup /******/ // Load entry module and return exports /******/ // This entry module doesn't tell about it's top-level declarations so it can't be inlined -/******/ var __webpack_exports__ = __webpack_require__(1740); +/******/ var __webpack_exports__ = __webpack_require__(8242); /******/ __webpack_exports__ = __webpack_exports__.default; /******/ /******/ return __webpack_exports__; diff --git a/dist/CptvPlayerVue.umd.js.map b/dist/CptvPlayerVue.umd.js.map index 82cd73d..1e4705a 100644 --- a/dist/CptvPlayerVue.umd.js.map +++ b/dist/CptvPlayerVue.umd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://CptvPlayerVue/webpack/universalModuleDefinition","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faAngleRight.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faEyeDropper.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFileVideo.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFolderOpen.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faImage.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faInfoCircle.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPalette.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPause.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPlay.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faRedoAlt.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faSpinner.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faWrench.js","webpack://CptvPlayerVue/./node_modules/@soda/get-current-script/index.js","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://CptvPlayerVue/./src/CptvPlayer.vue?a46f","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://CptvPlayerVue/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?80a0","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Emit.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Model.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/ModelSync.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/PropSync.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Ref.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/index.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?b17e","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?6ea1","webpack://CptvPlayerVue/./node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue","webpack://CptvPlayerVue/../cptv-rs/index.js","webpack://CptvPlayerVue/../cptv-rs/DefaultColourmap.js","webpack://CptvPlayerVue/../cptv-rs/frameRenderUtils.js","webpack://CptvPlayerVue/./src/CptvPlayerUtils.ts","webpack://CptvPlayerVue/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://CptvPlayerVue/./src/icons.ts","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://CptvPlayerVue/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/vue.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/components.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/key-codes.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/props.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/safe-types.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/slots.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/array.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/inspect.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/regex.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/string.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/html.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/identity.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/object.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/clone-deep.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/memoize.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/props.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/model.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/warn.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/observe-dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-equal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/cache.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/attrs.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-document.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-root.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-window.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/get-scope-id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/scoped-style.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/router.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listeners.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/link/link.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button-close.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transition/bv-transition.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transporter/transporter.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/bv-event.class.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/number.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/modal-manager.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/modal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/css-escape.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-state.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/col.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/form-row.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-text.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-invalid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-valid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-group/form-group.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-index-of.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-control.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-custom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-size.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-radio-check.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-checkbox/form-checkbox.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-file/form-file.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/math.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress-bar.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/directives/modal/modal.js","webpack://CptvPlayerVue/./src/mp4-export.ts","webpack://CptvPlayerVue/./src/CptvPlayer.vue?5558","webpack://CptvPlayerVue/./src/CptvPlayer.vue?ec04","webpack://CptvPlayerVue/./src/CptvPlayer.vue","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-function.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-possible-prototype.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/add-to-unscopables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/advance-string-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-instance.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-native.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-fill.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-includes.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-is-strict.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-species-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof-raw.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection-strong.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/document-create-element.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/dom-iterables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-browser.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-ios.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-node.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-user-agent.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-v8-version.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/enum-bug-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/export.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fails.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/freezing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind-context.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-built-in.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-substitution.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/has.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/hidden-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/host-report-errors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/html.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ie8-dom-define.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ieee754.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inherit-if-required.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inspect-source.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-metadata.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-state.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-pure.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterate.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterator-close.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/microtask.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-promise-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-url.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-weak-map.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/new-promise-capability.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/not-a-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-assign.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys-internal.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/own-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/path.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/perform.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/promise-resolve.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine-all.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-flags.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/require-object-coercible.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/same-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-species.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-to-string-tag.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-key.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-store.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/species-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-multibyte.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-repeat.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/task.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/this-number-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-absolute-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-length.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-offset.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-positive-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-primitive.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-string-tag-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/whitespaces.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.concat.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.splice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.function.name.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.assign.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.entries.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.freeze.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.keys.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.promise.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.construct.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.get.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.exec.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-end.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-start.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.replace.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.split.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.trim.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.description.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.every.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.set.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.some.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url-search-params.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url.js","webpack://CptvPlayerVue/./node_modules/regenerator-runtime/runtime.js","webpack://CptvPlayerVue/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://CptvPlayerVue/ignored|/Users/jon/Dev/Cacophony/cptv-rs|worker_threads","webpack://CptvPlayerVue/webpack/bootstrap","webpack://CptvPlayerVue/webpack/runtime/compat get default export","webpack://CptvPlayerVue/webpack/runtime/define property getters","webpack://CptvPlayerVue/webpack/runtime/get javascript chunk filename","webpack://CptvPlayerVue/webpack/runtime/global","webpack://CptvPlayerVue/webpack/runtime/hasOwnProperty shorthand","webpack://CptvPlayerVue/webpack/runtime/publicPath","webpack://CptvPlayerVue/webpack/runtime/jsonp chunk loading","webpack://CptvPlayerVue/webpack/startup"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","_s","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_typeof","obj","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","possibleConstructorReturn","_defineProperty","CptvDecoder","onMessage","type","message","data","resolver","url","size","arrayBuffer","path","mapRgba","r","g","b","Viridis","Uint32Array","viridis","Plasma","plasma","Inferno","inferno","Magma","magma","Default","GreyscaleSquared","Greyscale","inc","ColourMaps","renderFrameIntoFrameBuffer","range","max","frameBufferView","frameBuffer","index","frameData","indexUpper","Math","colourMap","getFrameIndexAtTime","totalFramesIncludingBackground","hasBackgroundFrame","time","duration","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","source","forEach","getOwnPropertyDescriptors","defineProperties","COMPONENT_UID_KEY","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICONSTACK","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","MutationObserver","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","IS_JSDOM","indexOf","IS_IE","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","options","passive","addEventListener","removeEventListener","HAS_TOUCH_SUPPORT","documentElement","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","IntersectionObserverEntry","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","CODE_BACKSPACE","CODE_BREAK","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","Date","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","Number","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","RegExp","PROP_TYPE_STRING","String","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","_isNativeFunction","_construct","Parent","Class","a","bind","_wrapNativeSuper","_cache","Map","isNativeFunction","has","get","set","Wrapper","Element","HTMLElement","SVGElement","File","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","concat","createArray","fillFn","mapFn","isFunction","map","flatten","reduce","item","flattenDeep","toType","toRawType","toRawTypeLC","isUndefined","isNull","isEmptyString","isUndefinedOrNull","isUndefinedOrNullOrEmpty","isBoolean","isString","isNumber","isNumeric","RX_NUMBER","isPrimitive","isObject","isPlainObject","isDate","isEvent","Event","isFile","isRegExp","isPromise","catch","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","kebabCase","str","replace","pascalCase","_","c","toUpperCase","charAt","startCase","$1","$2","lowerFirst","trim","upperFirst","escapeRegExp","val","spaces","JSON","stringify","trimLeft","trimRight","lowerCase","upperCase","ELEMENT_PROTO","TABABLE_SELECTOR","join","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","getActiveElement","excludes","activeElement","some","isTag","tag","isActiveElement","isVisible","contains","getStyle","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","prop","style","removeStyle","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","body","offsetParentStyles","toFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","parseEventOptions","eventOn","eventName","handler","eventOff","eventOnOff","on","method","stopEvent","event","preventDefault","propagation","immediatePropagation","stopPropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","stripTags","text","htmlOrText","innerHTML","textContent","identity","x","assign","proto","optionalProps","freeze","getOwnPropertyNames","is","value1","value2","isFrozen","hasOwnProperty","clone","pick","omit","mergeDeep","sortKeys","sort","readonlyDescriptor","cloneDeep","defaultValue","NAME","PROP_NAME","DEFAULT_BREAKPOINT","memoize","cache","argsKey","VueProto","Vue","getConfig","bvConfig","getConfigValue","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUp","breakpoints","getBreakpointsUpCached","getBreakpointsDown","getBreakpointsDownCached","prefixPropName","prefix","unprefixPropName","suffixPropName","suffix","makeProp","requiredOrValidator","validator","required","default","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","memo","makePropConfigurable","componentKey","bvConfigurablePropDefault","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","makeModelMixin","mixin","model","getEnv","fallback","env","process","getNoWarn","warn","console","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","observeDom","callback","$el","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","isEmpty","makePropWatcher","propName","newValue","oldValue","$delete","$data","$set","makePropCacheMixin","proxyPropName","watch","attrsMixin","idMixin","localId_","computed","safeId","mounted","$nextTick","PROP","listenOnDocumentMixin","created","$once","items","handlers","methods","listenDocument","listenOnDocument","listenOffDocument","h","listenOnRootMixin","listenOnRoot","$root","$on","$off","listenOnRootOnce","emitOnRoot","$emit","listenOnWindowMixin","beforeCreate","beforeDestroy","listenWindow","listenOnWindow","listenOffWindow","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","scope","slot","normalizeSlotMixin","scopedSlots","slots","vNodes","getScopeId","vm","$options","_scopeId","scopedStyleMixin","scopedStyleAttrs","scopeId","$parent","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","results","parseQuery","parsed","split","param","parts","shift","isLink","href","to","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","toFallback","hash","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","mixins","inheritAttrs","computedTag","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","eventIsEvent","suppliedHandler","currentTarget","__vue__","render","class","attrs","linkProps","BLinkProps","block","pill","pressed","squared","variant","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","role","autocomplete","BButton","functional","listeners","children","keydown","keyCode","focusin","focusout","componentData","staticClass","mergeData","ariaLabel","content","textVariant","BButtonClose","domProps","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","css","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","container","BVTransporter","immediate","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_superPropBase","property","_get","receiver","base","superPropBase","desc","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","BvModalEvent","trigger","toInteger","NaN","integer","parseInt","isNaN","float","parseFloat","toFixed","precision","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","right","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","idProps","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","isHidden","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","$refs","checkModalOverflow","updateModel","buildEvent","showEvt","emitEvent","doShow","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","returnFocusTo","bvEvent","onDialogMousedown","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","scrollHeight","clientHeight","makeModal","$header","$modalHeader","$closeButton","ref","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","directives","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","escapeChar","cssEscape","firstCharCode","char","charCode","state","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","hasColClasses","BFormRow","inline","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","LEGEND_INTERACTIVE_ELEMENTS","formStateProps","description","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","$input","newIds","oldIds","ids","onLegendClick","tagName","inputs","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","looseIndexOf","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","activated","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formControlProps","formSizeProps","formCustomProps","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","change","handleChange","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","formRadioCheckProps","BFormCheckbox","inject","setIndeterminate","indeterminate","uncheckedValue","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","all","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","file","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","allowed","$createElement","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","onChange","webkitRelativePath","onDragenter","dropEffect","onDragover","onDragleave","onDrop","pointerEvents","dragenter","dragover","dragleave","drop","mathMin","min","mathMax","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","animated","labelHtml","showProgress","showValue","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedVariant","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","progressBarProps","BProgressBarProps","BProgress","provide","progressHeight","$childNodes","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","getTarget","modifiers","reverse","getTriggerElement","setRole","binding","vnode","context","unbind","oldProp","componentUpdated","VBModal","inserted"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;ACVa;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAmB,GAAG,UAAkB;AACxC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAc,GAAG,UAAkB;AACnC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAsB,GAAG,UAAkB;AAC3C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAqB,GAAG,UAAkB;AAC1C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAgB,GAAG,UAAkB;AACrC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;AC5BnB;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;AC9ED;AACA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,IAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA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ACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,SAAS,uCAAe;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,8BAAO;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL,IAAI;;;AAGJ,6BAA6B;;AAE7B,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,KAAqC,EAAE,EAI1C;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iDAAiD;AACjD,OAAO;AACP;AACA;AACA;AACA,mBAAmB,sCAAe,GAAG;AACrC;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;;AAGH;AACA,oCAAoC,wDAAG,4BAA4B,wDAAG;AACtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL,QAAQ,KAAgF,EAAE,EAErF;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,yCAAkB;AAC9D;;AAEA,8DAAe,SAAS,EAAC;AACU;;;AC/TnC,IAAI,mEAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA;AACA,GAAG,EAAE,4CAA4C,iBAAiB,+DAA+D,GAAG;AACpI,0DAA0D;AAC1D,8CAA8C,4BAA4B,EAAE;AAC5E,IAAI,4EAAe;;;;;;;;ACNnB,sBAAsB,SAAI,IAAI,SAAI;AAClC,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA,UAAU,8EAA8E;AACxF;AACO,SAAS,sBAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;;;AClBsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,yEAAyE;AACzE;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;;AC5BsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACO;AA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;;AAEA,SAAS,sBAAc;AACvB,SAAS,uBAAe,SAAS,6BAAqB,YAAY,wBAAgB;AAClF;;AAEA,SAAS,0BAAkB;AAC3B,SAAS,0BAAkB,SAAS,wBAAgB,SAAS,0BAAkB;AAC/E;;AAEA,SAAS,0BAAkB;AAC3B;AACA,iDAAiD,gBAAgB;;AAEjE;AACA;AACA;;AAEA,SAAS,uBAAe;AACxB;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA,SAAS,6BAAqB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,0BAAkB;AAC3B;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kCAAkC;AAClC;AACA;;AAEA,IAAI,eAAM;AACV,IAAI,iBAAQ;AACZ;AACA;AACA,IAAI,mBAAU,KAAK,eAAM;AACzB,eAAe,iBAAQ,sBAAsB,iBAAQ,gBAAgB,iBAAQ,2CAA2C,iBAAQ;AAChI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAoB;AAC/B,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,cAAc,eAAM;;AAEpB;AACA,gBAAgB,iBAAQ;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iBAAQ,WAAW,iBAAQ;AAC/B;AACA;AACA,gBAAgB,sBAAc;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,qBAAa,GAAG;;AAE9B;;AAEA,aAAa,qBAAa,GAAG;;AAE7B,eAAM;;AAEN,QAAQ,eAAM;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE,iBAAQ;AACV;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA,YAAY,iBAAQ,iEAAiE,iBAAQ;AAC7F,eAAe,iBAAQ;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,qBAAM,2BAA2B,qBAAM,mCAAmC,qBAAM;AACpG;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,eAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,qBAAM;AACV;AACA;;AAEA;AACA,EAAE,qBAAM;AACR;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,eAAe,eAAO;AACtB;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,iBAAQ;AACtB;AACA;AACA,qBAAqB,iBAAQ;AAC7B;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,EAAE,iBAAQ;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wCAAwC,KAAK;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,4CAA4C,wBAAwB,uBAAuB,sBAAsB,sBAAsB;AACvI;AACA;AACA,qCAAqC;AACrC;AACA,GAAG;AACH;AACA;AACA,iCAAiC;AACjC,wEAAwE;AACxE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,yBAAyB,qBAAa;AACtC;AACA,kBAAkB,qBAAa,GAAG;AAClC,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa;AAC7B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA;AACA,oBAAoB,qBAAa,GAAG;AACpC;AACA;AACA;AACA,sBAAsB,qBAAa,GAAG;AACtC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAa,GAAG;AACrD;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH,aAAa,qBAAa,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAa,GAAG;AAC5B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,qBAAa,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA;AACA,GAAG;AACH,+BAA+B,qBAAa,GAAG,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA,cAAc,eAAM;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,iBAAQ;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA,GAAG;AACH;;AAEA,sBAAsB,qBAAa,GAAG;AACtC;AACA,CAAC;;AAED;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC,KAAK;AACL,GAAG;AACH;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,sBAAc;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAc;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,iBAAQ;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL,GAA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CA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,2EAA2E;AAC9H;;AAEA;AACA,wBAAwB,6CAA6C;AACrE;;AAEA,gCAAgC,qBAAa,GAAG;AAChD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,iBAAQ;AACnD;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,mBAAmB,qBAAa;AAChC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD,IAAI,aAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA,yEAAyE,0BAAkB;AAC3F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,0BAAkB;AAC9F;AACA,KAAK;AACL,GAAG;AACH;AACA,IAAI,cAAK;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,kEAAkE,0BAAkB;AACpF,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAI;AACZ;AACA,SAAS,cAAK;AACd;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,iBAAQ;AACtE;AACA;AACA,GAAG;AACH;;AAEuG;;;ACl4EzB;;AAE9E,qEAAqE,qBAAM,mBAAmB,qBAAM;;AAEpG;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,MAAM,KAAgD,EAAE,EAErD,UAAU,KAAwB;AACrC;AACA,GAAG;AACH;AACA;;AAEA,CAAC;AACD,CAAC;;AAED,IAAI,+BAAO;AACX;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;;AAE7D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,GAAG,YAAY,WAAW,WAAW,EAAE;;AAE1C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,IAAI,mBAAU;;AAEd;AACA,EAAE,mBAAU,GAAG,YAAoB;AACnC,CAAC;;AAED;AACA,OAAO,mBAAU;AACjB;;AAEA;AACA;AACA;;AAEA;AACA,uGAAuG;AACvG;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,+BAAO;AAC7D;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qFAAqF,eAAe;AACpG;;AAEA,uBAAuB,IAAI,qBAAqB,6BAA6B,+BAA+B;;AAE5G;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,2CAA2C;AAC3C;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,qFAAqF,eAAe;;AAEpG,uBAAuB,aAAI,oCAAoC;;AAE/D;;;AAGA;AACA;AACA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrhBrE;CAGA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,YACE,iCADF,EAEE,6BAFF,EAGE,iCAHF,EAIE,2BAJF,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;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtKa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,2BAAgD;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA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BAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACZA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS,EAAE;AACzD,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrCA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,IAAoC;AACxE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzBa;AACb,qBAAqB,2BAAgD;AACrE,aAAa,mBAAO,CAAC,EAA4B;AACjD,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,WAAW,mBAAO,CAAC,IAAoC;AACvD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,cAAc,mBAAO,CAAC,GAAsB;AAC5C,qBAAqB,mBAAO,CAAC,GAA8B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,iCAAiD;AAC/D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;ACzLa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AA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IAAuB;AAC9C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,gCAAgC,mBAAO,CAAC,IAA0C;AAClF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;ACNa;AACb;AACA,mBAAO,CAAC,IAA2B;AACnC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA;AACA;;;;;;;;AC7HA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;ACLD,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvBa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,GAAmB;AACtC,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACVA,cAAc,mBAAO,CAAC,GAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAwB;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACRA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA,gBAAgB,aAAa,EAAE;;;;;;;;ACb/B,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;ACNA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,GAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACrFA,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,UAAU,mBAAO,CAAC,IAAkB;AACpC,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7DA,sBAAsB,mBAAO,CAAC,IAA8B;AAC5D,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gBAAgB,mBAAO,CAAC,IAAkB;AAC1C,aAAa,mBAAO,CAAC,IAA2B;AAChD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,gBAAgB,mBAAO,CAAC,IAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpBA;AACA;AACA;;;;;;;;ACFA;;;;;;;;ACAA,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAA0B;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,WAAW,mBAAO,CAAC,IAAoC;AACvD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACzDA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC5CA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,+BAA+B,2BAA4D;AAC3F,gBAAgB,4BAAgC;AAChD,aAAa,mBAAO,CAAC,IAA4B;AACjD,sBAAsB,mBAAO,CAAC,IAAqC;AACnE,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjFA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;;;;;;;;ACFA,cAAc,mBAAO,CAAC,IAA6B;AACnD,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChCD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;;AAEA;;;;;;;;;ACLa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACNa;AACb,kBAAkB,mBAAO,CAA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A;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,cAAc,mBAAO,CAAC,IAAe;AACrC,iBAAiB,mBAAO,CAAC,IAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,IAAgB;AAC1C,oBAAoB,mBAAO,CAAC,IAAyB;AACrD,aAAa,mBAAO,CAAC,IAAU;;AAE/B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACrFa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,IAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,CAAC;;AAED,oBAAoB;AACpB;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;AClBA,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA,cAAc,mBAAO,CAAC,IAAsB;AAC5C,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA,gBAAgB,mBAAO,CAAC,IAAgC;;AAExD;AACA,uCAAuC,IAAI;;;;;;;;ACJ3C;AACA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ba;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;ACvKa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACbA,YAAY,mBAAO,CAAC,IAAoB;AACxC,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,GAAmB;AACtC,oBAAoB,mBAAO,CAAC,GAAsC;AAClE,aAAa,mBAAO,CAAC,IAA4B;AACjD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC1GA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE;;;;;;;;ACRA,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;;;;;;;;ACNA,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;;;;;;;ACNA,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;;ACPa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,kDAAkD,mBAAO,CAAC,IAAwD;AAClH,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,wBAAwB,mBAAO,CAAC,IAA2B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,UAAU,mBAAO,CAAC,IAAkB;AACpC,cAAc,mBAAO,CAAC,GAAsB;AAC5C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,mBAAO,CAAC,IAA+B;AAC5D,cAAc,iCAA+C;AAC7D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AAC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AAO,CAAC,GAAgC;AAC9D,aAAa,mBAAO,CAAC,IAA4B;AACjD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;AC5HD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAA4B;;AAEjD;AACA;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,iCAA+C;;AAE9D;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,kCAAkD;;AAEjE;AACA;AACA,6CAA6C,YAAY,EAAE;;AAE3D;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,YAAY,mBAAO,CAAC,IAAoB;AACxC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AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,YAAY,EAAE;AACzE;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;AChYD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,wCAAwC,cAAc;AACtD,CAAC;AACD;AACA,+BAA+B,cAAc;AAC7C,CAAC;AACD;;AAEA,GAAG,8DAA8D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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C,IAAmC;;AAE5D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjGY;AACb,oCAAoC,mBAAO,CAAC,IAAiD;AAC7F,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,yBAAyB,mBAAO,CAAC,IAAkC;AACnE,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAmC;AAChE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAoC;;AAEhE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA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CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtTa;AACb,0BAA0B,mBAAO,CAAC,GAAqC;AACvE,kBAAkB,mBAAO,CAAC,IAAgC;;AAE1D;AACA;;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;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,IAA+B;AACvC,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAyB;AACtD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,eAAe,mBAAO,CAAC,IAAuB;AAC9C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,UAAU,mBAAO,CAAC,IAAkB;AACpC,aAAa,mBAAO,CAAC,IAA4B;AACjD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,aAAa,gCAA+C;AAC5D,cAAc,mBAAO,CAAC,IAAuC;AAC7D,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,4BAA4B,mBAAO,CAAC,IAAkC;AACtE,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;AC7+BD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3uBA,mD;;;;;;;ACAA,e;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,E;;;;;WCJA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA,2B;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,oB;;;;;UCtBA;UACA;UACA;UACA","file":"CptvPlayerVue.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CptvPlayerVue\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"CptvPlayerVue\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__3507__) {\nreturn ","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angle-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f105';\nvar svgPathData = 'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faAngleRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'backward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04a';\nvar svgPathData = 'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chart-bar';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f080';\nvar svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChartBar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-dropper';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1fb';\nvar svgPathData = 'M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeDropper = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'file-video';\nvar width = 384;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1c8';\nvar svgPathData = 'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFileVideo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder-open';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f07c';\nvar svgPathData = 'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFolderOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'forward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04e';\nvar svgPathData = 'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'image';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f03e';\nvar svgPathData = 'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faImage = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'info-circle';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faInfoCircle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'palette';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f53f';\nvar svgPathData = 'M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPalette = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pause';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04c';\nvar svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPause = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'play';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04b';\nvar svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPlay = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'redo-alt';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f2f9';\nvar svgPathData = 'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faRedoAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'spinner';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f110';\nvar svgPathData = 'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faSpinner = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-backward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f048';\nvar svgPathData = 'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-forward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f051';\nvar svgPathData = 'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f0ad';\nvar svgPathData = 'M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D) {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-82[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-82[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-82[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-82[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=2ecd0be0&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__3507__;","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.umd.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t264: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(1740);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://CptvPlayerVue/webpack/universalModuleDefinition","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faAngleRight.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faEyeDropper.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFileVideo.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFolderOpen.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faImage.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faInfoCircle.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPalette.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPause.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPlay.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faRedoAlt.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faSpinner.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faWrench.js","webpack://CptvPlayerVue/./node_modules/@soda/get-current-script/index.js","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://CptvPlayerVue/./src/CptvPlayer.vue?f6b0","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://CptvPlayerVue/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?80a0","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Emit.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Model.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/ModelSync.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/PropSync.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Ref.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/index.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?b17e","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?6ea1","webpack://CptvPlayerVue/./node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue","webpack://CptvPlayerVue/../cptv-rs/index.js","webpack://CptvPlayerVue/../cptv-rs/DefaultColourmap.js","webpack://CptvPlayerVue/../cptv-rs/frameRenderUtils.js","webpack://CptvPlayerVue/./src/CptvPlayerUtils.ts","webpack://CptvPlayerVue/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://CptvPlayerVue/./src/icons.ts","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://CptvPlayerVue/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/vue.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/components.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/key-codes.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/props.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/safe-types.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/slots.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/array.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/inspect.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/regex.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/string.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/html.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/identity.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/object.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/clone-deep.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/memoize.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/props.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/model.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/warn.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/observe-dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-equal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/cache.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/attrs.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-document.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-root.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-window.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/get-scope-id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/scoped-style.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/router.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listeners.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/link/link.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button-close.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transition/bv-transition.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transporter/transporter.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/bv-event.class.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/number.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/modal-manager.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/modal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/css-escape.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-state.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/col.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/form-row.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-text.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-invalid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-valid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-group/form-group.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-index-of.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-control.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-custom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-size.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-radio-check.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-checkbox/form-checkbox.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-file/form-file.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/math.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress-bar.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/directives/modal/modal.js","webpack://CptvPlayerVue/./src/mp4-export.ts","webpack://CptvPlayerVue/./src/CptvPlayer.vue?5558","webpack://CptvPlayerVue/./src/CptvPlayer.vue?ec04","webpack://CptvPlayerVue/./src/CptvPlayer.vue","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-function.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-possible-prototype.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/add-to-unscopables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/advance-string-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-instance.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-native.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-fill.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-includes.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-is-strict.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-species-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof-raw.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection-strong.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/document-create-element.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/dom-iterables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-browser.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-ios.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-node.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-user-agent.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-v8-version.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/enum-bug-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/export.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fails.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/freezing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind-context.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-built-in.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-substitution.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/has.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/hidden-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/host-report-errors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/html.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ie8-dom-define.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ieee754.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inherit-if-required.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inspect-source.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-metadata.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-state.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-pure.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterate.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterator-close.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/microtask.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-promise-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-url.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-weak-map.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/new-promise-capability.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/not-a-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-assign.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys-internal.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/own-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/path.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/perform.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/promise-resolve.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine-all.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-flags.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/require-object-coercible.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/same-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-species.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-to-string-tag.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-key.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-store.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/species-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-multibyte.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-repeat.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/task.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/this-number-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-absolute-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-length.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-offset.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-positive-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-primitive.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-string-tag-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/whitespaces.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.concat.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.splice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.function.name.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.assign.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.entries.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.freeze.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.keys.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.promise.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.construct.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.get.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.exec.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-end.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-start.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.replace.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.split.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.trim.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.description.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.every.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.set.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.some.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url-search-params.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url.js","webpack://CptvPlayerVue/./node_modules/regenerator-runtime/runtime.js","webpack://CptvPlayerVue/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://CptvPlayerVue/ignored|/Users/jon/Dev/Cacophony/cptv-rs|worker_threads","webpack://CptvPlayerVue/webpack/bootstrap","webpack://CptvPlayerVue/webpack/runtime/compat get default export","webpack://CptvPlayerVue/webpack/runtime/define property getters","webpack://CptvPlayerVue/webpack/runtime/get javascript chunk filename","webpack://CptvPlayerVue/webpack/runtime/global","webpack://CptvPlayerVue/webpack/runtime/hasOwnProperty shorthand","webpack://CptvPlayerVue/webpack/runtime/publicPath","webpack://CptvPlayerVue/webpack/runtime/jsonp chunk loading","webpack://CptvPlayerVue/webpack/startup"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","undefined","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","_s","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_typeof","obj","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","possibleConstructorReturn","_defineProperty","CptvDecoder","onMessage","type","message","data","resolver","url","size","arrayBuffer","path","mapRgba","r","g","b","Viridis","Uint32Array","viridis","Plasma","plasma","Inferno","inferno","Magma","magma","Default","GreyscaleSquared","Greyscale","inc","ColourMaps","renderFrameIntoFrameBuffer","range","max","frameBufferView","frameBuffer","index","frameData","indexUpper","Math","colourMap","getFrameIndexAtTime","totalFramesIncludingBackground","hasBackgroundFrame","time","duration","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","source","forEach","getOwnPropertyDescriptors","defineProperties","COMPONENT_UID_KEY","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICONSTACK","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","MutationObserver","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","toLowerCase","IS_JSDOM","indexOf","IS_IE","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","options","passive","addEventListener","removeEventListener","HAS_TOUCH_SUPPORT","documentElement","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","IntersectionObserverEntry","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","CODE_BACKSPACE","CODE_BREAK","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","Date","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","Number","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","RegExp","PROP_TYPE_STRING","String","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","_isNativeFunction","_construct","Parent","Class","a","bind","_wrapNativeSuper","_cache","Map","isNativeFunction","has","get","set","Wrapper","Element","HTMLElement","SVGElement","File","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","concat","createArray","fillFn","mapFn","isFunction","map","flatten","reduce","item","flattenDeep","toType","toRawType","toRawTypeLC","isUndefined","isNull","isEmptyString","isUndefinedOrNull","isUndefinedOrNullOrEmpty","isBoolean","isString","isNumber","isNumeric","RX_NUMBER","isPrimitive","isObject","isPlainObject","isDate","isEvent","Event","isFile","isRegExp","isPromise","catch","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","kebabCase","str","replace","pascalCase","_","c","toUpperCase","charAt","startCase","$1","$2","lowerFirst","trim","upperFirst","escapeRegExp","val","spaces","JSON","stringify","trimLeft","trimRight","lowerCase","upperCase","ELEMENT_PROTO","TABABLE_SELECTOR","join","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","getActiveElement","excludes","activeElement","some","isTag","tag","isActiveElement","isVisible","contains","getStyle","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","setStyle","prop","style","removeStyle","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","body","offsetParentStyles","toFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","parseEventOptions","eventOn","eventName","handler","eventOff","eventOnOff","on","method","stopEvent","event","preventDefault","propagation","immediatePropagation","stopPropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","stripTags","text","htmlOrText","innerHTML","textContent","identity","x","assign","proto","optionalProps","freeze","getOwnPropertyNames","is","value1","value2","isFrozen","hasOwnProperty","clone","pick","omit","mergeDeep","sortKeys","sort","readonlyDescriptor","cloneDeep","defaultValue","NAME","PROP_NAME","DEFAULT_BREAKPOINT","memoize","cache","argsKey","VueProto","Vue","getConfig","bvConfig","getConfigValue","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUp","breakpoints","getBreakpointsUpCached","getBreakpointsDown","getBreakpointsDownCached","prefixPropName","prefix","unprefixPropName","suffixPropName","suffix","makeProp","requiredOrValidator","validator","required","default","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","memo","makePropConfigurable","componentKey","bvConfigurablePropDefault","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","makeModelMixin","mixin","model","getEnv","fallback","env","process","getNoWarn","warn","console","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","observeDom","callback","$el","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","isEmpty","makePropWatcher","propName","newValue","oldValue","$delete","$data","$set","makePropCacheMixin","proxyPropName","watch","attrsMixin","idMixin","localId_","computed","safeId","mounted","$nextTick","PROP","listenOnDocumentMixin","created","$once","items","handlers","methods","listenDocument","listenOnDocument","listenOffDocument","h","listenOnRootMixin","listenOnRoot","$root","$on","$off","listenOnRootOnce","emitOnRoot","$emit","listenOnWindowMixin","beforeCreate","beforeDestroy","listenWindow","listenOnWindow","listenOffWindow","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","scope","slot","normalizeSlotMixin","scopedSlots","slots","vNodes","getScopeId","vm","$options","_scopeId","scopedStyleMixin","scopedStyleAttrs","scopeId","$parent","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","results","parseQuery","parsed","split","param","parts","shift","isLink","href","to","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","toFallback","hash","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","mixins","inheritAttrs","computedTag","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","eventIsEvent","suppliedHandler","currentTarget","__vue__","render","class","attrs","linkProps","BLinkProps","block","pill","pressed","squared","variant","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","role","autocomplete","BButton","functional","listeners","children","keydown","keyCode","focusin","focusout","componentData","staticClass","mergeData","ariaLabel","content","textVariant","BButtonClose","domProps","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","css","BVTransporterTarget","abstract","nodes","updatedNodes","destroyed","$nodes","container","BVTransporter","immediate","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","createElement","appendChild","propsData","defaultFn","$destroy","_superPropBase","property","_get","receiver","base","superPropBase","desc","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","BvModalEvent","trigger","toInteger","NaN","integer","parseInt","isNaN","float","parseFloat","toFixed","precision","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","right","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributes","attributeFilter","idProps","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","title","titleClass","titleHtml","titleSrOnly","titleTag","BModal","isHidden","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","show","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","$refs","checkModalOverflow","updateModel","buildEvent","showEvt","emitEvent","doShow","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","returnFocusTo","bvEvent","onDialogMousedown","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","scrollHeight","clientHeight","makeModal","$header","$modalHeader","$closeButton","ref","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","directives","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","escapeChar","cssEscape","firstCharCode","char","charCode","state","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","hasColClasses","BFormRow","inline","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","LEGEND_INTERACTIVE_ELEMENTS","formStateProps","description","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","$input","newIds","oldIds","ids","onLegendClick","tagName","inputs","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","looseIndexOf","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","activated","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formControlProps","formSizeProps","formCustomProps","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","change","handleChange","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","formRadioCheckProps","BFormCheckbox","inject","setIndeterminate","indeterminate","uncheckedValue","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","all","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","file","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","allowed","$createElement","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","onChange","webkitRelativePath","onDragenter","dropEffect","onDragover","onDragleave","onDrop","pointerEvents","dragenter","dragover","dragleave","drop","mathMin","min","mathMax","mathAbs","abs","mathCeil","ceil","mathFloor","floor","mathPow","pow","mathRound","round","animated","labelHtml","showProgress","showValue","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedVariant","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","progressBarProps","BProgressBarProps","BProgress","provide","progressHeight","$childNodes","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","getTarget","modifiers","reverse","getTriggerElement","setRole","binding","vnode","context","unbind","oldProp","componentUpdated","VBModal","inserted"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;ACVa;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB,GAAG,UAAkB;AACvC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAmB,GAAG,UAAkB;AACxC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAoB,GAAG,UAAkB;AACzC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAe,GAAG,UAAkB;AACpC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAc,GAAG,UAAkB;AACnC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAiB,GAAG,UAAkB;AACtC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAsB,GAAG,UAAkB;AAC3C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAqB,GAAG,UAAkB;AAC1C,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;;;AC5BN;AACb,6BAA6C,CAAC,cAAc,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAgB,GAAG,UAAkB;AACrC,yBAAc;AACd,yBAAgB;AAChB,yBAAa;AACb,yBAAc;AACd,yBAAiB;AACjB,yBAAe;AACf,yBAAmB,e;;;;;;;AC5BnB;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;;;;AC9ED;AACA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,IAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA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ACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,SAAS,uCAAe;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,8BAAO;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL,IAAI;;;AAGJ,6BAA6B;;AAE7B,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,MAAM,KAAqC,EAAE,EAI1C;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iDAAiD;AACjD,OAAO;AACP;AACA;AACA;AACA,mBAAmB,sCAAe,GAAG;AACrC;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;;AAGH;AACA,oCAAoC,wDAAG,4BAA4B,wDAAG;AACtE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA;AACA;;AAEA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL,QAAQ,KAAgF,EAAE,EAErF;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,yCAAkB;AAC9D;;AAEA,8DAAe,SAAS,EAAC;AACU;;;AC/TnC,IAAI,mEAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB;AAC1G;AACA;AACA,GAAG,EAAE,4CAA4C,iBAAiB,+DAA+D,GAAG;AACpI,0DAA0D;AAC1D,8CAA8C,4BAA4B,EAAE;AAC5E,IAAI,4EAAe;;;;;;;;ACNnB,sBAAsB,SAAI,IAAI,SAAI;AAClC,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA,UAAU,8EAA8E;AACxF;AACO,SAAS,sBAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;;;AClBsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,yEAAyE;AACzE;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;;AC5BsD;AACF;AACpD;AACA;AACA;AACA;AACA;AACO;AA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;;AAEA,SAAS,sBAAc;AACvB,SAAS,uBAAe,SAAS,6BAAqB,YAAY,wBAAgB;AAClF;;AAEA,SAAS,0BAAkB;AAC3B,SAAS,0BAAkB,SAAS,wBAAgB,SAAS,0BAAkB;AAC/E;;AAEA,SAAS,0BAAkB;AAC3B;AACA,iDAAiD,gBAAgB;;AAEjE;AACA;AACA;;AAEA,SAAS,uBAAe;AACxB;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA,SAAS,6BAAqB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,0BAAkB;AAC3B;AACA;;AAEA,SAAS,wBAAgB;AACzB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,kCAAkC;AAClC;AACA;;AAEA,IAAI,eAAM;AACV,IAAI,iBAAQ;AACZ;AACA;AACA,IAAI,mBAAU,KAAK,eAAM;AACzB,eAAe,iBAAQ,sBAAsB,iBAAQ,gBAAgB,iBAAQ,2CAA2C,iBAAQ;AAChI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAoB;AAC/B,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED,cAAc,eAAM;;AAEpB;AACA,gBAAgB,iBAAQ;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iBAAQ,WAAW,iBAAQ;AAC/B;AACA;AACA,gBAAgB,sBAAc;AAC9B;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,qBAAa,GAAG;;AAE9B;;AAEA,aAAa,qBAAa,GAAG;;AAE7B,eAAM;;AAEN,QAAQ,eAAM;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE,iBAAQ;AACV;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA,YAAY,iBAAQ,iEAAiE,iBAAQ;AAC7F,eAAe,iBAAQ;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,qBAAM,2BAA2B,qBAAM,mCAAmC,qBAAM;AACpG;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,eAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,qBAAM;AACV;AACA;;AAEA;AACA,EAAE,qBAAM;AACR;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,eAAe,eAAO;AACtB;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,iBAAQ;AACtB;AACA;AACA,qBAAqB,iBAAQ;AAC7B;;AAEA,uCAAuC,QAAQ;AAC/C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,EAAE,iBAAQ;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wCAAwC,KAAK;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,4CAA4C,wBAAwB,uBAAuB,sBAAsB,sBAAsB;AACvI;AACA;AACA,qCAAqC;AACrC;AACA,GAAG;AACH;AACA;AACA,iCAAiC;AACjC,wEAAwE;AACxE,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,yBAAyB,qBAAa;AACtC;AACA,kBAAkB,qBAAa,GAAG;AAClC,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,qBAAa;AAC7B;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA;AACA,oBAAoB,qBAAa,GAAG;AACpC;AACA;AACA;AACA,sBAAsB,qBAAa,GAAG;AACtC,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAa,GAAG;AACrD;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;AACA;AACA,kBAAkB,qBAAa,GAAG;AAClC;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH,aAAa,qBAAa,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAa,GAAG;AAC5B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,qBAAa,GAAG;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,qBAAa,GAAG;AACnC;AACA,GAAG,KAAK;AACR;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,MAAM;AAClB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA;AACA,GAAG;AACH,+BAA+B,qBAAa,GAAG,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA,cAAc,eAAM;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,iBAAQ;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA,GAAG;AACH;;AAEA,sBAAsB,qBAAa,GAAG;AACtC;AACA,CAAC;;AAED;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC;AACA,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC,KAAK;AACL,GAAG;AACH;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,cAAc,qBAAa,GAAG;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA,gBAAgB,qBAAa,GAAG;AAChC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,sBAAc;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAc;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,iBAAQ;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL,GAA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CA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,2EAA2E;AAC9H;;AAEA;AACA,wBAAwB,6CAA6C;AACrE;;AAEA,gCAAgC,qBAAa,GAAG;AAChD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,iBAAQ;AACnD;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA,mBAAmB,qBAAa;AAChC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD,IAAI,aAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,iBAAiB,qBAAa,GAAG;AACjC;AACA;AACA;AACA;AACA,yEAAyE,0BAAkB;AAC3F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,0BAAkB;AAC9F;AACA,KAAK;AACL,GAAG;AACH;AACA,IAAI,cAAK;AACT;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,kEAAkE,0BAAkB;AACpF,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,aAAI;AACZ;AACA,SAAS,cAAK;AACd;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,iBAAQ;AACtE;AACA;AACA,GAAG;AACH;;AAEuG;;;ACl4EzB;;AAE9E,qEAAqE,qBAAM,mBAAmB,qBAAM;;AAEpG;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,MAAM,KAAgD,EAAE,EAErD,UAAU,KAAwB;AACrC;AACA,GAAG;AACH;AACA;;AAEA,CAAC;AACD,CAAC;;AAED,IAAI,+BAAO;AACX;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;;AAE7D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA,iEAAiE,aAAa;AAC9E;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,GAAG,YAAY,WAAW,WAAW,EAAE;;AAE1C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;AACA,6CAA6C;AAC7C;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA,IAAI,mBAAU;;AAEd;AACA,EAAE,mBAAU,GAAG,YAAoB;AACnC,CAAC;;AAED;AACA,OAAO,mBAAU;AACjB;;AAEA;AACA;AACA;;AAEA;AACA,uGAAuG;AACvG;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,+BAAO;AAC7D;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qFAAqF,eAAe;AACpG;;AAEA,uBAAuB,IAAI,qBAAqB,6BAA6B,+BAA+B;;AAE5G;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,2CAA2C;AAC3C;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,mBAAmB;AAC1C;;;AAGA;;AAEA,qFAAqF,eAAe;;AAEpG,uBAAuB,aAAI,oCAAoC;;AAE/D;;;AAGA;AACA;AACA;;AAEA;;AAEA,uCAAuC;AACvC;AACA;;AAEqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrhBrE;CAGA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,YACE,iCADF,EAEE,6BAFF,EAGE,iCAHF,EAIE,2BAJF,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AC9D,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtKa;AACb,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,0BAA0B,mBAAO,CAAC,IAAkC;AACpE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,cAAc,mBAAO,CAAC,IAAsB;AAC5C,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,0BAA0B,2BAAuD;AACjF,qBAAqB,2BAAgD;AACrE,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACnOa;AACb,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;AC7Ba;AACb,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,eAAe,iCAA+C;AAC9D,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,WAAW,mBAAO,CAAC,IAAoC;AACvD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,mCAAmC,mBAAO,CAAC,IAA+C;AAC1F,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAA8B;AAC3D,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mCAAmC;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,eAAe,mBAAO,CAAC,IAAwB;AAC/C,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,IAAoC;AACvD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,yBAAyB,mBAAO,CAAC,IAAmC;;AAEpE;;AAEA,qBAAqB,gEAAgE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS;AACT,+BAA+B;AAC/B,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvEa;AACb;AACA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,0BAA0B,mBAAO,CAAC,IAAqC;;AAEvE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA,CAAC;;;;;;;;ACzBD,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,iBAAiB,mBAAO,CAAC,IAAgC;;AAEzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;;;;;;;;AClBa;AACb,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,SAAS,EAAE;AAC1D,GAAG;AACH;;;;;;;;ACTA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uCAAuC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACnBA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACZA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS,EAAE;AACzD,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrCA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;ACJA,4BAA4B,mBAAO,CAAC,IAAoC;AACxE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzBa;AACb,qBAAqB,2BAAgD;AACrE,aAAa,mBAAO,CAAC,EAA4B;AACjD,kBAAkB,mBAAO,CAAC,IAA2B;AACrD,WAAW,mBAAO,CAAC,IAAoC;AACvD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,cAAc,mBAAO,CAAC,GAAsB;AAC5C,qBAAqB,mBAAO,CAAC,GAA8B;AAC3D,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,cAAc,iCAAiD;AAC/D,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;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1C,+BAA+B,2BAA4D;AAC3F,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,eAAe,mBAAO,CAAC,IAAuB;AAC9C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,gCAAgC,mBAAO,CAAC,IAA0C;AAClF,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;ACNa;AACb;AACA,mBAAO,CAAC,IAA2B;AACnC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;;AAEA,2BAA2B,mBAAmB,aAAa;;AAE3D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA,2BAA2B,uCAAuC;AAClE;AACA;;AAEA;AACA;;;;;;;;AC7HA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;ACLD,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvBa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,GAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,GAAmB;AACtC,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACVA,cAAc,mBAAO,CAAC,GAAsB;AAC5C,gBAAgB,mBAAO,CAAC,IAAwB;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;;AAElE;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACRA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACvCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qBAAM,gBAAgB,qBAAM;AAC3C;AACA,gBAAgB,aAAa,EAAE;;;;;;;;ACb/B,eAAe,mBAAO,CAAC,IAAwB;;AAE/C,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;ACNA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,iBAAiB,mBAAO,CAAC,IAA2B;;AAEpD;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,oBAAoB,mBAAO,CAAC,GAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,qBAAqB;AAC7B;AACA;AACA,QAAQ,oBAAoB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACrFA,YAAY,mBAAO,CAAC,IAAoB;AACxC,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACZD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXA,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,UAAU,mBAAO,CAAC,IAAkB;AACpC,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7DA,sBAAsB,mBAAO,CAAC,IAA8B;AAC5D,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gBAAgB,mBAAO,CAAC,IAAkB;AAC1C,aAAa,mBAAO,CAAC,IAA2B;AAChD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,iBAAiB,mBAAO,CAAC,IAA0B;;AAEnD;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,gBAAgB,mBAAO,CAAC,IAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,cAAc,mBAAO,CAAC,IAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpBA;AACA;AACA;;;;;;;;ACFA;;;;;;;;ACAA,eAAe,mBAAO,CAAC,GAAwB;AAC/C,cAAc,mBAAO,CAAC,IAA0B;AAChD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,eAAe,mBAAO,CAAC,IAAwB;AAC/C,WAAW,mBAAO,CAAC,IAAoC;AACvD,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACzDA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,YAAY,mBAAO,CAAC,IAAoB;AACxC,qBAAqB,mBAAO,CAAC,IAAsC;AACnE,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;AC5CA;;;;;;;;ACAA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,+BAA+B,2BAA4D;AAC3F,gBAAgB,4BAAgC;AAChD,aAAa,mBAAO,CAAC,IAA4B;AACjD,sBAAsB,mBAAO,CAAC,IAAqC;AACnE,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjFA,aAAa,mBAAO,CAAC,IAAqB;;AAE1C;;;;;;;;ACFA,cAAc,mBAAO,CAAC,IAA6B;AACnD,iBAAiB,mBAAO,CAAC,IAAgC;AACzD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,cAAc,mBAAO,CAAC,IAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChCD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;;AAEA;;;;;;;;;ACLa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACNa;AACb,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,YAAY,mBAAO,CAAC,IAAoB;AACxC,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,kCAAkC,mBAAO,CAAC,IAA8C;AACxF,iCAAiC,mBAAO,CAAC,IAA4C;AACrF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,oBAAoB,mBAAO,CAAC,IAA6B;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,IAAI,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,mBAAmB,0CAA0C;AAC7D,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACrDD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,kBAAkB,mBAAO,CAAC,GAA4B;AACtD,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,WAAW,mBAAO,CAAC,GAAmB;AACtC,4BAA4B,mBAAO,CAAC,GAAsC;AAC1E,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;AC7EA,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,2BAA2B,mBAAO,C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AwB;AAC/C,2BAA2B,mBAAO,CAAC,IAAqC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,IAAuB;;AAE9C;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,UAAU,mBAAO,CAAC,IAAkB;AACpC,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,oBAAoB,mBAAO,CAAC,IAA6B;AACzD,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACvCD,cAAc,mBAAO,CAAC,IAAe;AACrC,iBAAiB,mBAAO,CAAC,IAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,IAAgB;AAC1C,oBAAoB,mBAAO,CAAC,IAAyB;AACrD,aAAa,mBAAO,CAAC,IAAU;;AAE/B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACrFa;AACb,eAAe,mBAAO,CAAC,IAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACfa;;AAEb,YAAY,mBAAO,CAAC,IAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,CAAC;;AAED,oBAAoB;AACpB;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,kCAAkC,mBAAO,CAAC,IAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;ACTa;AACb,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,2BAA2B,mBAAO,CAAC,IAAqC;AACxE,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA;;;;;;;;AClBA,qBAAqB,2BAAgD;AACrE,UAAU,mBAAO,CAAC,IAAkB;AACpC,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA,uCAAuC,iCAAiC;AACxE;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,UAAU,mBAAO,CAAC,IAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,gBAAgB,mBAAO,CAAC,IAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;ACNA,cAAc,mBAAO,CAAC,IAAsB;AAC5C,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA;AACA,gBAAgB,mBAAO,CAAC,IAAgC;;AAExD;AACA,uCAAuC,IAAI;;;;;;;;ACJ3C;AACA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,aAAa,mBAAO,CAAC,IAA4B;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ba;AACb;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAmC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;;ACvKa;AACb,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACbA,YAAY,mBAAO,CAAC,IAAoB;AACxC,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,kBAAkB,mBAAO,CAAC,IAA0B;;AAEpD;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,WAAW,mBAAO,CAAC,IAAoC;AACvD,WAAW,mBAAO,CAAC,GAAmB;AACtC,oBAAoB,mBAAO,CAAC,GAAsC;AAClE,aAAa,mBAAO,CAAC,IAA4B;AACjD,cAAc,mBAAO,CAAC,IAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;A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;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACrOrC;AACA,aAAa,mBAAO,CAAC,IAAqB;AAC1C,YAAY,mBAAO,CAAC,IAAoB;AACxC,kCAAkC,mBAAO,CAAC,IAA6C;AACvF,gCAAgC,kDAAwE;;AAExG;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,6BAA6B,+CAAqE;AAClG,yBAAyB,mBAAO,CAAC,IAAkC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,4BAA4B,mBAAO,CAAC,IAAuC;AAC3E,WAAW,mBAAO,CAAC,IAAoC;AACvD,6BAA6B,+CAAqE;;AAElG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;;;;;;;;ACLA;AACA,oBAAoB,mBAAO,CAAC,GAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D,SAAS;;;;;;;;ACFT,aAAa,mB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b,QAAQ,mBAAO,CAAC,IAAqB;AACrC,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,sBAAsB,mBAAO,CAAC,GAAgC;AAC9D,aAAa,mBAAO,CAAC,IAA4B;AACjD,YAAY,mBAAO,CAAC,IAAoB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;AC5HD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAA4B;;AAEjD;AACA;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,iCAA+C;;AAE9D;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,kCAAkD;;AAEjE;AACA;AACA,6CAA6C,YAAY,EAAE;;AAE3D;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA,CAAC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,YAAY,EAAE;AACzE;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA,CAAC;;AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,GAAG,eAAe;;AAEvB;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;AChYD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,GAAwB;AAC/C,aAAa,mBAAO,CAAC,EAA4B;AACjD,WAAW,mBAAO,CAAC,IAA4B;AAC/C,YAAY,mBAAO,CAAC,IAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,wCAAwC,cAAc;AACtD,CAAC;AACD;AACA,+BAA+B,cAAc;AAC7C,CAAC;AACD;;AAEA,GAAG,8DAA8D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AClDD,QAAQ,mBAAO,CAAC,IAAqB;AACrC,eAAe,mBAAO,CAAC,GAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,UAAU,mBAAO,CAAC,IAAkB;AACpC,qCAAqC,mBAAO,CAAC,IAAiD;AAC9F,qBAAqB,mBAAO,CAAC,IAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,gCAAgC;AACnC;AACA,CAAC;;;;;;;;ACvBD,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAkC;AAClE,qBAAqB,2BAAgD;AACrE,0BAA0B,2BAAuD;AACjF,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAA2B;AAClD,oBAAoB,mBAAO,CAAC,IAAoC;AAChE,eAAe,mBAAO,CAAC,IAAuB;AAC9C,YAAY,mBAAO,CAAC,IAAoB;AACxC,2BAA2B,iCAA8C;AACzE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,sBAAsB,mBAAO,CAAC,IAAgC;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B,EAAE;AACpD,0BAA0B,wBAAwB;AAClD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACtFa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,WAAW,mBAAO,CAAC,IAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;ACRY;AACb,eAAe,mBAAO,CAAC,IAAuB;AAC9C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,YAAY,mBAAO,CAAC,IAAoB;AACxC,YAAY,mBAAO,CAAC,IAA2B;;AAE/C;AACA;AACA;;AAEA,qCAAqC,6BAA6B,0BAA0B,YAAY,EAAE;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;;;;;;;;ACxBa;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,2BAA2B,mBAAO,CAAC,IAAsC;;AAEzE;AACA;AACA,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,aAAa,gCAA+C;AAC5D,0BAA0B,mBAAO,CAAC,IAA6B;AAC/D,qBAAqB,mBAAO,CAAC,GAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;AC5BY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,cAAc,6BAAsC;AACpD,iBAAiB,mBAAO,CAAC,IAAoC;;AAE7D;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,gBAAgB,+BAAwC;AACxD,iBAAiB,mBAAO,CAAC,IAAoC;;AAE7D;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,oCAAoC,mBAAO,CAAC,IAAiD;AAC7F,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,sBAAsB,mBAAO,CAAC,GAA+B;AAC7D,iBAAiB,mBAAO,CAAC,IAAmC;;AAE5D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjGY;AACb,oCAAoC,mBAAO,CAAC,IAAiD;AAC7F,eAAe,mBAAO,CAAC,IAAwB;AAC/C,eAAe,mBAAO,CAAC,IAAwB;AAC/C,6BAA6B,mBAAO,CAAC,IAAuC;AAC5E,yBAAyB,mBAAO,CAAC,IAAkC;AACnE,yBAAyB,mBAAO,CAAC,IAAmC;AACpE,eAAe,mBAAO,CAAC,IAAwB;AAC/C,qBAAqB,mBAAO,CAAC,IAAmC;AAChE,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,oBAAoB,mBAAO,CAAC,IAAoC;;AAEhE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA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AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtTa;AAC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ACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kDAAkD;AAC1E;AACA,OAAO,6DAA6D,kCAAkC;AACtG,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,oCAAoC;AAC5D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK,+CAA+C;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;;AC1Va;AACb;AACA,mBAAO,CAAC,IAA+B;AACvC,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,qBAAqB,mBAAO,CAAC,GAAyB;AACtD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,uBAAuB,mBAAO,CAAC,IAAuC;AACtE,eAAe,mBAAO,CAAC,IAAuB;AAC9C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,UAAU,mBAAO,CAAC,IAAkB;AACpC,aAAa,mBAAO,CAAC,IAA4B;AACjD,gBAAgB,mBAAO,CAAC,IAAyB;AACjD,aAAa,gCAA+C;AAC5D,cAAc,mBAAO,CAAC,IAAuC;AAC7D,qBAAqB,mBAAO,CAAC,IAAgC;AAC7D,4BAA4B,mBAAO,CAAC,IAAkC;AACtE,0BAA0B,mBAAO,CAAC,IAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,yBAAyB,6BAA6B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;AC7+BD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC3uBA,mD;;;;;;;ACAA,e;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,E;;;;;WCJA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,wF;;;;;WCAA,2B;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,oB;;;;;UCtBA;UACA;UACA;UACA","file":"CptvPlayerVue.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CptvPlayerVue\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"CptvPlayerVue\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__3507__) {\nreturn ","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angle-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f105';\nvar svgPathData = 'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faAngleRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'backward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04a';\nvar svgPathData = 'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chart-bar';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f080';\nvar svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChartBar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-dropper';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1fb';\nvar svgPathData = 'M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeDropper = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'file-video';\nvar width = 384;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1c8';\nvar svgPathData = 'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFileVideo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder-open';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f07c';\nvar svgPathData = 'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFolderOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'forward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04e';\nvar svgPathData = 'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'image';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f03e';\nvar svgPathData = 'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faImage = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'info-circle';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faInfoCircle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'palette';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f53f';\nvar svgPathData = 'M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPalette = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pause';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04c';\nvar svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPause = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'play';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04b';\nvar svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPlay = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'redo-alt';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f2f9';\nvar svgPathData = 'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faRedoAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'spinner';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f110';\nvar svgPathData = 'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faSpinner = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-backward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f048';\nvar svgPathData = 'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-forward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f051';\nvar svgPathData = 'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f0ad';\nvar svgPathData = 'M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D): void {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-82[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-82[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-82[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-82[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=f769d71a&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__3507__;","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.umd.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t264: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8242);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/CptvPlayerVue.umd.min.js b/dist/CptvPlayerVue.umd.min.js index b8c1ec4..8a80880 100644 --- a/dist/CptvPlayerVue.umd.min.js +++ b/dist/CptvPlayerVue.umd.min.js @@ -1,4 +1,4 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["CptvPlayerVue"]=e(require("vue")):t["CptvPlayerVue"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return(()=>{var e={3183:(t,e)=>{"use strict";var r="fas",n="angle-right",i=256,a=512,o=[],s="f105",c="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.yO=e.DF},563:(t,e)=>{"use strict";var r="fas",n="backward",i=512,a=512,o=[],s="f04a",c="M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.DY=e.DF},9186:(t,e)=>{"use strict";var r="fas",n="chart-bar",i=512,a=512,o=[],s="f080",c="M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.ko=e.DF},4227:(t,e)=>{"use strict";var r="fas",n="eye-dropper",i=512,a=512,o=[],s="f1fb",c="M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.KT=e.DF},4980:(t,e)=>{"use strict";var r="fas",n="file-video",i=384,a=512,o=[],s="f1c8",c="M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.hv=e.DF},8792:(t,e)=>{"use strict";var r="fas",n="folder-open",i=576,a=512,o=[],s="f07c",c="M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.cC=e.DF},7353:(t,e)=>{"use strict";var r="fas",n="forward",i=512,a=512,o=[],s="f04e",c="M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.ir=e.DF},8076:(t,e)=>{"use strict";var r="fas",n="image",i=512,a=512,o=[],s="f03e",c="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.Vm=e.DF},2414:(t,e)=>{"use strict";var r="fas",n="info-circle",i=512,a=512,o=[],s="f05a",c="M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.sq=e.DF},102:(t,e)=>{"use strict";var r="fas",n="palette",i=512,a=512,o=[],s="f53f",c="M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.q2=e.DF},6043:(t,e)=>{"use strict";var r="fas",n="pause",i=448,a=512,o=[],s="f04c",c="M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.XQ=e.DF},753:(t,e)=>{"use strict";var r="fas",n="play",i=448,a=512,o=[],s="f04b",c="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.zc=e.DF},2581:(t,e)=>{"use strict";var r="fas",n="redo-alt",i=512,a=512,o=[],s="f2f9",c="M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.tm=e.DF},2332:(t,e)=>{"use strict";var r="fas",n="spinner",i=512,a=512,o=[],s="f110",c="M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.LM=e.DF},4687:(t,e)=>{"use strict";var r="fas",n="step-backward",i=448,a=512,o=[],s="f048",c="M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.uY=e.DF},946:(t,e)=>{"use strict";var r="fas",n="step-forward",i=448,a=512,o=[],s="f051",c="M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.Yb=e.DF},8302:(t,e)=>{"use strict";var r="fas",n="wrench",i=512,a=512,o=[],s="f0ad",c="M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z";e.DF={prefix:r,iconName:n,icon:[i,a,o,s,c]},e.kl=e.DF},7679:function(t,e){var r,n,i;(function(a,o){n=[],r=o,i="function"===typeof r?r.apply(e,n):r,void 0===i||(t.exports=i)})("undefined"!==typeof self&&self,(function(){function t(){var e=Object.getOwnPropertyDescriptor(document,"currentScript");if(!e&&"currentScript"in document&&document.currentScript)return document.currentScript;if(e&&e.get!==t&&document.currentScript)return document.currentScript;try{throw new Error}catch(d){var r,n,i,a=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,o=/@([^@]*):(\d+):(\d+)\s*$/gi,s=a.exec(d.stack)||o.exec(d.stack),c=s&&s[1]||!1,u=s&&s[2]||!1,l=document.location.href.replace(document.location.hash,""),f=document.getElementsByTagName("script");c===l&&(r=document.documentElement.outerHTML,n=new RegExp("(?:[^\\n]+?\\n){0,"+(u-2)+"}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D) {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ) {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-124[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-124[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-124[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-124[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=2ecd0be0&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__3507__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.umd.min.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t174: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8464);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://CptvPlayerVue/webpack/universalModuleDefinition","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faAngleRight.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faChartBar.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faEyeDropper.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFileVideo.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faFolderOpen.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faImage.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faInfoCircle.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPalette.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPause.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faPlay.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faRedoAlt.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faSpinner.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepBackward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faStepForward.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/free-solid-svg-icons/faWrench.js","webpack://CptvPlayerVue/./node_modules/@soda/get-current-script/index.js","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://CptvPlayerVue/./src/CptvPlayer.vue?f6b0","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://CptvPlayerVue/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?80a0","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/helpers/metadata.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Prop.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Ref.js","webpack://CptvPlayerVue/./node_modules/vue-property-decorator/lib/decorators/Watch.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?b17e","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue?264f","webpack://CptvPlayerVue/./node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://CptvPlayerVue/./src/VideoTracksScrubber.vue","webpack://CptvPlayerVue/../cptv-rs/index.js","webpack://CptvPlayerVue/../cptv-rs/DefaultColourmap.js","webpack://CptvPlayerVue/../cptv-rs/frameRenderUtils.js","webpack://CptvPlayerVue/./src/CptvPlayerUtils.ts","webpack://CptvPlayerVue/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://CptvPlayerVue/./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack://CptvPlayerVue/./src/icons.ts","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://CptvPlayerVue/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/vue.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/components.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/key-codes.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/props.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/safe-types.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/slots.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/array.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/inspect.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/regex.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/string.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/events.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/html.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/identity.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/object.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/clone-deep.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/constants/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/memoize.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/config.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/props.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/model.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/env.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/warn.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/observe-dom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-equal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/cache.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/attrs.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-document.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-root.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listen-on-window.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/normalize-slot.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/get-scope-id.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/scoped-style.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/router.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/listeners.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/link/link.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/button/button-close.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transition/bv-transition.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/transporter/transporter.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://CptvPlayerVue/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/bv-event.class.js","webpack://CptvPlayerVue/./src/CptvPlayer.vue?5558","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/number.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/helpers/modal-manager.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/modal/modal.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/css-escape.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-state.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/col.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/layout/form-row.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-text.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-invalid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form/form-valid-feedback.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-group/form-group.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/loose-index-of.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-control.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-custom.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-size.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/mixins/form-radio-check.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-checkbox/form-checkbox.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/form-file/form-file.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/utils/math.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress-bar.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/components/progress/progress.js","webpack://CptvPlayerVue/./node_modules/bootstrap-vue/src/directives/modal/modal.js","webpack://CptvPlayerVue/./src/mp4-export.ts","webpack://CptvPlayerVue/./src/CptvPlayer.vue?2bcf","webpack://CptvPlayerVue/./src/CptvPlayer.vue","webpack://CptvPlayerVue/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-function.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/a-possible-prototype.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/add-to-unscopables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/advance-string-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-instance.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/an-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-native.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-buffer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-fill.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-includes.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-method-is-strict.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/array-species-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof-raw.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/classof.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection-strong.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/collection.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/create-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/document-create-element.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/dom-iterables.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-browser.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-ios.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-node.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-user-agent.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/engine-v8-version.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/enum-bug-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/export.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fails.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/freezing.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind-context.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/function-bind.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-built-in.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/get-substitution.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/has.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/hidden-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/host-report-errors.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/html.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ie8-dom-define.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/ieee754.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inherit-if-required.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/inspect-source.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-metadata.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/internal-state.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-pure.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/is-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterate.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterator-close.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators-core.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/iterators.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/microtask.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-promise-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-url.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/native-weak-map.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/new-promise-capability.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/not-a-regexp.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-assign.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-create.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-properties.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-define-property.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys-internal.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-array.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/object-to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/own-keys.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/path.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/perform.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/promise-resolve.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine-all.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/redefine.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-exec.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-flags.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/require-object-coercible.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/same-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-global.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-species.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/set-to-string-tag.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-key.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared-store.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/shared.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/species-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-multibyte.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-pad.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-repeat.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim-forced.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/string-trim.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/task.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/this-number-value.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-absolute-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-index.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-indexed-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-length.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-object.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-offset.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-positive-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-primitive.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/to-string-tag-support.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/typed-array-from.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/well-known-symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/internals/whitespaces.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.concat.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.array.splice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.function.name.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.assign.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.entries.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.freeze.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is-frozen.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.is.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.keys.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.object.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.promise.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.construct.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.reflect.get.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.exec.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-end.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.pad-start.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.replace.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.split.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.string.trim.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.description.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.symbol.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.every.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.find.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.from.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.join.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.map.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.set.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.some.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url-search-params.js","webpack://CptvPlayerVue/./node_modules/core-js/modules/web.url.js","webpack://CptvPlayerVue/./node_modules/regenerator-runtime/runtime.js","webpack://CptvPlayerVue/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://CptvPlayerVue/webpack/bootstrap","webpack://CptvPlayerVue/webpack/runtime/compat get default export","webpack://CptvPlayerVue/webpack/runtime/define property getters","webpack://CptvPlayerVue/webpack/runtime/get javascript chunk filename","webpack://CptvPlayerVue/webpack/runtime/global","webpack://CptvPlayerVue/webpack/runtime/hasOwnProperty shorthand","webpack://CptvPlayerVue/webpack/runtime/publicPath","webpack://CptvPlayerVue/webpack/runtime/jsonp chunk loading","webpack://CptvPlayerVue/webpack/startup"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__3507__","prefix","iconName","width","height","ligatures","unicode","svgPathData","icon","getCurrentScript","descriptor","Object","getOwnPropertyDescriptor","document","currentScript","get","Error","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","exec","stack","scriptLocation","line","currentLocation","location","href","replace","hash","scripts","getElementsByTagName","documentElement","outerHTML","RegExp","trim","i","length","readyState","src","innerHTML","window","defineProperty","match","render","_vm","_h","$createElement","_c","_self","class","standAlone","key","ref","staticClass","smoothed","show","playerMessage","domProps","_s","directives","name","rawName","value","expression","_v","valueUnderCursor","attrs","userSuppliedFile","model","callback","$$v","_e","isBuffering","openUserDefinedCptvFile","atEndOfPlayback","extLoading","canGoBackwards","on","requestPrevRecording","cptvUrl","$event","togglePlayback","canGoForwards","requestNextRecording","playing","hasVideo","open","showAdvancedControls","toggleAdvancedControls","selected","showDebugTools","toggleDebugTools","toggleSmoothing","staticStyle","incrementPalette","displayHeaderInfo","showHeaderInfo","incrementSpeed","speedMultiplier","loadedFrames","frameNum","secondsSinceLastFFC","toFixed","stepBackward","stepForward","showValueInfo","togglePicker","isShowingBackgroundFrame","hasBackgroundFrame","toggleBackground","exportMp4","ended","actualDuration","tracks","colours","timeAdjustmentForBackgroundFrame","currentTrack","trackIndex","canvasWidth","scrubberSidePadding","startScrub","endScrub","setTimeAndRedraw","devicePixelRatio","headerInfo","isExporting","exportProgress","Math","round","cancelExport","trackExportOptions","$emit","showAdvancedExportOptions","_l","track","index","$set","hasStreamLoadError","streamLoadError","staticRenderFns","_arrayLikeToArray","arr","len","arr2","Array","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","toString","call","slice","constructor","from","test","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","s","done","e","f","TypeError","normalCompletion","didErr","step","next","_e2","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","args","arguments","apply","undefined","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_classCallCheck","instance","Constructor","_defineProperties","target","props","enumerable","configurable","writable","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_typeof","obj","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","result","Super","NewTarget","possibleConstructorReturn","_defineProperty","reflectionIsSupported","defineMetadata","getOwnMetadataKeys","copyReflectionMetadata","to","forwardMetadata","getOwnPropertyNames","forEach","propertyKey","metaKeys","metaKey","metadata","getOwnMetadata","fakeArray","hasProto","Ctor","__decorators__","options","isPrimitive","type","collectDataFromConstructor","vm","Component","originalInit","_init","_this","keys","$options","hasOwnProperty","set","data","plainData","$internalHooks","componentFactory","_componentTag","proto","indexOf","methods","mixins","computed","decorators","superProto","Extended","extend","forwardStaticMembers","shouldIgnore","callee","caller","Original","extendedDescriptor","superDescriptor","registerHooks","style","heightForTracks","assign","background","opacity","trackDimensions","reflectMetadataIsSupported","getMetadata","Prop","componentOptions","k","Ref","refKey","cache","$refs","Watch","path","_a","deep","_b","immediate","handler","watch","getPositionXForEvent","event","MouseEvent","x","TouchEvent","touch","targetTouches","clientX","minScrubberHeight","trackHeight","VideoTracksScrubber","sidePadding","paddingY","maxTrackTop","max","map","top","Number","trackDuration","end_s","start_s","ratio","min","duration","scrubberWidth","getOffsetForTime","topOffset","thisLeft","getOffsetXForTrack","thisRight","getWidthForTrack","lastTrackDims","prevLeft","left","prevRight","overlapsPrev","time","pixelsPerSecond","preventDefault","bounds","scrubber","getBoundingClientRect","timeOffset","removeEventListener","pointerEnd","pointerMove","addEventListener","passive","pointerStart","getOffsetYForTrack","initTrackDimensions","initScrubber","tearDownScrubber","default","required","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","CptvDecoder","onMessage","message","resolver","Worker","URL","url","size","waitForMessage","arrayBuffer","decoder","mapRgba","r","g","b","Viridis","Uint32Array","viridis","Plasma","plasma","Inferno","inferno","Magma","magma","Default","GreyscaleSquared","Greyscale","inc","ColourMaps","renderFrameIntoFrameBuffer","frameBuffer","frameData","colourMap","range","frameBufferView","indexUpper","getFrameIndexAtTime","totalFramesIncludingBackground","PlaybackSpeeds","freeze","formatTime","seconds","floor","padStart","minutes","padEnd","getAuthoritativeTagForTrack","trackTags","userTags","filter","tag","user","User","what","find","formatHeaderInfo","header","fps","deviceName","deviceId","previewSecs","brand","serialNumber","firmwareVersion","motionConfig","timestamp","dimensions","Date","toLocaleString","split","reduce","acc","item","parts","JSON","stringify","getProcessedTracks","frameTimeSeconds","frameAtTime","padding","TrackTags","num_frames","positions","right","bottom","position","frame","rect","source","ownKeys","getOwnPropertySymbols","sym","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","MutationObserver","performance","_ref","navigator","_ref$userAgent","userAgent","PERFORMANCE","IS_DOM","head","createElement","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","getAttrConfig","attr","element","querySelector","getAttribute","coerce","val","_ref2","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","config","w","styles","hooks","shims","namespace","functions","listener","loaded","doScroll","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","process","emit","asyncSetTimer","setImmediate","setTimeout","asyncQueue","asyncFlush","asyncCall","invokeResolver","promise","resolvePromise","rejectPromise","reason","invokeCallback","subscriber","owner","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","race","d","meaninglessTransform","y","rotate","flipX","flipY","insertCss","css","setAttribute","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","idPool","nextUniqueId","id","random","htmlEscape","str","joinAttributes","attributes","attributeName","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","transformForCss","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","abstract","force","fill","deGroup","children","makeIconMasking","main","mask","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","found","offset","asSymbol","symbol","makeInlineSvgAbstract","params","_params$icons","icons","title","titleId","extra","_params$watchable","watchable","isUploadedIcon","widthClass","ceil","attrClass","c","classes","join","content","role","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","noop$1","bindInternal4","func","thisContext","a","subject","initialValue","defineIcons","_params$skipHooks","skipHooks","normalized","expanded","addPack","build","lookup","reducer","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","parseTransformString","transformString","toLowerCase","first","rest","parseFloat","isNaN","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","values","asFoundIcon","_icon$slice","_icon$slice2","vectorData","baseStyles","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","Library","definitions","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","commonjsGlobal","createCommonjsModule","humps","global","_processKeys","convert","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","output","l","_isArray","separateWords","string","separator","camelize","_isNumerical","chr","substr","pascalize","camelized","decamelize","_processor","depascalize","camelizeKeys","object","decamelizeKeys","pascalizeKeys","depascalizeKeys","_extends","objectWithoutProperties","toConsumableArray","styleToObject","pair","prop","classToObject","cls","combineClassObjects","objs","bind","_data$class","dClass","_data$style","dStyle","_data$attrs","dAttrs","remainingData","log","_console","console","objectWithKey","classList","_classes","spin","pulse","fixedWidth","border","listItem","inverse","flip","rotation","pull","swapOpacity","addStaticClass","normalizeIconArgs","icon$$1","FontAwesomeIcon","String","validator","parseInt","iconArgs","maskArgs","renderedIcon","convertCurry","faAngleRight","faBackward","faEyeDropper","faForward","faInfoCircle","faPlay","faPalette","faPause","faRedoAlt","faSpinner","faFolderOpen","faImage","faFileVideo","faWrench","faChartBar","faStepForward","faStepBackward","enumerableOnly","symbols","_objectSpread2","getOwnPropertyDescriptors","defineProperties","t","kebab","styleProp","styleList","COMPONENT_UID_KEY","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_COL","NAME_FORM_CHECKBOX","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_ROW","NAME_FORM_TEXT","NAME_FORM_VALID_FEEDBACK","NAME_LINK","NAME_MODAL","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","HAS_WINDOW_SUPPORT","HAS_DOCUMENT_SUPPORT","HAS_NAVIGATOR_SUPPORT","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","WebKitMutationObserver","MozMutationObserver","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","EVENT_NAME_CANCEL","maxTouchPoints","PointerEvent","MSPointerEvent","IntersectionObserverEntry","EVENT_NAME_CHANGE","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_INPUT","EVENT_NAME_OK","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_TOGGLE","HOOK_EVENT_NAME_BEFORE_DESTROY","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","CODE_ENTER","CODE_ESC","CODE_SPACE","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","PROP_TYPE_OBJECT","PROP_TYPE_STRING","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_OBJECT_STRING","_isNativeFunction","_construct","Parent","Class","_wrapNativeSuper","_cache","Map","isNativeFunction","has","Wrapper","Element","HTMLElement","File","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_FILE_NAME","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","array","flatten","flattenDeep","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isObject","isPlainObject","isDate","isEvent","Event","isFile","RX_BV_PREFIX","RX_EXTENSION","RX_HYPHENATE","RX_REGEXP_REPLACE","RX_SPACE_SPLIT","RX_STAR","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_COL_CLASS","kebabCase","upperFirst","charAt","escapeRegExp","spaces","lowerCase","ELEMENT_PROTO","TABABLE_SELECTOR","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","cb","MutationObs","removeNode","removeChild","isElement","getActiveElement","excludes","activeElement","some","isTag","isActiveElement","isVisible","contains","getStyle","bcr","getBCR","isDisabled","disabled","hasAttr","hasClass","selectAll","selector","arrayFrom","querySelectorAll","select","includeRoot","addClass","className","removeClass","remove","setAttr","removeAttr","removeAttribute","getAttr","hasAttribute","setStyle","getCS","getComputedStyle","getTabables","rootEl","tabIndex","attemptFocus","focus","attemptBlur","blur","parseEventOptions","eventOn","eventName","eventOff","stopEvent","propagation","immediatePropagation","stopPropagation","stopImmediatePropagation","getBaseEventName","getRootEventName","getRootActionEventName","actionName","htmlOrText","textContent","identity","optionalProps","omit","sortKeys","sort","readonlyDescriptor","cloneDeep","defaultValue","PROP_NAME","DEFAULT_BREAKPOINT","memoize","argsKey","VueProto","Vue","getConfigValue","bvConfig","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUpCached","breakpoints","suffixPropName","suffix","makeProp","requiredOrValidator","pluckProps","keysToPluck","objToPluck","transformFn","memo","makePropConfigurable","componentKey","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","makeModelMixin","mixin","getEnv","fallback","env","getNoWarn","warn","warnNoMutationObserverSupport","observeDom","$el","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","observe","childList","subtree","compareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","isEmpty","makePropWatcher","propName","newValue","oldValue","$delete","$data","makePropCacheMixin","proxyPropName","attrsMixin","idMixin","localId_","safeId","mounted","$nextTick","PROP","listenOnDocumentMixin","created","$once","items","handlers","listenDocument","listenOnDocument","listenOffDocument","listenOnRootMixin","listenOnRoot","$on","$off","listenOnRootOnce","emitOnRoot","listenOnWindowMixin","beforeDestroy","listenWindow","listenOnWindow","listenOffWindow","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","slot","scope","normalizeSlotMixin","scopedSlots","slots","vNodes","getScopeId","scopedStyleMixin","scopedStyleAttrs","$parent","ANCHOR_TAG","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","stringifyQueryObj","decodeURIComponent","query","value2","isLink","isRouterLink","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","computeRel","rel","computeHref","toFallback","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","activeClass","append","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","active","BLink","inheritAttrs","computedTag","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","click","onClick","eventIsEvent","suppliedHandler","currentTarget","__vue__","linkProps","BLinkProps","block","pill","pressed","squared","variant","handleFocus","isLinkStrict","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","autocomplete","BButton","listeners","keydown","keyCode","focusin","focusout","componentData","mergeData","ariaLabel","textVariant","BButtonClose","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","appearClass","appearActiveClass","appearToClass","BVTransporterTarget","nodes","updatedNodes","destroyed","$nodes","text","BVTransporter","unmountTarget","mountTarget","$_defaultFn","$_target","beforeMount","updated","updateTarget","getContainer","$container","appendChild","propsData","defaultFn","$destroy","_superPropBase","property","_get","receiver","base","superPropBase","desc","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","BvModalEvent","trigger","toInteger","NaN","integer","toFloat","float","precision","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","body","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","actualMargin","marginRight","modalManager","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","characterData","attributeFilter","idProps","autoFocusButton","bodyBgVariant","bodyClass","bodyTextVariant","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","footerBgVariant","footerBorderVariant","footerClass","footerTextVariant","headerBgVariant","headerBorderVariant","headerClass","headerCloseContent","headerCloseLabel","headerCloseVariant","headerTextVariant","hideBackdrop","hideFooter","hideHeader","hideHeaderClose","ignoreEnforceFocusSelector","lazy","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","static","titleClass","titleHtml","titleSrOnly","titleTag","BModal","isHidden","isTransitioning","isShow","isBlock","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","fade","modalStyles","sbWidth","paddingLeft","display","dialogClasses","headerClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","cancel","onCancel","close","onClose","hide","ok","onOk","visible","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_observer","$_returnFocus","showHandler","hideHandler","toggleHandler","modalListener","setObserver","disconnect","checkModalOverflow","updateModel","buildEvent","showEvt","emitEvent","doShow","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","onEnter","onAfterEnter","setEnforceFocus","focusFirst","onBeforeLeave","onLeave","onAfterLeave","returnFocusTo","bvEvent","onDialogMousedown","onceModalMouseup","onClickOut","onEsc","focusHandler","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","scrollHeight","clientHeight","makeModal","$header","$modalHeader","$closeButton","$body","$footer","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","mousedown","$modal","beforeEnter","enter","afterEnter","beforeLeave","leave","afterLeave","$backdrop","escapeChar","cssEscape","firstCharCode","char","charCode","state","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","hasColClasses","BFormRow","inline","BFormText","ariaLive","forceShow","tooltip","BFormInvalidFeedback","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","LEGEND_INTERACTIVE_ELEMENTS","formStateProps","description","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","$input","newIds","oldIds","ids","onLegendClick","inputs","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","looseIndexOf","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","activated","plain","formCustomMixin","custom","formSizeMixin","sizeFormClass","formControlProps","formSizeProps","formCustomProps","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","checked","input","change","handleChange","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","formRadioCheckProps","BFormCheckbox","inject","setIndeterminate","indeterminate","uncheckedValue","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","file","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","BFormFile","files","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","rx","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","allowed","filesTraversed","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","onChange","webkitRelativePath","onDragenter","dropEffect","onDragover","onDragleave","onDrop","pointerEvents","dragenter","dragover","dragleave","drop","mathMax","mathPow","abs","pow","animated","labelHtml","showProgress","showValue","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedVariant","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","progressBarProps","BProgressBarProps","BProgress","provide","progressHeight","$childNodes","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","getTarget","modifiers","reverse","getTriggerElement","setRole","binding","vnode","unbind","oldProp","componentUpdated","VBModal","inserted","Mp4Encoder","encoder","onmessage","messageQueue","messageType","frameRate","postMessage","terminate","download","filename","anchor","lastCptvUrl","cptvDecoder","CptvPlayerComponent","MAX_VALUE","MIN_VALUE","totalFrames","internalFrameNum","num","internalTotalFrames","internalLoadedFrames","buffering","currentTime60fps","knownDuration","holdForXFrames","tick","animationTick","adjustment","currentTime","totalTime","totalFramesEstimate","frameHeader","frameTempC","lastFfcTimeMs","timeOnMs","speedMultiplierIndex","start","includeInExportTime","displayInExport","smoothingPreference","localStorage","getItem","palettePreference","paletteIndex","findIndex","playbackSpeed","mul","dismissAnyTooltips","canvas","onResize","matchMedia","setCanvasDimensions","canSelectTracks","overlayCanvas","clickOverlayCanvas","moveOverOverlayCanvas","initPlayer","clearCanvas","initTrackExportOptions","loadedStream","getNextFrame","getTotalFrames","exportRequested","buffer","loadCptvFile","Uint8Array","ensureEntireFileIsLoaded","play","selectTrack","cancelAnimationFrame","animationFrame","renderOverlay","getContext","scale","exportOptions","frameForTrack","processedTracks","includes","firstFrameForTrackIndex","fromStartOfTrack","onePastLastFrameForTrackIndex","lastFrameForTrack","loadProgress","wasPaused","minValue","maxValue","localFile","playImmediately","initWithCptvUrlAndKnownSize","cptvSize","initWithLocalCptvFile","reload","getHeader","Uint8ClampedArray","fetchRenderAdvanceFrame","frameIndex","meta","imageData","withinFfcTimeout","isBackgroundFrame","AVERAGE_HEADROOM_OVER_BACKGROUND","shouldPlay","stopAtFrame","onPastLastFrameForTrack","showingHistogram","pause","renderCurrentFrame","canAdvance","couldStep","canvasOffset","hitTrackIndex","getTrackIndexAtPosition","cursor","clearRect","overlayContext","pX","pY","getFrameAtIndex","valueTooltip","setItem","timeSinceLastFFC","renderCanvas","targetWidth","targetHeight","init","videoCanvas","videoContext","assert","startFrame","onePastLastFrame","startTrackFrame","getFrameAtTime","endTrackFrame","minMaxForFrame","putImageData","ImageData","imageSmoothingEnabled","imageSmoothingQuality","drawImage","timeSinceLastFFCSeconds","MAX_SAFE_INTEGER","encodeFrame","getImageData","finish","uint8Array","recordingIdSuffix","recordingId","createObjectURL","Blob","requestAnimationFrame","drawFrame","imgData","everyXTicks","shouldRedraw","elapsedTime","drawBottomRightOverlayLabel","drawBottomLeftOverlayLabel","ambientTemperature","didAdvance","playhead","playheadContext","fillStyle","playheadX","playheadOffsetForCurrentTime","fillRect","lineWidth","strokeStyle","beginPath","moveTo","lineTo","stroke","font","setLabelFontStyle","bottomPadding","strokeText","fillText","labelWidth","measureText","setPlayerMessage","paletteName","messageTimeout","clearTimeout","messageAnimationFrame","timeSinceFFCSeconds","frameTracks","showOverlaysForCurrentTrackOnly","trackBox","box","drawRectWithText","alpha","textWidth","deviceRatio","textX","textY","dims","outlineWidth","halfOutlineWidth","rectWidth","rectHeight","lineJoin","strokeRect","textHeight","marginX","marginTop","windowWidth","canvasDimensions","canvasHeight","maxHeight","seekingInProgress","getLoadProgress","gotFrame","renderFrame","isScrubbing","components","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","S","ArrayBuffer","DataView","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","classof","createNonEnumerableProperty","redefine","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","isPrototypeOf","TO_STRING_TAG","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","isTypedArray","aTypedArray","aTypedArrayConstructor","C","ARRAY","TypedArrayConstructor","exportTypedArrayMethod","KEY","forced","exportTypedArrayStaticMethod","redefineAll","fails","anInstance","toLength","toIndex","IEEE754","arrayFill","setToStringTag","InternalStateModule","getInternalState","setInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","RangeError","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","count","isLittleEndian","intIndex","store","byteLength","bytes","byteOffset","conversion","ArrayBufferPrototype","j","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","copyWithin","O","end","argumentsLength","endPos","$forEach","arrayMethodIsStrict","STRICT_METHOD","callbackfn","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","mapfn","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","that","specificCreate","boundFunction","filterOut","$lastIndexOf","lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","foo","argument","method","aFunction","IS_RIGHT","originalArray","anObject","iteratorClose","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","iterate","defineIterator","setSpecies","fastKey","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","last","AS_ENTRIES","previous","getEntry","removed","clear","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","$","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","REPLACE","REQUIRED","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","getOwnPropertyDescriptorModule","MATCH","regexp","error1","error2","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","bitmap","toPrimitive","createIteratorConstructor","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","wrappedWellKnownSymbolModule","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","version","versions","v8","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","arg2","forceStringMethod","stringMethod","regexMethod","isExtensible","preventExtensions","factories","argsLength","list","partArgs","variable","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","m","ch","check","globalThis","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","Infinity","nBits","propertyIsEnumerable","NewTargetPrototype","functionToString","inspectSource","hiddenKeys","FREEZING","METADATA","setMetadata","objectID","weakData","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","wmget","wmhas","wmset","facade","STATE","feature","detection","normalize","POLYFILL","NATIVE","isRegExp","Result","stopped","unboundFunction","iterFn","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","returnMethod","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","flush","notify","node","macrotask","IS_IOS","IS_WEBOS_WEBKIT","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","domain","exit","nextTick","createTextNode","task","searchParams","pathname","toJSON","URLSearchParams","username","host","PromiseCapability","$$resolve","$$reject","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","A","B","alphabet","T","activeXDocument","enumBugKeys","documentCreateElement","GT","LT","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","NullProtoObject","ActiveXObject","Properties","IE8_DOM_DEFINE","$defineProperty","Attributes","$getOwnPropertyDescriptor","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","$propertyIsEnumerable","NASHORN_BUG","1","V","aPossiblePrototype","setter","CORRECT_SETTER","TO_ENTRIES","getOwnPropertyNamesModule","newPromiseCapability","promiseCapability","enforceInternalState","TEMPLATE","simple","regexpExec","R","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","sticky","charsAdded","strCopy","multiline","ignoreCase","dotAll","RE","is","TAG","SHARED","copyright","defaultConstructor","requireObjectCoercible","CONVERT_TO_STRING","pos","second","codeAt","repeat","IS_END","maxLength","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","digitToBasic","digit","adapt","delta","numPoints","firstTime","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","baseMinusT","encoded","labels","whitespaces","non","whitespace","ltrim","rtrim","defer","channel","port","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","post","protocol","now","port2","port1","importScripts","toPositiveInteger","BYTES","PREFERRED_STRING","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","toOffset","typedArrayFrom","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","getter","addElement","typedArrayOffset","$length","$len","speciesConstructor","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","$filter","HAS_SPECIES_SUPPORT","$findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","$find","FIND","INCORRECT_ITERATION","$includes","ARRAY_ITERATOR","Arguments","nativeJoin","ES3_STRINGS","$map","nativeSlice","fin","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","FunctionPrototype","FunctionPrototypeToString","nameRE","collection","collectionStrong","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","digits","code","NumberWrapper","thisNumberValue","nativeToFixed","x2","multiply","c2","divide","dataToString","fractionDigits","z","fractDigits","$entries","$freeze","FAILS_ON_PRIMITIVES","nativeGetPrototypeOf","$isFrozen","isFrozen","nativeKeys","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","HANDLED","UNHANDLED","SUBCLASSING","GLOBAL_CORE_JS_PROMISE","FakePromise","isThenable","isReject","notified","chain","reactions","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","initEvent","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","wrap","capability","$promiseResolve","alreadyCalled","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","getFlags","NativeRegExp","RegExpPrototype","CORRECT_NEW","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","notARegExp","correctIsRegExpLogic","searchString","STRING_ITERATOR","point","$padEnd","WEBKIT_BUG","$padStart","fixRegExpWellKnownSymbolLogic","advanceStringIndex","getSubstitution","regExpExec","maybeToString","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","functionalReplace","fullUnicode","matchStr","accumulatedResult","nextSourcePosition","replacerArgs","callRegExpExec","arrayPush","MAX_UINT32","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","$trim","forcedStringTrimMethod","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","TO_PRIMITIVE","$Symbol","$stringify","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperties","properties","$getOwnPropertySymbols","$create","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","$copyWithin","$every","$fill","fromSpeciesAndList","predicate","$indexOf","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","$join","$reduceRight","$reduce","middle","$slice","$some","$sort","comparefn","begin","beginIndex","$toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","arrayJoin","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","hasOwn","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","attribute","shift","updateSearchParams","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","getAll","entriesIndex","sliceIndex","fetch","headers","getState","EOF","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","ipv4","pop","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","findLongestZeroSequence","ipv6","maxIndex","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","displayName","isGeneratorFunction","genFun","ctor","awrap","async","skipTempReset","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","u","chunkId","baseURI","__webpack_exports__"],"mappings":"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","file":"CptvPlayerVue.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CptvPlayerVue\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"CptvPlayerVue\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__3507__) {\nreturn ","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'angle-right';\nvar width = 256;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f105';\nvar svgPathData = 'M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faAngleRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'backward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04a';\nvar svgPathData = 'M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chart-bar';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f080';\nvar svgPathData = 'M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faChartBar = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'eye-dropper';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1fb';\nvar svgPathData = 'M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faEyeDropper = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'file-video';\nvar width = 384;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f1c8';\nvar svgPathData = 'M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFileVideo = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'folder-open';\nvar width = 576;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f07c';\nvar svgPathData = 'M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faFolderOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'forward';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04e';\nvar svgPathData = 'M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'image';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f03e';\nvar svgPathData = 'M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faImage = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'info-circle';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f05a';\nvar svgPathData = 'M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faInfoCircle = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'palette';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f53f';\nvar svgPathData = 'M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPalette = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'pause';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04c';\nvar svgPathData = 'M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPause = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'play';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f04b';\nvar svgPathData = 'M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faPlay = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'redo-alt';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f2f9';\nvar svgPathData = 'M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faRedoAlt = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'spinner';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f110';\nvar svgPathData = 'M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faSpinner = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-backward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f048';\nvar svgPathData = 'M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepBackward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'step-forward';\nvar width = 448;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f051';\nvar svgPathData = 'M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faStepForward = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'wrench';\nvar width = 512;\nvar height = 512;\nvar ligatures = [];\nvar unicode = 'f0ad';\nvar svgPathData = 'M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n ligatures,\n unicode,\n svgPathData\n ]};\n\nexports.faWrench = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = ligatures;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n\n var renderedIcon = icon(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","import { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\n// NOTE explicitly import only the icons we need, otherwise they don't seem to be shaken out\n// of the compiled bundle by webpack properly.\nimport { faAngleRight } from \"@fortawesome/free-solid-svg-icons/faAngleRight\";\nimport { faBackward } from \"@fortawesome/free-solid-svg-icons/faBackward\";\nimport { faForward } from \"@fortawesome/free-solid-svg-icons/faForward\";\nimport { faEyeDropper } from \"@fortawesome/free-solid-svg-icons/faEyeDropper\";\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons/faInfoCircle\";\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons/faPlay\";\nimport { faPause } from \"@fortawesome/free-solid-svg-icons/faPause\";\nimport { faPalette } from \"@fortawesome/free-solid-svg-icons/faPalette\";\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons/faSpinner\";\nimport { faRedoAlt } from \"@fortawesome/free-solid-svg-icons/faRedoAlt\";\nimport { faFolderOpen } from \"@fortawesome/free-solid-svg-icons/faFolderOpen\";\nimport { faImage } from \"@fortawesome/free-solid-svg-icons/faImage\";\nimport { faFileVideo } from \"@fortawesome/free-solid-svg-icons/faFileVideo\";\nimport { faWrench } from \"@fortawesome/free-solid-svg-icons/faWrench\";\nimport { faChartBar } from \"@fortawesome/free-solid-svg-icons/faChartBar\";\nimport { faStepForward } from \"@fortawesome/free-solid-svg-icons/faStepForward\";\nimport { faStepBackward } from \"@fortawesome/free-solid-svg-icons/faStepBackward\";\n// https://www.npmjs.com/package/@fortawesome/vue-fontawesome\nlibrary.add(\n faAngleRight,\n faBackward,\n faEyeDropper,\n faForward,\n faInfoCircle,\n faPlay,\n faPalette,\n faPause,\n faRedoAlt,\n faSpinner,\n faFolderOpen,\n faImage,\n faFileVideo,\n faWrench,\n faChartBar,\n faStepForward,\n faStepBackward\n);\n\nexport default FontAwesomeIcon;\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0\nexport const IS_IE = /msie|trident/.test(USER_AGENT)\n\n// Determine if the browser supports the option passive for events\nexport const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false\n if (IS_BROWSER) {\n try {\n const options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n WINDOW.addEventListener('test', options, options)\n WINDOW.removeEventListener('test', options, options)\n } catch {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const HAS_TOUCH_SUPPORT =\n IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0)\n\nexport const HAS_POINTER_EVENT_SUPPORT =\n IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent)\n\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\nexport const HAS_INTERACTION_OBSERVER_SUPPORT =\n IS_BROWSER &&\n 'IntersectionObserver' in WINDOW &&\n 'IntersectionObserverEntry' in WINDOW &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use `intersectionRatio > 0` instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype\n","export const EVENT_NAME_ACTIVATE_TAB = 'activate-tab'\nexport const EVENT_NAME_BLUR = 'blur'\nexport const EVENT_NAME_CANCEL = 'cancel'\nexport const EVENT_NAME_CHANGE = 'change'\nexport const EVENT_NAME_CHANGED = 'changed'\nexport const EVENT_NAME_CLICK = 'click'\nexport const EVENT_NAME_CLOSE = 'close'\nexport const EVENT_NAME_CONTEXT = 'context'\nexport const EVENT_NAME_CONTEXT_CHANGED = 'context-changed'\nexport const EVENT_NAME_DESTROYED = 'destroyed'\nexport const EVENT_NAME_DISABLE = 'disable'\nexport const EVENT_NAME_DISABLED = 'disabled'\nexport const EVENT_NAME_DISMISSED = 'dismissed'\nexport const EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down'\nexport const EVENT_NAME_ENABLE = 'enable'\nexport const EVENT_NAME_ENABLED = 'enabled'\nexport const EVENT_NAME_FILTERED = 'filtered'\nexport const EVENT_NAME_FIRST = 'first'\nexport const EVENT_NAME_FOCUSIN = 'focusin'\nexport const EVENT_NAME_FOCUSOUT = 'focusout'\nexport const EVENT_NAME_HEAD_CLICKED = 'head-clicked'\nexport const EVENT_NAME_HIDDEN = 'hidden'\nexport const EVENT_NAME_HIDE = 'hide'\nexport const EVENT_NAME_IMG_ERROR = 'img-error'\nexport const EVENT_NAME_INPUT = 'input'\nexport const EVENT_NAME_LAST = 'last'\nexport const EVENT_NAME_MOUSEENTER = 'mouseenter'\nexport const EVENT_NAME_MOUSELEAVE = 'mouseleave'\nexport const EVENT_NAME_NEXT = 'next'\nexport const EVENT_NAME_OK = 'ok'\nexport const EVENT_NAME_OPEN = 'open'\nexport const EVENT_NAME_PAGE_CLICK = 'page-click'\nexport const EVENT_NAME_PAUSED = 'paused'\nexport const EVENT_NAME_PREV = 'prev'\nexport const EVENT_NAME_REFRESH = 'refresh'\nexport const EVENT_NAME_REFRESHED = 'refreshed'\nexport const EVENT_NAME_REMOVE = 'remove'\nexport const EVENT_NAME_ROW_CLICKED = 'row-clicked'\nexport const EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu'\nexport const EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked'\nexport const EVENT_NAME_ROW_HOVERED = 'row-hovered'\nexport const EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked'\nexport const EVENT_NAME_ROW_SELECTED = 'row-selected'\nexport const EVENT_NAME_ROW_UNHOVERED = 'row-unhovered'\nexport const EVENT_NAME_SELECTED = 'selected'\nexport const EVENT_NAME_SHOW = 'show'\nexport const EVENT_NAME_SHOWN = 'shown'\nexport const EVENT_NAME_SLIDING_END = 'sliding-end'\nexport const EVENT_NAME_SLIDING_START = 'sliding-start'\nexport const EVENT_NAME_SORT_CHANGED = 'sort-changed'\nexport const EVENT_NAME_TAG_STATE = 'tag-state'\nexport const EVENT_NAME_TOGGLE = 'toggle'\nexport const EVENT_NAME_UNPAUSED = 'unpaused'\nexport const EVENT_NAME_UPDATE = 'update'\n\nexport const HOOK_EVENT_NAME_BEFORE_DESTROY = 'hook:beforeDestroy'\nexport const HOOK_EVENT_NAME_DESTROYED = 'hook:destroyed'\n\nexport const MODEL_EVENT_NAME_PREFIX = 'update:'\n\nexport const ROOT_EVENT_NAME_PREFIX = 'bv'\nexport const ROOT_EVENT_NAME_SEPARATOR = '::'\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n","export const CODE_BACKSPACE = 8\nexport const CODE_BREAK = 19\nexport const CODE_DELETE = 46\nexport const CODE_DOWN = 40\nexport const CODE_END = 35\nexport const CODE_ENTER = 13\nexport const CODE_ESC = 27\nexport const CODE_HOME = 36\nexport const CODE_LEFT = 37\nexport const CODE_PAGEDOWN = 34\nexport const CODE_PAGEUP = 33\nexport const CODE_RIGHT = 39\nexport const CODE_SPACE = 32\nexport const CODE_UP = 38\n","// General types\nexport const PROP_TYPE_ANY = undefined\nexport const PROP_TYPE_ARRAY = Array\nexport const PROP_TYPE_BOOLEAN = Boolean\nexport const PROP_TYPE_DATE = Date\nexport const PROP_TYPE_FUNCTION = Function\nexport const PROP_TYPE_NUMBER = Number\nexport const PROP_TYPE_OBJECT = Object\nexport const PROP_TYPE_REG_EXP = RegExp\nexport const PROP_TYPE_STRING = String\n\n// Multiple types\nexport const PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT]\nexport const PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING]\nexport const PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER]\nexport const PROP_TYPE_BOOLEAN_NUMBER_STRING = [\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_NUMBER,\n PROP_TYPE_STRING\n]\nexport const PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING]\nexport const PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING]\nexport const PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING]\nexport const PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING]\nexport const PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION]\nexport const PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING]\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","import { HAS_WINDOW_SUPPORT, WINDOW } from './env'\n\n/* istanbul ignore next */\nexport const Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : class Element extends Object {}\n\n/* istanbul ignore next */\nexport const HTMLElement = HAS_WINDOW_SUPPORT\n ? WINDOW.HTMLElement\n : class HTMLElement extends Element {}\n\n/* istanbul ignore next */\nexport const SVGElement = HAS_WINDOW_SUPPORT\n ? WINDOW.SVGElement\n : class SVGElement extends Element {}\n\n/* istanbul ignore next */\nexport const File = HAS_WINDOW_SUPPORT ? WINDOW.File : class File extends Object {}\n","export const SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text'\nexport const SLOT_NAME_APPEND = 'append'\nexport const SLOT_NAME_ASIDE = 'aside'\nexport const SLOT_NAME_BADGE = 'badge'\nexport const SLOT_NAME_BOTTOM_ROW = 'bottom-row'\nexport const SLOT_NAME_BUTTON_CONTENT = 'button-content'\nexport const SLOT_NAME_CUSTOM_FOOT = 'custom-foot'\nexport const SLOT_NAME_DECREMENT = 'decrement'\nexport const SLOT_NAME_DEFAULT = 'default'\nexport const SLOT_NAME_DESCRIPTION = 'description'\nexport const SLOT_NAME_DISMISS = 'dismiss'\nexport const SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder'\nexport const SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text'\nexport const SLOT_NAME_EMPTY = 'empty'\nexport const SLOT_NAME_EMPTYFILTERED = 'emptyfiltered'\nexport const SLOT_NAME_FILE_NAME = 'file-name'\nexport const SLOT_NAME_FIRST = 'first'\nexport const SLOT_NAME_FIRST_TEXT = 'first-text'\nexport const SLOT_NAME_FOOTER = 'footer'\nexport const SLOT_NAME_HEADER = 'header'\nexport const SLOT_NAME_HEADER_CLOSE = 'header-close'\nexport const SLOT_NAME_ICON_CLEAR = 'icon-clear'\nexport const SLOT_NAME_ICON_EMPTY = 'icon-empty'\nexport const SLOT_NAME_ICON_FULL = 'icon-full'\nexport const SLOT_NAME_ICON_HALF = 'icon-half'\nexport const SLOT_NAME_IMG = 'img'\nexport const SLOT_NAME_INCREMENT = 'increment'\nexport const SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback'\nexport const SLOT_NAME_LABEL = 'label'\nexport const SLOT_NAME_LAST_TEXT = 'last-text'\nexport const SLOT_NAME_LEAD = 'lead'\nexport const SLOT_NAME_LOADING = 'loading'\nexport const SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop'\nexport const SLOT_NAME_MODAL_CANCEL = 'modal-cancel'\nexport const SLOT_NAME_MODAL_FOOTER = 'modal-footer'\nexport const SLOT_NAME_MODAL_HEADER = 'modal-header'\nexport const SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close'\nexport const SLOT_NAME_MODAL_OK = 'modal-ok'\nexport const SLOT_NAME_MODAL_TITLE = 'modal-title'\nexport const SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade'\nexport const SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month'\nexport const SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year'\nexport const SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade'\nexport const SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month'\nexport const SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year'\nexport const SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month'\nexport const SLOT_NAME_NEXT_TEXT = 'next-text'\nexport const SLOT_NAME_OVERLAY = 'overlay'\nexport const SLOT_NAME_PAGE = 'page'\nexport const SLOT_NAME_PLACEHOLDER = 'placeholder'\nexport const SLOT_NAME_PREPEND = 'prepend'\nexport const SLOT_NAME_PREV_TEXT = 'prev-text'\nexport const SLOT_NAME_ROW_DETAILS = 'row-details'\nexport const SLOT_NAME_TABLE_BUSY = 'table-busy'\nexport const SLOT_NAME_TABLE_CAPTION = 'table-caption'\nexport const SLOT_NAME_TABLE_COLGROUP = 'table-colgroup'\nexport const SLOT_NAME_TABS_END = 'tabs-end'\nexport const SLOT_NAME_TABS_START = 'tabs-start'\nexport const SLOT_NAME_TEXT = 'text'\nexport const SLOT_NAME_THEAD_TOP = 'thead-top'\nexport const SLOT_NAME_TITLE = 'title'\nexport const SLOT_NAME_TOAST_TITLE = 'toast-title'\nexport const SLOT_NAME_TOP_ROW = 'top-row'\nexport const SLOT_NAME_VALID_FEEDBACK = 'valid-feedback'\n","import { isFunction } from './inspect'\n\n// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n\n// --- Utilities ---\n\nexport const createArray = (length, fillFn) => {\n const mapFn = isFunction(fillFn) ? fillFn : () => fillFn\n return Array.apply(null, { length }).map(mapFn)\n}\n\nexport const flatten = array => array.reduce((result, item) => concat(result, item), [])\n\nexport const flattenDeep = array =>\n array.reduce((result, item) => concat(result, Array.isArray(item) ? flattenDeep(item) : item), [])\n","import { RX_NUMBER } from '../constants/regex'\nimport { File } from '../constants/safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = value => typeof value\n\nexport const toRawType = value => Object.prototype.toString.call(value).slice(8, -1)\n\nexport const toRawTypeLC = value => toRawType(value).toLowerCase()\n\nexport const isUndefined = value => value === undefined\n\nexport const isNull = value => value === null\n\nexport const isEmptyString = value => value === ''\n\nexport const isUndefinedOrNull = value => isUndefined(value) || isNull(value)\n\nexport const isUndefinedOrNullOrEmpty = value => isUndefinedOrNull(value) || isEmptyString(value)\n\nexport const isFunction = value => toType(value) === 'function'\n\nexport const isBoolean = value => toType(value) === 'boolean'\n\nexport const isString = value => toType(value) === 'string'\n\nexport const isNumber = value => toType(value) === 'number'\n\nexport const isNumeric = value => RX_NUMBER.test(String(value))\n\nexport const isPrimitive = value => isBoolean(value) || isString(value) || isNumber(value)\n\nexport const isArray = value => Array.isArray(value)\n\n// Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n// Strict object type check\n// Only returns true for plain JavaScript objects\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\nexport const isDate = value => value instanceof Date\n\nexport const isEvent = value => value instanceof Event\n\nexport const isFile = value => value instanceof File\n\nexport const isRegExp = value => toRawType(value) === 'RegExp'\n\nexport const isPromise = value =>\n !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch)\n","// --- General ---\n\nexport const RX_ARRAY_NOTATION = /\\[(\\d+)]/g\nexport const RX_BV_PREFIX = /^(BV?)/\nexport const RX_DIGITS = /^\\d+$/\nexport const RX_EXTENSION = /^\\..+/\nexport const RX_HASH = /^#/\nexport const RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/\nexport const RX_HTML_TAGS = /(<([^>]+)>)/gi\nexport const RX_HYPHENATE = /\\B([A-Z])/g\nexport const RX_LOWER_UPPER = /([a-z])([A-Z])/g\nexport const RX_NUMBER = /^[0-9]*\\.?[0-9]+$/\nexport const RX_PLUS = /\\+/g\nexport const RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nexport const RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\nexport const RX_SPACE_SPLIT = /\\s+/\nexport const RX_STAR = /\\/\\*$/\nexport const RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\nexport const RX_TRIM_LEFT = /^\\s+/\nexport const RX_TRIM_RIGHT = /\\s+$/\nexport const RX_UNDERSCORE = /_/g\nexport const RX_UN_KEBAB = /-(\\w)/g\n\n// --- Date ---\n\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\nexport const RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/\n\n// Used to split off the date parts of the YYYY-MM-DD string\nexport const RX_DATE_SPLIT = /-|\\s|T/\n\n// Time string RegEx (optional seconds)\nexport const RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- URL ---\n\n// HREFs must end with a hash followed by at least one non-hash character\nexport const RX_HREF = /^.*(#[^#]+)$/\n\nexport const RX_ENCODED_COMMA = /%2C/g\nexport const RX_ENCODE_REVERSE = /[!'()*]/g\nexport const RX_QUERY_START = /^(\\?|#|&)/\n\n// --- Aspect ---\n\nexport const RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/\nexport const RX_ASPECT_SEPARATOR = /[/:]/\n\n// --- Grid ---\n\nexport const RX_COL_CLASS = /^col-/\n\n// --- Icon ---\n\nexport const RX_ICON_PREFIX = /^BIcon/\n\n// --- Locale ---\n\nexport const RX_STRIP_LOCALE_MODS = /-u-.+/\n","// String utilities\nimport {\n RX_HYPHENATE,\n RX_LOWER_UPPER,\n RX_REGEXP_REPLACE,\n RX_START_SPACE_WORD,\n RX_TRIM_LEFT,\n RX_TRIM_RIGHT,\n RX_UNDERSCORE,\n RX_UN_KEBAB\n} from '../constants/regex'\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\nexport const startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { DOCUMENT, WINDOW } from '../constants/env'\nimport { Element } from '../constants/safe-types'\nimport { from as arrayFrom } from './array'\nimport { isFunction, isNull } from './inspect'\nimport { toFloat } from './number'\nimport { toString } from './string'\n\n// --- Constants ---\n\nconst ELEMENT_PROTO = Element.prototype\n\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n ELEMENT_PROTO.closest ||\n function(sel) {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\n/* istanbul ignore next: JSDOM always returns the first option */\nexport const requestAF =\n WINDOW.requestAnimationFrame ||\n WINDOW.webkitRequestAnimationFrame ||\n WINDOW.mozRequestAnimationFrame ||\n WINDOW.msRequestAnimationFrame ||\n WINDOW.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Get the currently active HTML element\nexport const getActiveElement = (excludes = []) => {\n const { activeElement } = DOCUMENT\n return activeElement && !excludes.some(el => el === activeElement) ? activeElement : null\n}\n\n// Returns `true` if a tag's name equals `name`\nexport const isTag = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Determine if an HTML element is the currently active element\nexport const isActiveElement = el => isElement(el) && el === getActiveElement()\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : DOCUMENT).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, value) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Set an style property on an element\nexport const setStyle = (el, prop, value) => {\n if (prop && isElement(el)) {\n el.style[prop] = value\n }\n}\n\n// Remove an style property from an element\nexport const removeStyle = (el, prop) => {\n if (prop && isElement(el)) {\n el.style[prop] = ''\n }\n}\n\n// Get an style property value from an element\n// Returns `null` if not found\nexport const getStyle = (el, prop) => (prop && isElement(el) ? el.style[prop] || null : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => {\n const { getComputedStyle } = WINDOW\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {}\n}\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => {\n const { getSelection } = WINDOW\n return getSelection ? WINDOW.getSelection() : null\n}\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0)\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0)\n }\n }\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n }\n}\n\n// Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\nexport const getTabables = (rootEl = document) =>\n selectAll(TABABLE_SELECTOR, rootEl)\n .filter(isVisible)\n .filter(el => el.tabIndex > -1 && !el.disabled)\n\n// Attempt to focus an element, and return `true` if successful\nexport const attemptFocus = (el, options = {}) => {\n try {\n el.focus(options)\n } catch {}\n return isActiveElement(el)\n}\n\n// Attempt to blur an element, and return `true` if successful\nexport const attemptBlur = el => {\n try {\n el.blur()\n } catch {}\n return !isActiveElement(el)\n}\n","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env'\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events'\nimport { RX_BV_PREFIX } from '../constants/regex'\nimport { isObject } from './inspect'\nimport { kebabCase } from './string'\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n\n// Utility method to prevent the default event handling and propagation\nexport const stopEvent = (\n event,\n { preventDefault = true, propagation = true, immediatePropagation = false } = {}\n) => {\n if (preventDefault) {\n event.preventDefault()\n }\n if (propagation) {\n event.stopPropagation()\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation()\n }\n}\n\n// Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\nconst getBaseEventName = value => kebabCase(value.replace(RX_BV_PREFIX, ''))\n\n// Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\nexport const getRootEventName = (name, eventName) =>\n [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR)\n\n// Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\nexport const getRootActionEventName = (name, actionName) =>\n [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR)\n","import { RX_HTML_TAGS } from '../constants/regex'\n\n// Removes anything that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(RX_HTML_TAGS, '')\n\n// Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\nexport const htmlOrText = (innerHTML, textContent) =>\n innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n","export const identity = x => x\n","import { isObject } from './inspect'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descriptor) =>\n Object.defineProperty(obj, prop, descriptor)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n// Shallow copy an object\nexport const clone = obj => ({ ...obj })\n\n// Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const pick = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) !== -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\nexport const mergeDeep = (target, source) => {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key]\n }\n mergeDeep(target[key], source[key])\n } else {\n assign(target, { [key]: source[key] })\n }\n })\n }\n return target\n}\n\n// Returns a shallow copy of the object with keys in sorted order\nexport const sortKeys = obj =>\n keys(obj)\n .sort()\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n// Convenience method to create a read-only descriptor\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n","export const NAME = 'BvConfig'\nexport const PROP_NAME = '$bvConfig'\n\nexport const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']\n","import { create } from './object'\n\nexport const memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n","import { Vue } from '../vue'\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config'\nimport { cloneDeep } from './clone-deep'\nimport { memoize } from './memoize'\n\n// --- Constants ---\n\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n\n// Get the current config\nexport const getConfig = () => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = (key, defaultValue = undefined) => {\n const bvConfig = VueProto[PROP_NAME]\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue)\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (key, propKey = null, defaultValue = undefined) => {\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(`${key}.${propKey}`, defaultValue) : getConfigValue(key, {})\n}\n\n// Get all breakpoint names\nexport const getBreakpoints = () => getConfigValue('breakpoints', DEFAULT_BREAKPOINT)\n\n// Private method for caching breakpoint names\nconst _getBreakpointsCached = memoize(() => getBreakpoints())\n\n// Get all breakpoint names (cached)\nexport const getBreakpointsCached = () => cloneDeep(_getBreakpointsCached())\n\n// Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Get breakpoints with the largest breakpoint set as ''\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { PROP_TYPE_ANY } from '../constants/props'\nimport { cloneDeep } from './clone-deep'\nimport { getComponentConfig } from './config'\nimport { identity } from './identity'\nimport { isArray, isFunction, isObject, isUndefined } from './inspect'\nimport { clone, hasOwnProperty, keys } from './object'\nimport { lowerFirst, upperFirst } from './string'\n\n// Prefix a property\nexport const prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\n// Remove a prefix from a property\nexport const unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\n// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\nexport const suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : '')\n\n// Generates a prop object\nexport const makeProp = (\n type = PROP_TYPE_ANY,\n value = undefined,\n requiredOrValidator = undefined,\n validator = undefined\n) => {\n const required = requiredOrValidator === true\n validator = required ? validator : requiredOrValidator\n\n return {\n ...(type ? { type } : {}),\n ...(required\n ? { required }\n : isUndefined(value)\n ? {}\n : { default: isObject(value) ? () => value : value }),\n ...(isUndefined(validator) ? {} : { validator })\n }\n}\n\n// Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\nexport const copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n const copied = {}\n for (const prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n return copied\n}\n\n// Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\nexport const pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\n// Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropConfigurable = (prop, key, componentKey) => ({\n ...cloneDeep(prop),\n default: function bvConfigurablePropDefault() {\n const value = getComponentConfig(componentKey, key, prop.default)\n return isFunction(value) ? value() : value\n }\n})\n\n// Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\nexport const makePropsConfigurable = (props, componentKey) =>\n keys(props).reduce(\n (result, key) => ({ ...result, [key]: makePropConfigurable(props[key], key, componentKey) }),\n {}\n )\n\n// Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\nconst configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name\n\n// Detect wether the given value is currently a function\n// and isn't the props default function\nexport const hasPropFunction = fn => isFunction(fn) && fn.name !== configurablePropDefaultFnName\n","import { Vue } from '../vue'\nimport { EVENT_NAME_INPUT } from '../constants/events'\nimport { PROP_TYPE_ANY } from '../constants/props'\nimport { makeProp } from './props'\n\nexport const makeModelMixin = (\n prop,\n {\n type = PROP_TYPE_ANY,\n defaultValue = undefined,\n validator = undefined,\n event = EVENT_NAME_INPUT\n } = {}\n) => {\n const props = {\n [prop]: makeProp(type, defaultValue, validator)\n }\n\n // @vue/component\n const mixin = Vue.extend({\n model: {\n prop,\n event\n },\n props\n })\n\n return { mixin, props, prop, event }\n}\n","/**\n * Utilities to get information about the current environment\n */\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () =>\n getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production'\n","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env'\nimport { getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see https://stackoverflow.com/questions/3219758\n */\nexport const observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc.)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truly happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n","import { hasOwnProperty, keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\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}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nexport const looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\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 = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n const aHasKey = hasOwnProperty(a, key)\n const bHasKey = hasOwnProperty(b, 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}\n","import { Vue } from '../vue'\nimport { cloneDeep } from './clone-deep'\nimport { looseEqual } from './loose-equal'\nimport { hasOwnProperty, keys } from './object'\n\nconst isEmpty = value => !value || keys(value).length === 0\n\nexport const makePropWatcher = propName => ({\n handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return\n }\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue)\n return\n }\n for (const key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key)\n }\n }\n for (const key in newValue) {\n this.$set(this.$data[propName], key, newValue[key])\n }\n }\n})\n\nexport const makePropCacheMixin = (propName, proxyPropName) =>\n Vue.extend({\n data() {\n return { [proxyPropName]: cloneDeep(this[propName]) }\n },\n watch: {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n [propName]: makePropWatcher(proxyPropName)\n }\n })\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const attrsMixin = makePropCacheMixin('$attrs', 'bvAttrs')\n","// SSR safe client-side ID attribute generation\n// ID's can only be generated client-side, after mount\n// `this._uid` is not synched between server and client\nimport { COMPONENT_UID_KEY, Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp } from '../utils/props'\n\n// --- Props ---\n\nexport const props = {\n id: makeProp(PROP_TYPE_STRING)\n}\n\n// --- Mixin ---\n\n// @vue/component\nexport const idMixin = Vue.extend({\n props,\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID\n // Reacts to changes in both `.id` and `.localId_` and regenerates a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method\n // but benefits from Vue's computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // `mounted()` only occurs client-side\n this.$nextTick(() => {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n this.localId_ = `__BVID__${this[COMPONENT_UID_KEY]}`\n })\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_documentHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnDocumentMixin = Vue.extend({\n created() {\n /* istanbul ignore next */\n if (!IS_BROWSER) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler =>\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n )\n })\n })\n },\n methods: {\n listenDocument(on, eventName, handler) {\n on ? this.listenOnDocument(eventName, handler) : this.listenOffDocument(eventName, handler)\n },\n listenOnDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(eventName, handler) {\n if (this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(document, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { Vue } from '../vue'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events'\n\n// @vue/component\nexport const listenOnRootMixin = Vue.extend({\n methods: {\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a `$root` listener, it also registers a listener on\n * the component's `beforeDestroy()` hook to automatically remove the\n * event listener from the `$root` instance\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.$root.$off(event, callback)\n })\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `vm.$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n }\n }\n})\n","import { Vue } from '../vue'\nimport { IS_BROWSER } from '../constants/env'\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events'\nimport { arrayIncludes } from '../utils/array'\nimport { eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\n// --- Constants ---\n\nconst PROP = '$_bv_windowHandlers_'\n\n// --- Mixin ---\n\n// @vue/component\nexport const listenOnWindowMixin = Vue.extend({\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (IS_BROWSER) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(eventName => {\n const handlers = items[eventName] || []\n handlers.forEach(handler => eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, eventName, handler) {\n on ? this.listenOnWindow(eventName, handler) : this.listenOffWindow(eventName, handler)\n },\n listenOnWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n this[PROP][eventName] = this[PROP][eventName] || []\n if (!arrayIncludes(this[PROP][eventName], handler)) {\n this[PROP][eventName].push(handler)\n eventOn(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(eventName, handler) {\n if (IS_BROWSER && this[PROP] && isString(eventName) && isFunction(handler)) {\n eventOff(window, eventName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][eventName] = (this[PROP][eventName] || []).filter(h => h !== handler)\n }\n }\n }\n})\n","import { concat } from './array'\nimport { identity } from './identity'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nexport const normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n","import { Vue } from '../vue'\nimport { SLOT_NAME_DEFAULT } from '../constants/slots'\nimport { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\n// @vue/component\nexport const normalizeSlotMixin = Vue.extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot(\n name = SLOT_NAME_DEFAULT,\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n return hasNormalizedSlot(name, scopedSlots, slots)\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot(\n name = SLOT_NAME_DEFAULT,\n scope = {},\n scopedSlots = this.$scopedSlots,\n slots = this.$slots\n ) {\n const vNodes = normalizeSlot(name, scope, scopedSlots, slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n})\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport const getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n","import { Vue } from '../vue'\nimport { getScopeId } from '../utils/get-scope-id'\n\n// @vue/component\nexport const scopedStyleMixin = Vue.extend({\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n})\n","import { RX_ENCODED_COMMA, RX_ENCODE_REVERSE, RX_PLUS, RX_QUERY_START } from '../constants/regex'\nimport { isTag } from './dom'\nimport { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(RX_ENCODE_REVERSE, encodeReserveReplacer)\n .replace(RX_ENCODED_COMMA, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const value = obj[key]\n if (isUndefined(value)) {\n return ''\n } else if (isNull(value)) {\n return encode(key)\n } else if (isArray(value)) {\n return value\n .reduce((results, value2) => {\n if (isNull(value2)) {\n results.push(encode(key))\n } else if (!isUndefined(value2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(value2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(value)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(RX_QUERY_START, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(RX_PLUS, ' ').split('=')\n const key = decode(parts.shift())\n const value = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = value\n } else if (isArray(parsed[key])) {\n parsed[key].push(value)\n } else {\n parsed[key] = [parsed[key], value]\n }\n })\n\n return parsed\n}\n\nexport const isLink = props => !!(props.href || props.to)\n\nexport const isRouterLink = tag => !!(tag && !isTag(tag, 'a'))\n\nexport const computeTag = ({ to, disabled, routerComponentName }, thisOrParent) => {\n const hasRouter = !!thisOrParent.$router\n if (!hasRouter || (hasRouter && (disabled || !to))) {\n return ANCHOR_TAG\n }\n\n // TODO:\n // Check registered components for existence of user supplied router link component name\n // We would need to check PascalCase, kebab-case, and camelCase versions of name:\n // const name = routerComponentName\n // const names = [name, PascalCase(name), KebabCase(name), CamelCase(name)]\n // exists = names.some(name => !!thisOrParent.$options.components[name])\n // And may want to cache the result for performance or we just let the render fail\n // if the component is not registered\n return routerComponentName || (thisOrParent.$nuxt ? 'nuxt-link' : 'router-link')\n}\n\nexport const computeRel = ({ target, rel } = {}) =>\n target === '_blank' && isNull(rel) ? 'noopener' : rel || null\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // We've checked for `$router` in `computeTag()`, so `isRouterLink()` indicates a live router\n // When deferring to Vue Router's ``, don't use the `href` attribute at all\n // We return `null`, and then remove `href` from the attributes passed to ``\n if (isRouterLink(tag)) {\n return null\n }\n\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import { makePropCacheMixin } from '../utils/cache'\n\nexport const listenersMixin = makePropCacheMixin('$listeners', 'bvListeners')\n","import { Vue } from '../../vue'\nimport { NAME_LINK } from '../../constants/components'\nimport { EVENT_NAME_CLICK } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { attemptBlur, attemptFocus, isTag } from '../../utils/dom'\nimport { getRootEventName, stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenersMixin } from '../../mixins/listeners'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Constants ---\n\nconst ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked')\n\n// --- Props ---\n\n// `` specific props\nexport const routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING, 'a'),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n}\n\n// `` specific props\nexport const nuxtLinkProps = {\n noPrefetch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Must be `null` to fall back to the value defined in the\n // `nuxt.config.js` configuration file for `router.prefetchLinks`\n // We convert `null` to `undefined`, so that Nuxt.js will use the\n // compiled default\n // Vue treats `undefined` as default of `false` for Boolean props,\n // so we must set it as `null` here to be a true tri-state prop\n prefetch: makeProp(PROP_TYPE_BOOLEAN, null)\n}\n\n// All `` props\nexport const props = makePropsConfigurable(\n sortKeys({\n ...nuxtLinkProps,\n ...routerLinkProps,\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n href: makeProp(PROP_TYPE_STRING),\n // Must be `null` if no value provided\n rel: makeProp(PROP_TYPE_STRING, null),\n // To support 3rd party router links based on `` (i.e. `g-link` for Gridsome)\n // Default is to auto choose between `` and ``\n // Gridsome doesn't provide a mechanism to auto detect and has caveats\n // such as not supporting FQDN URLs or hash only URLs\n routerComponentName: makeProp(PROP_TYPE_STRING),\n target: makeProp(PROP_TYPE_STRING, '_self')\n }),\n NAME_LINK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props,\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, disabled, routerComponentName } = this\n return computeTag({ to, disabled, routerComponentName }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { target, rel } = this\n return computeRel({ target, rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n const { to, href } = this\n return computeHref({ to, href }, this.computedTag)\n },\n computedProps() {\n const { prefetch } = this\n return this.isRouterLink\n ? {\n ...pluckProps({ ...routerLinkProps, ...nuxtLinkProps }, this),\n // Coerce `prefetch` value `null` to be `undefined`\n prefetch: isBoolean(prefetch) ? prefetch : undefined,\n // Pass `router-tag` as `tag` prop\n tag: this.routerTag\n }\n : {}\n },\n computedAttrs() {\n const {\n bvAttrs,\n computedHref: href,\n computedRel: rel,\n disabled,\n target,\n routerTag,\n isRouterLink\n } = this\n\n return {\n ...bvAttrs,\n // If `href` attribute exists on `` (even `undefined` or `null`)\n // it fails working on SSR, so we explicitly add it here if needed\n // (i.e. if `computedHref` is truthy)\n ...(href ? { href } : {}),\n // We don't render `rel` or `target` on non link tags when using `vue-router`\n ...(isRouterLink && !isTag(routerTag, 'a') ? {} : { rel, target }),\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n }\n },\n computedListeners() {\n return {\n // Transfer all listeners (native) to the root element\n ...this.bvListeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n }\n },\n methods: {\n onClick(event) {\n const eventIsEvent = isEvent(event)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.bvListeners.click\n if (eventIsEvent && this.disabled) {\n // Stop event from bubbling up\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n stopEvent(event, { immediatePropagation: true })\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && event.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n event.currentTarget.__vue__.$emit(EVENT_NAME_CLICK, event)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event)\n // TODO: Remove deprecated 'clicked::link' event with next major release\n this.emitOnRoot('clicked::link', event)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, { propagation: false })\n }\n },\n focus() {\n attemptFocus(this.$el)\n },\n blur() {\n attemptBlur(this.$el)\n }\n },\n render(h) {\n const { active, disabled } = this\n\n return h(\n this.computedTag,\n {\n class: { active, disabled },\n attrs: this.computedAttrs,\n props: this.computedProps,\n // We must use `nativeOn` for ``/`` instead of `on`\n [this.isRouterLink ? 'nativeOn' : 'on']: this.computedListeners\n },\n this.normalizeSlot()\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON } from '../../constants/components'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { concat } from '../../utils/array'\nimport { addClass, isTag, removeClass } from '../../utils/dom'\nimport { stopEvent } from '../../utils/events'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { isLink as isLinkStrict } from '../../utils/router'\nimport { BLink, props as BLinkProps } from '../link/link'\n\n// --- Props ---\n\nconst linkProps = omit(BLinkProps, ['event', 'routerTag'])\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...linkProps,\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n pressed: makeProp(PROP_TYPE_BOOLEAN, null),\n size: makeProp(PROP_TYPE_STRING),\n squared: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'button'),\n type: makeProp(PROP_TYPE_STRING, 'button'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n }),\n NAME_BUTTON\n)\n\n// --- Helper methods ---\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = event => {\n if (event.type === 'focusin') {\n addClass(event.target, 'focus')\n } else if (event.type === 'focusout') {\n removeClass(event.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a to get proper disabled handling\nconst isLink = props => isLinkStrict(props) || isTag(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !isTag(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || 'secondary'}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkProps, props) : {})\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(event) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for CODE_SPACE/CODE_ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = event\n // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n if (keyCode === CODE_SPACE || (keyCode === CODE_ENTER && nonStandardTag)) {\n const target = event.currentTarget || event.target\n stopEvent(event, { propagation: false })\n target.click()\n }\n },\n click(event) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_BUTTON_CLOSE } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots'\nimport { stopEvent } from '../../utils/events'\nimport { isEvent } from '../../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n content: makeProp(PROP_TYPE_STRING, '×'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n textVariant: makeProp(PROP_TYPE_STRING)\n },\n NAME_BUTTON_CLOSE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(event) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(event)) {\n stopEvent(event)\n }\n }\n }\n }\n\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots)\n )\n }\n})\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport { Vue, mergeData } from '../../vue'\nimport { NAME_TRANSITION } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'\nimport { isPlainObject } from '../../utils/inspect'\nimport { makeProp } from '../../utils/props'\n\n// --- Constants ---\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// --- Props ---\n\nexport const props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSITION,\n functional: true,\n props,\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_FUNCTION,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport { concat } from '../../utils/array'\nimport { removeNode, select } from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isFunction, isString } from '../../utils/inspect'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { makeProp } from '../../utils/props'\n\n// --- Helper components ---\n\n// BVTransporter/BVTransporterTarget:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BVTransporter\n// Supports only a single root element\n// @vue/component\nconst BVTransporterTarget = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: NAME_TRANSPORTER_TARGET,\n props: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n const { updatedNodes } = this\n\n let $nodes = isFunction(updatedNodes) ? updatedNodes({}) : updatedNodes\n $nodes = concat($nodes).filter(identity)\n if ($nodes && $nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n\n /* istanbul ignore next */\n return h()\n }\n})\n\n// --- Props ---\n\nexport const props = {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // This should be set to match the root element type\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}\n\n// --- Main component ---\n\n// @vue/component\nexport const BVTransporter = /*#__PURE__*/ Vue.extend({\n name: NAME_TRANSPORTER,\n mixins: [normalizeSlotMixin],\n props,\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_defaultFn = null\n this.$_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this.$_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n const { container } = this\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this.$_target) {\n const $container = this.getContainer()\n if ($container) {\n const $el = document.createElement('div')\n $container.appendChild($el)\n this.$_target = new BVTransporterTarget({\n el: $el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot())\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (IS_BROWSER && this.$_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this.$_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this.$_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this.$_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this.$_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n this.$_target && this.$_target.$destroy()\n this.$_target = null\n }\n },\n render(h) {\n // This component has no root element, so only a single VNode is allowed\n if (this.disabled) {\n const $nodes = concat(this.normalizeSlot()).filter(identity)\n if ($nodes.length > 0 && !$nodes[0].text) {\n return $nodes[0]\n }\n }\n return h()\n }\n})\n","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nexport class BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\nimport Vue from \"vue\";\nimport VideoTracksScrubber from \"./VideoTracksScrubber.vue\";\nimport {\n CptvFrame,\n CptvFrameHeader,\n CptvHeader,\n CptvDecoder,\n renderFrameIntoFrameBuffer,\n getFrameIndexAtTime,\n ColourMaps,\n} from \"cptv-decoder\";\nimport {\n PlaybackSpeeds,\n formatTime,\n formatHeaderInfo,\n TrackTag,\n SelectedTrack,\n Track,\n TrackExportOption,\n TrackBox,\n getProcessedTracks,\n} from \"./CptvPlayerUtils\";\nimport FontAwesomeIcon from \"./icons\";\nimport { Prop, Ref, Watch } from \"vue-property-decorator\";\nimport {\n BModal,\n VBModal,\n BButton,\n BFormCheckbox,\n BFormGroup,\n BFormFile,\n BProgress,\n} from \"bootstrap-vue\";\nimport { Mp4Encoder } from \"./mp4-export\";\n\nconst download = (url: string, filename: string) => {\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename || \"download\";\n anchor.click();\n};\n\nlet lastCptvUrl: string | null = null;\nlet frameBuffer: Uint8ClampedArray;\nlet frames: CptvFrame[] = [];\nconst cptvDecoder = new CptvDecoder();\n\n@Component({\n components: {\n VideoTracksScrubber,\n FontAwesomeIcon,\n BModal,\n BFormGroup,\n BButton,\n BFormCheckbox,\n BFormFile,\n BProgress,\n },\n directives: {\n \"b-modal\": VBModal,\n },\n})\nexport default class CptvPlayerComponent extends Vue {\n @Prop({ default: false }) extLoading!: boolean;\n @Prop({ default: null }) cptvUrl!: string | null;\n @Prop({ default: null }) cptvSize!: number | null;\n @Prop({ default: (): string[] => [] }) colours!: string[];\n @Prop({ default: true }) canSelectTracks!: boolean;\n @Prop({ default: false }) showOverlaysForCurrentTrackOnly!: boolean;\n @Prop({ default: false }) standAlone!: boolean;\n @Prop({ default: (): Track[] => [] }) tracks!: Track[];\n @Prop() currentTrack?: SelectedTrack;\n @Prop({ default: null }) knownDuration!: number | null;\n @Prop({ default: null }) recordingId!: number | null;\n @Prop({ default: null }) recentlyAddedTag!: TrackTag | null;\n @Prop({ default: false }) canGoBackwards!: boolean;\n @Prop({ default: false }) canGoForwards!: boolean;\n @Prop({ default: false }) exportRequested!: boolean | string;\n @Prop({ default: true }) canUseAdvancedControls!: boolean;\n\n @Ref() container!: HTMLDivElement;\n @Ref() canvas!: HTMLCanvasElement;\n @Ref() overlayCanvas!: HTMLCanvasElement;\n @Ref() playhead!: HTMLCanvasElement;\n @Ref() valueTooltip!: HTMLElement;\n\n openUserDefinedCptvFile = true;\n userSuppliedFile: File | null = null;\n header: CptvHeader | null = null;\n frameHeader: CptvFrameHeader | null = null;\n atEndOfPlayback = false;\n canvasWidth = 800;\n canvasHeight = 600;\n isScrubbing = false;\n ended = false;\n smoothed = true;\n showValueInfo = false;\n isShowingBackgroundFrame = false;\n internalFrameNum = 0;\n animationTick = 0;\n speedMultiplierIndex = 1;\n paletteIndex = 0;\n animationFrame: number | null = null;\n messageAnimationFrame: number | null = null;\n playing = false;\n stopAtFrame: number | null = null;\n wasPaused = true;\n internalTotalFrames: number | null = null;\n internalLoadedFrames = 0;\n colourMap: [string, Uint32Array] = ColourMaps[0];\n showAdvancedControls = false;\n showDebugTools = false;\n displayHeaderInfo = false;\n loadProgress = 0;\n playerMessage: string | null = null;\n messageTimeout: null | number = null;\n valueUnderCursor: string | null = null;\n buffering = false;\n seekingInProgress = false;\n isExporting = false;\n exportProgress = 0;\n showingHistogram = false;\n globalClampedMin: number | undefined = undefined;\n loadedStream: boolean | string = false;\n streamLoadError: string | null = null;\n scrubberSidePadding = 1;\n devicePixelRatio = 1;\n windowWidth: number = window.innerWidth;\n showAdvancedExportOptions = false;\n minValue: number = Number.MAX_VALUE;\n maxValue: number = Number.MIN_VALUE;\n trackExportOptions: TrackExportOption[] = [];\n scale = 1;\n\n set frameNum(num: number) {\n if (this.totalFrames !== null) {\n if (this.hasBackgroundFrame) {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n } else {\n this.internalFrameNum = Math.max(0, Math.min(this.totalFrames, num));\n }\n } else {\n this.internalFrameNum = num;\n }\n }\n get frameNum(): number {\n if (this.totalFrames !== null) {\n return Math.min(this.internalFrameNum, this.totalFrames - 1);\n }\n return this.internalFrameNum;\n }\n get totalFrames(): number | null {\n if (this.internalTotalFrames === null) {\n return null;\n }\n return this.hasBackgroundFrame\n ? this.internalTotalFrames - 1\n : this.internalTotalFrames;\n }\n set totalFrames(num: number | null) {\n this.internalTotalFrames = num;\n }\n get loadedFrames(): number {\n return this.hasBackgroundFrame\n ? this.internalLoadedFrames - 1\n : this.internalLoadedFrames;\n }\n set loadedFrames(num: number) {\n this.internalLoadedFrames = num;\n }\n get isBuffering(): boolean {\n return this.extLoading || this.buffering;\n }\n get scrubberWidth(): number {\n return this.canvasWidth - this.scrubberSidePadding * 2;\n }\n get afterAnyTracks(): boolean {\n return !this.atEndOfPlayback;\n }\n get playheadOffsetForCurrentTime(): number {\n const pixelsPerSecond = this.scrubberWidth / this.actualDuration;\n return (\n this.scrubberSidePadding +\n Math.min(this.scrubberWidth, pixelsPerSecond * this.currentTime60fps)\n );\n }\n get hasStreamLoadError(): boolean {\n return this.streamLoadError !== null;\n }\n set hasStreamLoadError(val: boolean) {\n if (!val) {\n this.streamLoadError = null;\n }\n }\n get processedTracks(): Record> {\n return getProcessedTracks(\n this.tracks,\n this.timeAdjustmentForBackgroundFrame,\n this.frameTimeSeconds,\n this.hasBackgroundFrame\n );\n }\n get actualDuration(): number {\n if (this.header !== null) {\n const fps = this.header.fps;\n if (this.totalFrames !== null) {\n return (this.totalFrames - 1) / fps;\n }\n if (this.knownDuration === null && this.loadedFrames) {\n return (this.loadedFrames - 1) / fps;\n }\n }\n return Math.max(\n ...this.tracks.map(\n (track) => track.data.end_s - this.timeAdjustmentForBackgroundFrame\n ),\n this.duration - this.timeAdjustmentForBackgroundFrame\n );\n }\n get timeAdjustmentForBackgroundFrame(): number {\n if (this.hasBackgroundFrame) {\n return this.frameTimeSeconds;\n }\n return 0;\n }\n get hasBackgroundFrame(): boolean {\n return (\n (this.header && (this.header.hasBackgroundFrame as boolean)) || false\n );\n }\n get duration(): number {\n return this.knownDuration || 0;\n }\n get currentTime60fps(): number {\n if (this.header) {\n const holdForXFrames = Math.ceil(\n 60 / ((this.header.fps as number) * this.speedMultiplier)\n );\n const tick = Math.max(0, this.animationTick - 1);\n const adjustment =\n (tick % holdForXFrames) * (1 / holdForXFrames / holdForXFrames);\n //console.log(tick, adjustment, tick % holdForXFrames, holdForXFrames, 1/holdForXFrames / holdForXFrames);\n return this.currentTime + adjustment;\n }\n return 0;\n }\n get frameTimeSeconds(): number {\n if (this.header) {\n return 1 / (this.header.fps as number);\n }\n return 1 / 9;\n }\n get elapsedTime(): string {\n return formatTime(this.currentTime);\n }\n get currentTime(): number {\n if (this.header) {\n const totalTime = this.actualDuration;\n const totalFramesEstimate = totalTime * (this.header.fps as number);\n return (this.frameNum / totalFramesEstimate) * totalTime;\n }\n return 0;\n }\n get ambientTemperature(): string | false {\n if (this.frameHeader && this.frameHeader.frameTempC) {\n return `About ${Math.round(this.frameHeader.frameTempC)}ºC`;\n }\n return false;\n }\n get secondsSinceLastFFC(): number | null {\n if (this.frameHeader && this.frameHeader.lastFfcTimeMs) {\n return (\n (this.frameHeader.timeOnMs - this.frameHeader.lastFfcTimeMs) / 1000\n );\n }\n return null;\n }\n get speedMultiplier(): number {\n return PlaybackSpeeds[this.speedMultiplierIndex];\n }\n get headerInfo(): string | null {\n return formatHeaderInfo(this.header);\n }\n get exportOptions(): TrackExportOption[] {\n return this.tracks\n .map(({ trackIndex, data }) => ({ trackIndex, start: data.start_s }))\n .sort((a, b) => a.start - b.start)\n .map((track) => ({\n includeInExportTime: true,\n displayInExport: true,\n trackIndex: track.trackIndex,\n }));\n }\n get hasVideo(): boolean {\n return !(this.cptvUrl === null && this.userSuppliedFile === null);\n }\n created(): void {\n // Restore user preferences\n const smoothingPreference = window.localStorage.getItem(\"video-smoothing\");\n if (smoothingPreference) {\n this.smoothed = smoothingPreference === \"true\";\n }\n const palettePreference = window.localStorage.getItem(\"video-palette\");\n if (palettePreference) {\n this.paletteIndex = ColourMaps.findIndex(\n ([name]) => name === palettePreference\n );\n this.colourMap = ColourMaps[this.paletteIndex];\n }\n const playbackSpeed = window.localStorage.getItem(\"video-playback-speed\");\n if (playbackSpeed) {\n this.speedMultiplierIndex = PlaybackSpeeds.findIndex(\n (mul) => mul === Number(playbackSpeed)\n );\n }\n const showDebugTools = window.localStorage.getItem(\"show-debug-tools\");\n if (showDebugTools) {\n this.showDebugTools = showDebugTools === \"true\";\n }\n }\n\n async mounted(): Promise {\n // This makes button active styles work in safari iOS.\n document.addEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n\n this.canvas.width = 160;\n this.canvas.height = 120;\n\n window.addEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n // NOTE This is only needed for multi-monitor setups where the DPI can change if the window is moved\n // between screens of differing DPIs. iOS 12 and lower don't support this.\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.addEventListener &&\n match.addEventListener(\"change\", this.setCanvasDimensions);\n }\n\n this.setCanvasDimensions();\n this.buffering = true;\n if (this.canSelectTracks) {\n this.overlayCanvas.addEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.addEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n if (lastCptvUrl !== this.cptvUrl) {\n await this.initPlayer();\n } else {\n this.clearCanvas();\n }\n this.initTrackExportOptions();\n }\n beforeDestroy(): void {\n document.removeEventListener(\"touchstart\", this.dismissAnyTooltips, false);\n this.loadedStream = false;\n this.clearCanvas();\n if (this.canSelectTracks) {\n this.overlayCanvas.removeEventListener(\"click\", this.clickOverlayCanvas);\n this.overlayCanvas.removeEventListener(\n \"mousemove\",\n this.moveOverOverlayCanvas\n );\n }\n window.removeEventListener(\"resize\", this.onResize);\n if (window.matchMedia) {\n const match = window.matchMedia(\"screen and (min-resolution: 2dppx)\");\n match.removeEventListener &&\n match.removeEventListener(\"change\", this.setCanvasDimensions);\n }\n }\n\n async ensureEntireFileIsLoaded(): Promise {\n while (!this.totalFrames) {\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n this.totalFrames = await cptvDecoder.getTotalFrames();\n }\n }\n\n @Watch(\"exportRequested\")\n async onExportRequested(): Promise {\n if (this.exportRequested) {\n if (this.exportRequested === \"advanced\") {\n this.showAdvancedExportOptions = true;\n this.initTrackExportOptions();\n } else {\n await this.exportMp4();\n }\n }\n }\n\n @Watch(\"userSuppliedFile\")\n async onUserSuppliedFileChanged(): Promise {\n if (this.userSuppliedFile !== null) {\n this.openUserDefinedCptvFile = false;\n this.buffering = true;\n const buffer = await this.userSuppliedFile.arrayBuffer();\n await this.initPlayer();\n await this.loadCptvFile(new Uint8Array(buffer), false);\n await this.ensureEntireFileIsLoaded();\n this.buffering = false;\n await this.play();\n } else {\n this.openUserDefinedCptvFile = true;\n }\n }\n\n @Watch(\"currentTrack\")\n onCurrentTrack(): void {\n if (this.playing) {\n this.selectTrack(true);\n } else {\n this.selectTrack(true, true);\n this.animationTick = 0;\n cancelAnimationFrame(this.animationFrame as number);\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n }\n @Watch(\"recentlyAddedTag\")\n onRecentlyAddedTag(): void {\n // Update the box label for a recently added tag\n this.renderOverlay(\n this.overlayCanvas.getContext(\"2d\"),\n this.scale,\n this.secondsSinceLastFFC,\n false,\n this.frameNum\n );\n }\n @Watch(\"cptvUrl\")\n onCptvUrl(): void {\n if (this.cptvUrl !== lastCptvUrl) {\n this.initPlayer();\n }\n }\n @Watch(\"tracks\")\n onTracks(): void {\n this.trackExportOptions = this.exportOptions;\n }\n\n dismissAnyTooltips(): void {\n this.$root.$emit(\"bv::hide::tooltip\");\n }\n initTrackExportOptions(): void {\n this.trackExportOptions = this.exportOptions;\n }\n firstFrameForTrack(trackIndex: number): number {\n const frameForTrack = Object.entries(\n this.processedTracks\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ).find(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n return (frameForTrack && Number(frameForTrack[0])) || 0;\n }\n onPastLastFrameForTrack(trackIndex: number): number {\n const entries = Object.entries(this.processedTracks);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) =>\n Object.keys(tracks).map(Number).includes(trackIndex)\n );\n const fromStartOfTrack = entries.slice(firstFrameForTrackIndex);\n let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex)\n );\n if (onePastLastFrameForTrackIndex === -1) {\n onePastLastFrameForTrackIndex = fromStartOfTrack.length;\n }\n const lastFrameForTrack =\n fromStartOfTrack[onePastLastFrameForTrackIndex - 1];\n if (this.totalFrames !== null) {\n return Math.min(\n this.totalFrames,\n (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0\n );\n } else {\n return (lastFrameForTrack && Number(lastFrameForTrack[0])) || 0;\n }\n }\n async initPlayer(): Promise {\n this.loadedStream = false;\n this.streamLoadError = null;\n this.clearCanvas();\n this.atEndOfPlayback = false;\n this.frameNum = 0;\n this.header = null;\n this.ended = false;\n this.animationTick = 0;\n this.loadedFrames = 0;\n this.totalFrames = null;\n this.loadProgress = 0;\n this.playing = true;\n this.wasPaused = true;\n this.canvas.width = 160;\n this.canvas.height = 120;\n this.minValue = Number.MAX_VALUE;\n this.maxValue = Number.MIN_VALUE;\n this.trackExportOptions = [];\n frames = [];\n cancelAnimationFrame(this.animationFrame as number);\n if (this.cptvUrl !== null) {\n this.openUserDefinedCptvFile = false;\n await this.loadCptvFile();\n }\n }\n async loadCptvFile(\n localFile: Uint8Array | null = null,\n playImmediately = true\n ): Promise {\n if (!localFile) {\n if (this.cptvUrl) {\n this.loadedStream = await cptvDecoder.initWithCptvUrlAndKnownSize(\n this.cptvUrl,\n this.cptvSize || 0\n );\n }\n } else {\n this.loadedStream = await cptvDecoder.initWithLocalCptvFile(localFile);\n }\n if (typeof this.loadedStream === \"string\") {\n if (this.loadedStream === \"Failed to verify JWT.\") {\n window.location.reload();\n } else {\n this.streamLoadError = this.loadedStream;\n }\n } else if (this.loadedStream) {\n lastCptvUrl = this.cptvUrl;\n this.header = Object.freeze(await cptvDecoder.getHeader());\n this.scale = this.canvasWidth / this.header.width;\n this.$emit(\"ready-to-play\");\n frameBuffer = new Uint8ClampedArray(\n this.header.width * this.header.height * 4\n );\n this.canvas.width = this.header.width;\n this.canvas.height = this.header.height;\n cancelAnimationFrame(this.animationFrame as number);\n if (playImmediately) {\n await this.fetchRenderAdvanceFrame();\n this.buffering = false;\n }\n }\n }\n getFrameAtIndex(i: number): CptvFrame {\n const frameIndex = this.hasBackgroundFrame\n ? Math.min(frames.length - 1, i + 1)\n : Math.min(frames.length - 1, i);\n const frame = frames[frameIndex];\n // We keep a running tally of min/max values across the clip for\n // normalisation purposes.\n const minValue = frame.meta.imageData.min;\n const maxValue = frame.meta.imageData.max;\n // Values within 5 seconds of an FFC event do not contribute to this.\n const withinFfcTimeout =\n frame.meta.lastFfcTimeMs &&\n frame.meta.timeOnMs - frame.meta.lastFfcTimeMs < 5000;\n if (minValue !== 0 && (frame.meta.isBackgroundFrame || !withinFfcTimeout)) {\n // If the minimum value is zero, it's probably a glitched frame.\n this.minValue = Math.min(this.minValue, minValue);\n this.maxValue = Math.max(this.maxValue, maxValue);\n const AVERAGE_HEADROOM_OVER_BACKGROUND = 300;\n this.maxValue = Math.max(\n Math.max(this.maxValue, maxValue),\n Math.min(1 << 16, this.minValue + AVERAGE_HEADROOM_OVER_BACKGROUND)\n );\n }\n return frame;\n }\n selectTrack(force = false, shouldPlay = false): void {\n if (this.currentTrack && (!this.playing || force)) {\n if (this.currentTrack.start_s !== undefined) {\n if (\n this.processedTracks &&\n this.currentTrack.trackIndex <\n Object.keys(this.processedTracks).length\n ) {\n cancelAnimationFrame(this.animationFrame as number);\n this.animationTick = 0;\n this.setTimeAndRedraw(this.currentTrack.start_s + 0.01);\n if (shouldPlay) {\n this.play();\n }\n }\n }\n if (this.currentTrack.end_s !== undefined) {\n // This is used when a user selects a track from the TrackInfo panel.\n // In that case we don't want it selecting another track as it plays on from\n // the selected track, since the user likely wants to tag the track they selected.\n\n // Any other further user interaction should unset stopAtTime.\n this.stopAtFrame = this.onPastLastFrameForTrack(\n this.currentTrack.trackIndex\n );\n } else {\n this.stopAtFrame = null;\n }\n }\n }\n toggleHistogram(): void {\n this.showingHistogram = !this.showingHistogram;\n }\n async stepForward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const canAdvance = await this.renderCurrentFrame(true, this.frameNum + 1);\n if (canAdvance) {\n this.frameNum++;\n }\n if (!canAdvance) {\n debugger;\n }\n if (this.totalFrames !== null) {\n this.atEndOfPlayback = this.frameNum === this.totalFrames - 1;\n } else {\n this.atEndOfPlayback = false;\n }\n }\n async stepBackward(): Promise {\n this.isShowingBackgroundFrame = false;\n this.pause();\n this.animationTick = 0;\n const couldStep = await this.renderCurrentFrame(true, this.frameNum - 1);\n if (couldStep) {\n this.frameNum = Math.max(0, this.frameNum - 1);\n this.atEndOfPlayback = false;\n }\n }\n async clickOverlayCanvas(event: MouseEvent): Promise {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (hitTrackIndex !== null) {\n await this.renderCurrentFrame();\n this.$emit(\"track-selected\", {\n trackIndex: hitTrackIndex,\n });\n }\n }\n clearCanvas(): void {\n const canvas = this.canvas as HTMLCanvasElement;\n const context = canvas.getContext(\"2d\");\n context && context.clearRect(0, 0, canvas.width, canvas.height);\n\n const overlayCanvas = this.overlayCanvas as HTMLCanvasElement;\n const overlayContext = overlayCanvas.getContext(\"2d\");\n overlayContext &&\n overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);\n }\n moveOverOverlayCanvas(event: MouseEvent): void {\n const canvasOffset = this.canvas.getBoundingClientRect();\n const x = event.x - canvasOffset.x;\n const y = event.y - canvasOffset.y;\n const hitTrackIndex = this.getTrackIndexAtPosition(x, y);\n // set cursor\n this.overlayCanvas.style.cursor =\n hitTrackIndex !== null ? \"pointer\" : \"default\";\n if (this.showValueInfo && this.header) {\n this.canvas.style.cursor = \"default\";\n // Map the x,y into canvas size\n const pX = Math.floor(x / this.scale);\n const pY = Math.floor(y / this.scale);\n const frameData = this.isShowingBackgroundFrame\n ? this.getFrameAtIndex(-1)\n : this.getFrameAtIndex(this.frameNum);\n this.valueUnderCursor = `(${pX}, ${pY}) ${\n frameData.data[pY * this.header.width + pX]\n }`;\n if (x > canvasOffset.right - canvasOffset.x - 100) {\n this.valueTooltip.style.left = `${x - 100}px`;\n } else {\n this.valueTooltip.style.left = `${x + 2}px`;\n }\n if (y < canvasOffset.top - canvasOffset.y + 20) {\n this.valueTooltip.style.top = `${y + 20}px`;\n } else {\n this.valueTooltip.style.top = `${y - 20}px`;\n }\n }\n }\n async fetchRenderAdvanceFrame(): Promise {\n // Fetch, render, advance\n const canAdvance = await this.renderCurrentFrame();\n if (canAdvance) {\n return true;\n } else if (this.playing) {\n this.pause();\n }\n return false;\n }\n toggleAdvancedControls(): void {\n this.showAdvancedControls = !this.showAdvancedControls;\n }\n toggleDebugTools(): void {\n this.showDebugTools = !this.showDebugTools;\n window.localStorage.setItem(\n \"show-debug-tools\",\n this.showDebugTools.toString()\n );\n }\n minMaxForFrame({ meta }: CptvFrame): [number, number] {\n if (meta.isBackgroundFrame) {\n return [this.minValue, this.maxValue];\n }\n const lastFfcTimeMs = meta.lastFfcTimeMs || 1000000;\n const timeSinceLastFFC = (meta.timeOnMs - lastFfcTimeMs) / 1000;\n if (timeSinceLastFFC < 5) {\n // Use frame local min/max\n return [meta.imageData.min, meta.imageData.max];\n }\n\n return [this.minValue, this.maxValue];\n }\n cancelExport(): void {\n this.exportProgress = 0;\n this.isExporting = false;\n }\n async exportMp4(\n trackExportOptions?: {\n includeInExportTime: boolean;\n displayInExport: boolean;\n trackIndex: number;\n }[]\n ): Promise {\n if (!this.header) {\n return;\n }\n\n this.pause();\n this.isExporting = true;\n this.exportProgress = 0;\n const renderCanvas = document.createElement(\"canvas\");\n const targetWidth = 640;\n const targetHeight = 480;\n const encoder = new Mp4Encoder();\n await encoder.init(targetWidth, targetHeight, this.header.fps);\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n renderCanvas.width = targetWidth;\n renderCanvas.height = targetHeight;\n const context = renderCanvas.getContext(\"2d\");\n const videoCanvas = document.createElement(\"canvas\");\n videoCanvas.width = this.header.width;\n videoCanvas.height = this.header.height;\n const videoContext = videoCanvas.getContext(\"2d\");\n if (videoContext === null || context === null) {\n return;\n }\n\n // Make sure everything is loaded to ensure that we have final min/max numbers for normalisation\n await this.ensureEntireFileIsLoaded();\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n console.assert(this.totalFrames !== null);\n const totalFrames = this.totalFrames || 0;\n let startFrame = 0;\n let onePastLastFrame = totalFrames;\n if (\n trackExportOptions &&\n trackExportOptions.filter((track) => track.includeInExportTime).length !==\n 0\n ) {\n startFrame = totalFrames;\n onePastLastFrame = 0;\n for (const { includeInExportTime, trackIndex } of trackExportOptions) {\n if (includeInExportTime) {\n const track = this.tracks.find(\n (track) => track.trackIndex === trackIndex\n );\n if (track) {\n const startTrackFrame = this.getFrameAtTime(track.data.start_s - 1);\n const endTrackFrame = this.getFrameAtTime(track.data.end_s + 1);\n startFrame = Math.min(startFrame, startTrackFrame);\n onePastLastFrame = Math.max(onePastLastFrame, endTrackFrame);\n }\n }\n }\n }\n let frameNum = startFrame;\n while (frameNum < onePastLastFrame) {\n const frameData = this.getFrameAtIndex(frameNum);\n const frameHeader = frameData.meta;\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n videoContext.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n context.imageSmoothingEnabled = this.smoothed;\n if (this.smoothed) {\n context.imageSmoothingQuality = \"high\";\n }\n context.drawImage(\n videoCanvas,\n 0,\n 0,\n videoCanvas.width,\n videoCanvas.height,\n 0,\n 0,\n renderCanvas.width,\n renderCanvas.height\n );\n\n // Draw the overlay\n let timeSinceLastFFCSeconds = Number.MAX_SAFE_INTEGER;\n if (frameHeader.lastFfcTimeMs) {\n timeSinceLastFFCSeconds =\n (frameHeader.timeOnMs - frameHeader.lastFfcTimeMs) / 1000;\n }\n this.renderOverlay(\n context,\n renderCanvas.width / videoCanvas.width,\n timeSinceLastFFCSeconds,\n true,\n frameNum,\n trackExportOptions\n );\n await encoder.encodeFrame(\n context.getImageData(0, 0, targetWidth, targetHeight).data\n );\n if (!this.isExporting) {\n encoder.close();\n // Check for cancellation\n return;\n }\n this.exportProgress =\n (frameNum - startFrame) / (onePastLastFrame - startFrame);\n frameNum++;\n }\n const uint8Array = await encoder.finish();\n encoder.close();\n if (!this.isExporting) {\n // Check for cancellation\n return;\n }\n // Reset any export options\n this.initTrackExportOptions();\n const recordingIdSuffix =\n this.recordingId !== null ? `recording_${this.recordingId}__` : \"\";\n download(\n URL.createObjectURL(new Blob([uint8Array], { type: \"video/mp4\" })),\n `${recordingIdSuffix}${new Date(\n this.header.timestamp / 1000\n ).toLocaleString()}`\n );\n this.isExporting = false;\n this.$emit(\"export-complete\");\n }\n renderFrame(\n frameData: CptvFrame,\n frameNum: number | false,\n force = false\n ): void {\n if (this.canvas && this.header) {\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(frameData);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n frameData.data,\n this.colourMap[1],\n min,\n max\n );\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() => {\n if (this.header) {\n this.drawFrame(\n context,\n new ImageData(frameBuffer, this.header.width, this.header.height),\n frameNum || this.frameNum,\n force\n );\n }\n });\n }\n }\n async drawFrame(\n context: CanvasRenderingContext2D,\n imgData: ImageData,\n frameNum: number,\n force = false\n ): Promise {\n if (context && this.header) {\n if (force) {\n this.animationTick = 0;\n }\n // One tick represents 1000 / fps * multiplier\n const everyXTicks = Math.max(\n 1,\n Math.floor(60 / (this.header.fps * this.speedMultiplier))\n );\n // NOTE: respect fps here, render only when we should.\n const shouldRedraw =\n (this.animationTick + (this.playing ? 1 : 0)) % everyXTicks === 0;\n if (context && (shouldRedraw || force)) {\n context.putImageData(imgData, 0, 0);\n if (this.overlayCanvas) {\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n this.renderOverlay(\n overlayContext,\n this.scale,\n this.secondsSinceLastFFC,\n false,\n frameNum\n );\n\n {\n const time = `${this.elapsedTime} / ${formatTime(\n Math.max(this.currentTime, this.actualDuration)\n )}`;\n this.drawBottomRightOverlayLabel(time, overlayContext);\n // Draw time and temperature in\n // overlayContext.\n this.drawBottomLeftOverlayLabel(\n this.ambientTemperature,\n overlayContext\n );\n }\n }\n }\n let didAdvance = false;\n if (this.playing) {\n didAdvance = await this.fetchRenderAdvanceFrame();\n }\n\n if (didAdvance) {\n this.animationTick = 0;\n this.frameNum++;\n } else {\n this.animationTick++;\n }\n // Check if we're at the end:\n if (\n this.header &&\n this.totalFrames &&\n this.frameNum === this.totalFrames - 1\n ) {\n this.atEndOfPlayback = true;\n }\n } else if (context) {\n this.animationTick++;\n cancelAnimationFrame(this.animationFrame as number);\n this.animationFrame = requestAnimationFrame(() =>\n this.drawFrame(context, imgData, frameNum)\n );\n }\n\n // Update playhead:\n const playhead = this.playhead;\n if (playhead) {\n const playheadContext = playhead.getContext(\"2d\");\n if (playheadContext) {\n playheadContext.fillStyle = \"rgba(0, 0, 0, 0.35)\";\n playheadContext.clearRect(0, 0, playhead.width, playhead.height);\n const playheadX =\n this.playheadOffsetForCurrentTime * this.devicePixelRatio;\n playheadContext.fillRect(0, 0, playheadX, playhead.height);\n playheadContext.lineWidth = this.devicePixelRatio;\n playheadContext.strokeStyle = \"white\";\n playheadContext.beginPath();\n playheadContext.moveTo(playheadX, 0);\n playheadContext.lineTo(playheadX, playhead.height);\n playheadContext.stroke();\n }\n }\n\n if (this.playing && this.stopAtFrame) {\n if (this.frameNum === this.stopAtFrame) {\n this.stopAtFrame = null;\n this.pause();\n }\n }\n }\n }\n setLabelFontStyle(overlayContext: CanvasRenderingContext2D): void {\n overlayContext.font = \"13px sans-serif\";\n overlayContext.lineWidth = 4;\n overlayContext.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n overlayContext.fillStyle = \"white\";\n }\n drawBottomLeftOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n overlayContext.strokeText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n sidePadding,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n drawBottomRightOverlayLabel(\n label: string | false,\n overlayContext: CanvasRenderingContext2D\n ): void {\n if (label) {\n this.setLabelFontStyle(overlayContext);\n const bottomPadding = 10;\n const sidePadding = 10;\n const labelWidth =\n overlayContext.measureText(label).width * this.devicePixelRatio;\n overlayContext.strokeText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n overlayContext.fillText(\n label,\n (overlayContext.canvas.width -\n (labelWidth + sidePadding * this.devicePixelRatio)) /\n this.devicePixelRatio,\n (overlayContext.canvas.height - bottomPadding * this.devicePixelRatio) /\n this.devicePixelRatio\n );\n }\n }\n incrementSpeed(): void {\n this.speedMultiplierIndex++;\n if (this.speedMultiplierIndex === PlaybackSpeeds.length) {\n this.speedMultiplierIndex = 0;\n }\n this.setPlayerMessage(\n `Speed ${PlaybackSpeeds[this.speedMultiplierIndex]}x`\n );\n window.localStorage.setItem(\n \"video-playback-speed\",\n PlaybackSpeeds[this.speedMultiplierIndex].toString()\n );\n }\n async incrementPalette(): Promise {\n this.paletteIndex++;\n if (this.paletteIndex === ColourMaps.length) {\n this.paletteIndex = 0;\n }\n const paletteName = ColourMaps[this.paletteIndex][0];\n this.setPlayerMessage(paletteName);\n window.localStorage.setItem(\"video-palette\", paletteName);\n this.colourMap = ColourMaps[this.paletteIndex];\n await this.renderCurrentFrame();\n }\n showHeaderInfo(): void {\n this.displayHeaderInfo = true;\n }\n setPlayerMessage(message: string): void {\n if (this.messageTimeout !== null || this.playerMessage !== null) {\n clearTimeout(this.messageTimeout as number);\n this.messageTimeout = null;\n this.playerMessage = null;\n cancelAnimationFrame(this.messageAnimationFrame as number);\n this.messageAnimationFrame = requestAnimationFrame(() => {\n this.setPlayerMessage(message);\n });\n } else {\n this.playerMessage = message;\n this.messageTimeout = setTimeout(() => {\n this.messageTimeout = null;\n this.playerMessage = null;\n }, 1000);\n }\n }\n renderOverlay(\n context: CanvasRenderingContext2D | null,\n scale: number,\n timeSinceFFCSeconds: number | null,\n isExporting: boolean,\n frameNum: number,\n trackExportOptions?: TrackExportOption[]\n ): void {\n if (context) {\n if (!isExporting) {\n // Clear if we are drawing on the live overlay, but not if we're drawing for export\n context.clearRect(0, 0, context.canvas.width, context.canvas.height);\n }\n const tracks =\n this.processedTracks[frameNum] || ({} as Record);\n const frameTracks = Object.entries(tracks);\n if (\n this.currentTrack &&\n !isExporting &&\n this.canSelectTracks &&\n frameTracks.length === 1\n ) {\n const trackIndex = Number(frameTracks[0][0]);\n // If the track is the only track at this time offset, make it the selected track.\n if (this.currentTrack.trackIndex !== trackIndex) {\n this.$emit(\"track-selected\", {\n trackIndex,\n });\n }\n }\n\n if (\n this.currentTrack &&\n (!this.showOverlaysForCurrentTrackOnly || isExporting)\n ) {\n for (const [trackIndex, trackBox] of frameTracks) {\n if (this.currentTrack.trackIndex !== Number(trackIndex)) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n }\n // Always draw selected track last, so it sits on top of any overlapping tracks.\n for (const [trackIndex, trackBox] of frameTracks) {\n if (\n this.currentTrack &&\n this.currentTrack.trackIndex === Number(trackIndex)\n ) {\n if (\n !trackExportOptions ||\n trackExportOptions[Number(trackIndex)].displayInExport\n ) {\n const box = trackBox as TrackBox;\n this.drawRectWithText(\n context,\n Number(trackIndex),\n box.rect,\n box.what,\n isExporting\n );\n }\n }\n }\n if (timeSinceFFCSeconds !== null && timeSinceFFCSeconds < 10) {\n context.font = \"bold 15px Verdana\";\n\n // NOTE: Make opacity of text stronger when the FFC event has just happened, then fade out\n let a = 1 / (10 - timeSinceFFCSeconds);\n a = a * a;\n const alpha = 1 - a;\n context.fillStyle = `rgba(163, 210, 226, ${alpha})`;\n\n const text = \"Calibrating...\";\n const textWidth = context.measureText(text).width;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const textX = context.canvas.width / deviceRatio / 2 - textWidth / 2;\n const textY = 20;\n context.fillText(text, textX, textY);\n }\n }\n }\n drawRectWithText(\n context: CanvasRenderingContext2D,\n trackIndex: number,\n dims: [number, number, number, number],\n what: string | null,\n isExporting: boolean\n ): void {\n if (!this.header) {\n return;\n }\n const selected =\n (this.currentTrack && this.currentTrack.trackIndex === trackIndex) ||\n isExporting;\n const lineWidth = selected ? 2 : 1;\n const outlineWidth = lineWidth + 4;\n const halfOutlineWidth = outlineWidth / 2;\n const deviceRatio = isExporting ? 1 : window.devicePixelRatio;\n const scale = context.canvas.width / this.header.width;\n const [left, top, right, bottom] = dims.map((x) => x * scale);\n const rectWidth = right - left;\n const rectHeight = bottom - top;\n\n const x =\n Math.max(halfOutlineWidth, Math.round(left) - halfOutlineWidth) /\n deviceRatio;\n const y =\n Math.max(halfOutlineWidth, Math.round(top) - halfOutlineWidth) /\n deviceRatio;\n const width =\n Math.round(Math.min(context.canvas.width - left, Math.round(rectWidth))) /\n deviceRatio;\n const height =\n Math.round(\n Math.min(context.canvas.height - top, Math.round(rectHeight))\n ) / deviceRatio;\n context.lineJoin = \"round\";\n context.lineWidth = outlineWidth;\n context.strokeStyle = `rgba(0, 0, 0, ${selected ? 0.4 : 0.5})`;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n context.strokeStyle = this.colours[trackIndex % this.colours.length];\n context.lineWidth = lineWidth;\n context.beginPath();\n context.strokeRect(x, y, width, height);\n if (selected || isExporting) {\n // If exporting, show all the best guess animal tags, if not unknown\n if (what !== null) {\n const text = what;\n const textHeight = 9 * deviceRatio;\n const textWidth = context.measureText(text).width * deviceRatio;\n const marginX = 2 * deviceRatio;\n const marginTop = 2 * deviceRatio;\n let textX =\n Math.min(context.canvas.width, right) - (textWidth + marginX);\n let textY = bottom + textHeight + marginTop;\n // Make sure the text doesn't get clipped off if the box is near the frame edges\n if (textY + textHeight > context.canvas.height) {\n textY = top - textHeight;\n }\n if (textX < 0) {\n textX = left + marginX;\n }\n context.font = \"13px sans-serif\";\n context.lineWidth = 4;\n context.strokeStyle = \"rgba(0, 0, 0, 0.5)\";\n context.strokeText(text, textX / deviceRatio, textY / deviceRatio);\n context.fillStyle = \"white\";\n context.fillText(text, textX / deviceRatio, textY / deviceRatio);\n }\n }\n }\n toggleSmoothing(): void {\n this.smoothed = !this.smoothed;\n window.localStorage.setItem(\"video-smoothing\", String(this.smoothed));\n this.setPlayerMessage(\n `Smoothing ${this.smoothed ? \"Enabled\" : \"Disabled\"}`\n );\n }\n togglePicker(): void {\n // When we move the cursor over the image, should show raw and estimated temp values of pixel under cursor.\n this.showValueInfo = !this.showValueInfo;\n }\n async toggleBackground(): Promise {\n this.wasPaused = !this.playing;\n if (!this.isShowingBackgroundFrame) {\n const background = this.getFrameAtIndex(-1);\n if (background && this.header) {\n this.animationTick = 0;\n if (this.playing) {\n this.pause();\n this.wasPaused = true;\n }\n const context = this.canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n const [min, max] = this.minMaxForFrame(background);\n renderFrameIntoFrameBuffer(\n frameBuffer,\n background.data,\n this.colourMap[1],\n min,\n max\n );\n context.putImageData(\n new ImageData(frameBuffer, this.header.width, this.header.height),\n 0,\n 0\n );\n // Clear overlay\n const overlayContext = this.overlayCanvas.getContext(\"2d\");\n if (overlayContext) {\n overlayContext.clearRect(\n 0,\n 0,\n overlayContext.canvas.width,\n overlayContext.canvas.height\n );\n this.drawBottomLeftOverlayLabel(\"Background frame\", overlayContext);\n }\n }\n } else {\n if (!this.wasPaused) {\n this.wasPaused = false;\n await this.play();\n } else {\n await this.renderCurrentFrame(true);\n }\n }\n this.isShowingBackgroundFrame = !this.isShowingBackgroundFrame;\n }\n getTrackIndexAtPosition(x: number, y: number): number | null {\n const tracks =\n this.processedTracks[this.frameNum] || ({} as Record);\n for (const [trackIndex, trackBox] of Object.entries(tracks)) {\n const box = trackBox as TrackBox;\n const [left, top, right, bottom] = box.rect.map((x) => x * this.scale);\n if (left <= x && right > x && top <= y && bottom > y) {\n // If the track is already selected, ignore it\n if (\n this.currentTrack &&\n Number(trackIndex) === this.currentTrack.trackIndex\n ) {\n continue;\n }\n return Number(trackIndex);\n }\n }\n return null;\n }\n onResize(): void {\n // Only trigger if width has changed, since scrolling on mobile will hide the browser chrome at top\n // and trigger a resize\n if (window.innerWidth !== this.windowWidth) {\n this.windowWidth = window.innerWidth;\n this.animationTick = 0;\n this.setCanvasDimensions();\n }\n }\n setCanvasDimensions(): void {\n const canvasDimensions = this.canvas.getBoundingClientRect();\n this.canvasWidth = canvasDimensions.width;\n this.scale = this.canvasWidth / 160;\n if (this.header) {\n this.scale = this.canvasWidth / this.header.width;\n }\n this.canvasHeight = canvasDimensions.width * 0.75;\n this.devicePixelRatio = window.devicePixelRatio;\n const canvas = this.overlayCanvas;\n canvas.width = this.canvasWidth * this.devicePixelRatio;\n canvas.height = this.canvasHeight * this.devicePixelRatio;\n canvas.style.width = `${this.canvasWidth}px`;\n canvas.style.height = `${this.canvasHeight}px`;\n const context = canvas.getContext(\"2d\");\n this.container.style.maxHeight = `${this.canvasHeight}px`;\n if (context) {\n context.scale(this.devicePixelRatio, this.devicePixelRatio);\n }\n if (this.header) {\n this.renderCurrentFrame();\n }\n }\n getFrameAtTime(time: number): number {\n if (this.header) {\n return getFrameIndexAtTime(\n time,\n this.actualDuration,\n this.header.fps,\n this.loadedFrames,\n this.header.hasBackgroundFrame\n );\n }\n return 0;\n }\n async setTimeAndRedraw(time: number): Promise {\n // If the user is already seeking, don't queue up new seek events until that download progress completes.\n if (!this.seekingInProgress) {\n this.isShowingBackgroundFrame = false;\n let totalFrames = this.totalFrames;\n if (this.header) {\n if (totalFrames === null) {\n totalFrames = Math.floor(\n this.actualDuration * (this.header.fps as number)\n );\n }\n this.animationTick = 0;\n this.frameNum = Math.floor(\n Math.min(\n totalFrames as number,\n (time / this.actualDuration) * (totalFrames as number)\n )\n );\n if (this.atEndOfPlayback) {\n this.atEndOfPlayback = this.frameNum === totalFrames;\n }\n await this.renderCurrentFrame(true);\n }\n }\n }\n async renderCurrentFrame(force = false, frameNum?: number): Promise {\n if (this.header) {\n this.loadProgress = await cptvDecoder.getLoadProgress();\n if (frameNum === undefined) {\n frameNum = this.frameNum;\n }\n if (frameNum > this.loadedFrames + 2 && !this.totalFrames) {\n this.buffering = true;\n }\n while (this.loadedFrames <= frameNum && !this.totalFrames) {\n this.seekingInProgress = true;\n const frame = await cptvDecoder.getNextFrame();\n if (frame === null) {\n // Poll again so that we can read out totalFrames\n await cptvDecoder.getNextFrame();\n }\n this.totalFrames = await cptvDecoder.getTotalFrames();\n if (frame === null) {\n break;\n }\n frames.push(frame);\n this.loadedFrames = frames.length;\n }\n this.seekingInProgress = false;\n this.buffering = false;\n const gotFrame = this.loadedFrames - 1 >= frameNum;\n const frameData = this.getFrameAtIndex(frameNum);\n this.frameHeader = frameData.meta;\n if (!gotFrame) {\n frameNum--;\n }\n this.renderFrame(frameData, frameNum, force);\n return gotFrame;\n }\n return false;\n }\n startScrub(): void {\n this.wasPaused = !this.playing;\n if (!this.wasPaused) {\n this.pause();\n }\n this.isScrubbing = true;\n }\n endScrub(): void {\n if (!this.wasPaused) {\n this.play();\n }\n this.isScrubbing = false;\n }\n async play(): Promise {\n this.playing = true;\n this.isShowingBackgroundFrame = false;\n await this.fetchRenderAdvanceFrame();\n }\n async togglePlayback(): Promise {\n if (!this.playing) {\n if (this.atEndOfPlayback) {\n this.frameNum = 0;\n this.animationTick = 0;\n this.atEndOfPlayback = false;\n }\n await this.play();\n } else {\n this.pause();\n }\n }\n requestPrevRecording(): void {\n this.frameNum = 0;\n this.buffering = true;\n this.atEndOfPlayback = false;\n this.$emit(\"request-prev-recording\");\n }\n requestNextRecording(): void {\n this.frameNum = 0;\n this.atEndOfPlayback = false;\n this.buffering = true;\n this.$emit(\"request-next-recording\");\n }\n pause(): void {\n this.playing = false;\n cancelAnimationFrame(this.animationFrame as number);\n }\n}\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","// Number utilities\n\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport const toInteger = (value, defaultValue = NaN) => {\n const integer = parseInt(value, 10)\n return isNaN(integer) ? defaultValue : integer\n}\n\n// Converts a value (string, number, etc.) to a number\nexport const toFloat = (value, defaultValue = NaN) => {\n const float = parseFloat(value)\n return isNaN(float) ? defaultValue : float\n}\n\n// Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport { Vue } from '../../../vue'\nimport { IS_BROWSER } from '../../../constants/env'\nimport { HOOK_EVENT_NAME_BEFORE_DESTROY } from '../../../constants/events'\nimport {\n addClass,\n getAttr,\n getBCR,\n getCS,\n getStyle,\n hasAttr,\n removeAttr,\n removeClass,\n requestAF,\n selectAll,\n setAttr,\n setStyle\n} from '../../../utils/dom'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst SELECTOR_NAVBAR_TOGGLER = '.navbar-toggler'\n\n// --- Main component ---\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (IS_BROWSER) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newValue) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newValue || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && IS_BROWSER) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-backdrop')\n addClass(div, 'd-none')\n setStyle(div, 'display', 'none')\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex, DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && IS_BROWSER) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n addClass(div, 'modal-scrollbar-measure')\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_FIXED_CONTENT).forEach(el => {\n const actualPadding = getStyle(el, 'paddingRight') || ''\n setAttr(el, 'data-padding-right', actualPadding)\n setStyle(el, 'paddingRight', `${toFloat(getCS(el).paddingRight, 0) + scrollbarWidth}px`)\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) - scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(SELECTOR_NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = getStyle(el, 'marginRight') || ''\n setAttr(el, 'data-margin-right', actualMargin)\n setStyle(el, 'marginRight', `${toFloat(getCS(el).marginRight, 0) + scrollbarWidth}px`)\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = getStyle(body, 'paddingRight') || ''\n setAttr(body, 'data-padding-right', actualPadding)\n setStyle(body, 'paddingRight', `${toFloat(getCS(body).paddingRight, 0) + scrollbarWidth}px`)\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n setStyle(el, 'paddingRight', getAttr(el, 'data-padding-right') || '')\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n setStyle(el, 'marginRight', getAttr(el, 'data-margin-right') || '')\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n setStyle(body, 'paddingRight', getAttr(body, 'data-padding-right') || '')\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { COMPONENT_UID_KEY, Vue } from '../../vue'\nimport { NAME_MODAL } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n EVENT_NAME_CANCEL,\n EVENT_NAME_CHANGE,\n EVENT_NAME_CLOSE,\n EVENT_NAME_HIDDEN,\n EVENT_NAME_HIDE,\n EVENT_NAME_OK,\n EVENT_NAME_SHOW,\n EVENT_NAME_SHOWN,\n EVENT_NAME_TOGGLE,\n EVENT_OPTIONS_NO_CAPTURE\n} from '../../constants/events'\nimport { CODE_ESC } from '../../constants/key-codes'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_ARRAY_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_OBJECT,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { HTMLElement } from '../../constants/safe-types'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_MODAL_BACKDROP,\n SLOT_NAME_MODAL_CANCEL,\n SLOT_NAME_MODAL_FOOTER,\n SLOT_NAME_MODAL_HEADER,\n SLOT_NAME_MODAL_HEADER_CLOSE,\n SLOT_NAME_MODAL_OK,\n SLOT_NAME_MODAL_TITLE\n} from '../../constants/slots'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport {\n attemptFocus,\n closest,\n contains,\n getActiveElement,\n getTabables,\n requestAF,\n select\n} from '../../utils/dom'\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'\nimport { htmlOrText } from '../../utils/html'\nimport { identity } from '../../utils/identity'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { observeDom } from '../../utils/observe-dom'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { listenOnDocumentMixin } from '../../mixins/listen-on-document'\nimport { listenOnRootMixin } from '../../mixins/listen-on-root'\nimport { listenOnWindowMixin } from '../../mixins/listen-on-window'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { scopedStyleMixin } from '../../mixins/scoped-style'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { BVTransition } from '../transition/bv-transition'\nimport { BVTransporter } from '../transporter/transporter'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\nimport { modalManager } from './helpers/modal-manager'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n})\n\nconst TRIGGER_BACKDROP = 'backdrop'\nconst TRIGGER_ESC = 'esc'\nconst TRIGGER_FORCE = 'FORCE'\nconst TRIGGER_TOGGLE = 'toggle'\n\nconst BUTTON_CANCEL = 'cancel'\n// TODO: This should be renamed to 'close'\nconst BUTTON_CLOSE = 'headerclose'\nconst BUTTON_OK = 'ok'\n\nconst BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]\n\n// `ObserveDom` config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n autoFocusButton: makeProp(\n PROP_TYPE_STRING,\n null,\n /* istanbul ignore next */ value => {\n return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)\n }\n ),\n bodyBgVariant: makeProp(PROP_TYPE_STRING),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n bodyTextVariant: makeProp(PROP_TYPE_STRING),\n busy: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonSize: makeProp(PROP_TYPE_STRING),\n cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),\n cancelTitleHtml: makeProp(PROP_TYPE_STRING),\n cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n centered: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerBgVariant: makeProp(PROP_TYPE_STRING),\n footerBorderVariant: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerTextVariant: makeProp(PROP_TYPE_STRING),\n headerBgVariant: makeProp(PROP_TYPE_STRING),\n headerBorderVariant: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),\n headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n headerCloseVariant: makeProp(PROP_TYPE_STRING),\n headerTextVariant: makeProp(PROP_TYPE_STRING),\n // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`\n hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noFooter` and deprecate `hideFooter`\n hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeader` and deprecate `hideHeader`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`\n hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noStacking: makeProp(PROP_TYPE_BOOLEAN, false),\n okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),\n okOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n okTitle: makeProp(PROP_TYPE_STRING, 'OK'),\n okTitleHtml: makeProp(PROP_TYPE_STRING),\n okVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // HTML Element, CSS selector string or Vue component instance\n returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n scrollable: makeProp(PROP_TYPE_BOOLEAN, false),\n size: makeProp(PROP_TYPE_STRING, 'md'),\n static: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n titleHtml: makeProp(PROP_TYPE_STRING),\n titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n titleTag: makeProp(PROP_TYPE_STRING, 'h5')\n }),\n NAME_MODAL\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME_MODAL,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalId() {\n return this.safeId()\n },\n modalOuterId() {\n return this.safeId('__BV_modal_outer_')\n },\n modalHeaderId() {\n return this.safeId('__BV_modal_header_')\n },\n modalBodyId() {\n return this.safeId('__BV_modal_body_')\n },\n modalTitleId() {\n return this.safeId('__BV_modal_title_')\n },\n modalContentId() {\n return this.safeId('__BV_modal_content_')\n },\n modalFooterId() {\n return this.safeId('__BV_modal_footer_')\n },\n modalBackdropId() {\n return this.safeId('__BV_modal_backdrop_')\n },\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n ok: this.onOk,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n },\n computedAttrs() {\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return {\n ...scopedStyleAttrs,\n ...this.bvAttrs,\n id: this.modalOuterId\n }\n },\n computedModalAttrs() {\n const { isVisible, ariaLabel } = this\n\n return {\n id: this.modalId,\n role: 'dialog',\n 'aria-hidden': isVisible ? null : 'true',\n 'aria-modal': isVisible ? 'true' : null,\n 'aria-label': ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n ariaLabel ||\n // TODO: Rename slot to `title` and deprecate `modal-title`\n !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)\n ? null\n : this.modalTitleId,\n 'aria-describedby': this.modalBodyId\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue, oldValue) {\n if (newValue !== oldValue) {\n this[newValue ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this.$_observer = null\n this.$_returnFocus = this.returnFocus || null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)\n this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)\n // Initially show modal?\n if (this[MODEL_PROP_NAME] === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n this.setObserver(false)\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n setObserver(on = false) {\n this.$_observer && this.$_observer.disconnect()\n this.$_observer = null\n if (on) {\n this.$_observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n }\n },\n // Private method to update the v-model\n updateModel(value) {\n if (value !== this[MODEL_PROP_NAME]) {\n this.$emit(MODEL_EVENT_NAME, value)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.modalId\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once(EVENT_NAME_HIDDEN, this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.$_returnFocus = this.$_returnFocus || this.getActiveElement()\n const showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: trigger !== TRIGGER_FORCE,\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === BUTTON_OK) {\n this.$emit(EVENT_NAME_OK, hideEvt)\n } else if (trigger === BUTTON_CANCEL) {\n this.$emit(EVENT_NAME_CANCEL, hideEvt)\n } else if (trigger === BUTTON_CLOSE) {\n this.$emit(EVENT_NAME_CLOSE, hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n this.setObserver(false)\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.$_returnFocus = triggerEl\n }\n if (this.isVisible) {\n this.hide(TRIGGER_TOGGLE)\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n // Note: On IE 11, `document.activeElement` may be `null`\n // So we test it for truthiness first\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n return activeElement && activeElement.focus ? activeElement : null\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // Observe changes in modal content and adjust if necessary\n // In a `$nextTick()` in case modal content is lazy\n this.setObserver(true)\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))\n })\n },\n emitEvent(bvEvent) {\n const { type } = bvEvent\n // We emit on `$root` first in case a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)\n this.$emit(type, bvEvent)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = event => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (event.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(event) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, event.target)) {\n this.hide(TRIGGER_BACKDROP)\n }\n },\n onOk() {\n this.hide(BUTTON_OK)\n },\n onCancel() {\n this.hide(BUTTON_CANCEL)\n },\n onClose() {\n this.hide(BUTTON_CLOSE)\n },\n onEsc(event) {\n // If ESC pressed, hide modal\n if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide(TRIGGER_ESC)\n }\n },\n // Document focusin listener\n focusHandler(event) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = event\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = getTabables(this.$refs.content)\n const bottomTrap = this.$refs['bottom-trap']\n const topTrap = this.$refs['top-trap']\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n attemptFocus(content, { preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.$_returnFocus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.modalId) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.modalId) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvent) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvent.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (IS_BROWSER) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n /* istanbul ignore next */\n const el =\n autoFocus === BUTTON_OK && ok\n ? ok.$el || ok\n : autoFocus === BUTTON_CANCEL && cancel\n ? cancel.$el || cancel\n : autoFocus === BUTTON_CLOSE && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.$_returnFocus || null\n this.$_returnFocus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let $header = h()\n if (!this.hideHeader) {\n // TODO: Rename slot to `header` and deprecate `modal-header`\n let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)\n if (!$modalHeader) {\n let $closeButton = h()\n if (!this.hideHeaderClose) {\n $closeButton = h(\n BButtonClose,\n {\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose },\n ref: 'close-button'\n },\n // TODO: Rename slot to `header-close` and deprecate `modal-header-close`\n [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]\n )\n }\n\n $modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.modalTitleId },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)\n ? {}\n : htmlOrText(this.titleHtml, this.title)\n },\n // TODO: Rename slot to `title` and deprecate `modal-title`\n this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)\n ),\n $closeButton\n ]\n }\n\n $header = h(\n 'header',\n {\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.modalHeaderId },\n ref: 'header'\n },\n [$modalHeader]\n )\n }\n\n // Modal body\n const $body = h(\n 'div',\n {\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.modalBodyId },\n ref: 'body'\n },\n this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)\n )\n\n // Modal footer\n let $footer = h()\n if (!this.hideFooter) {\n // TODO: Rename slot to `footer` and deprecate `modal-footer`\n let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)\n if (!$modalFooter) {\n let $cancelButton = h()\n if (!this.okOnly) {\n $cancelButton = h(\n BButton,\n {\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)\n ? {}\n : htmlOrText(this.cancelTitleHtml, this.cancelTitle),\n on: { click: this.onCancel },\n ref: 'cancel-button'\n },\n // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`\n this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)\n )\n }\n\n const $okButton = h(\n BButton,\n {\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)\n ? {}\n : htmlOrText(this.okTitleHtml, this.okTitle),\n on: { click: this.onOk },\n ref: 'ok-button'\n },\n // TODO: Rename slot to `ok-button` and deprecate `modal-ok`\n this.normalizeSlot(SLOT_NAME_MODAL_OK)\n )\n\n $modalFooter = [$cancelButton, $okButton]\n }\n\n $footer = h(\n 'footer',\n {\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.modalFooterId },\n ref: 'footer'\n },\n [$modalFooter]\n )\n }\n\n // Assemble modal content\n const $modalContent = h(\n 'div',\n {\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n id: this.modalContentId,\n tabindex: '-1'\n },\n ref: 'content'\n },\n [$header, $body, $footer]\n )\n\n // Tab traps to prevent page from scrolling to next element in\n // tab index during enforce-focus tab cycle\n let $tabTrapTop = h()\n let $tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n $tabTrapTop = h('span', {\n attrs: { tabindex: '0' },\n ref: 'top-trap'\n })\n $tabTrapBottom = h('span', {\n attrs: { tabindex: '0' },\n ref: 'bottom-trap'\n })\n }\n\n // Modal dialog wrapper\n const $modalDialog = h(\n 'div',\n {\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown },\n ref: 'dialog'\n },\n [$tabTrapTop, $modalContent, $tabTrapBottom]\n )\n\n // Modal\n let $modal = h(\n 'div',\n {\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n attrs: this.computedModalAttrs,\n on: { keydown: this.onEsc, click: this.onClickOut },\n directives: [{ name: 'show', value: this.isVisible }],\n ref: 'modal'\n },\n [$modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use `BVTransition` here due to the differences in\n // transition durations for `.modal` and `.modal-dialog`\n // At least until https://github.com/vuejs/vue/issues/9986 is resolved\n $modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [$modal]\n )\n\n // Modal backdrop\n let $backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n $backdrop = h(\n 'div',\n {\n staticClass: 'modal-backdrop',\n attrs: { id: this.modalBackdropId }\n },\n // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`\n this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)\n )\n }\n $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])\n\n // Assemble modal and backdrop in an outer
\n return h(\n 'div',\n {\n style: this.modalOuterStyle,\n attrs: this.computedAttrs,\n key: `modal-outer-${this[COMPONENT_UID_KEY]}`\n },\n [$modal, $backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])\n }\n }\n})\n","import { toString } from './string'\n\nconst escapeChar = value => '\\\\' + value\n\n// The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\nexport const cssEscape = value => {\n value = toString(value)\n\n const length = value.length\n const firstCharCode = value.charCodeAt(0)\n\n return value.split('').reduce((result, char, index) => {\n const charCode = value.charCodeAt(index)\n\n // If the character is NULL (U+0000), use (U+FFFD) as replacement\n if (charCode === 0x0000) {\n return result + '\\uFFFD'\n }\n\n // If the character ...\n if (\n // ... is U+007F OR\n charCode === 0x007f ||\n // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n (charCode >= 0x0001 && charCode <= 0x001f) ||\n // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n (index === 0 && charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n (index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d)\n ) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(`${charCode.toString(16)} `)\n }\n\n // If the character ...\n if (\n // ... is the first character AND ...\n index === 0 &&\n // ... is a `-` (U+002D) AND ...\n charCode === 0x002d &&\n // ... there is no second character ...\n length === 1\n ) {\n // ... use the escaped character\n return result + escapeChar(char)\n }\n\n // If the character ...\n if (\n // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 ||\n // ... is `-` (U+002D) OR ...\n charCode === 0x002d ||\n // ... is `_` (U+005F) OR ...\n charCode === 0x005f ||\n // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n (charCode >= 0x0030 && charCode <= 0x0039) ||\n // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n (charCode >= 0x0041 && charCode <= 0x005a) ||\n // ... is in the range [a-z] (U+0061 to U+007A) ...\n (charCode >= 0x0061 && charCode <= 0x007a)\n ) {\n // ... use the character itself\n return result + char\n }\n\n // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n return result + escapeChar(char)\n }, '')\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { isBoolean } from '../utils/inspect'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n },\n 'formState'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formStateMixin = Vue.extend({\n props,\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n },\n computedAriaInvalid() {\n const { ariaInvalid } = this\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : ariaInvalid\n }\n }\n})\n","import { mergeData } from '../../vue'\nimport { NAME_COL } from '../../constants/components'\nimport {\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_COL_CLASS } from '../../constants/regex'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { identity } from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { memoize } from '../../utils/memoize'\nimport { assign, create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { lowerCase } from '../../utils/string'\n\n// --- Constants ---\n\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']\n\n// --- Helper methods ---\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, value) => {\n let className = type\n if (isUndefinedOrNull(value) || value === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${value}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n const breakpointCol = breakpoints.reduce((props, breakpoint) => {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'offset-md-1', 'offset-lg-12', ...\n const breakpointOffset = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // i.e. 'order-md-1', 'order-lg-12', ...\n const breakpointOrder = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING)\n return props\n }, create(null))\n\n // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return makePropsConfigurable(\n sortKeys({\n ...breakpointCol,\n ...breakpointOffset,\n ...breakpointOrder,\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, value => {\n return arrayIncludes(ALIGN_SELF_VALUES, value)\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }),\n NAME_COL\n )\n}\n\n// --- Main component ---\n\n// We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BCol = {\n name: NAME_COL,\n functional: true,\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const { cols, offset, order, alignSelf } = props\n\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !cols),\n [`col-${cols}`]: cols,\n [`offset-${offset}`]: offset,\n [`order-${order}`]: order,\n [`align-self-${alignSelf}`]: alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_ROW } from '../../constants/components'\nimport { PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n tag: makeProp(PROP_TYPE_STRING, 'div')\n },\n NAME_FORM_ROW\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_TEXT } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n },\n NAME_FORM_TEXT\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_INVALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === false\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { Vue, mergeData } from '../../vue'\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n NAME_FORM_VALID_FEEDBACK\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { tooltip, ariaLive } = props\n const show = props.forceShow === true || props.state === true\n\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import { NAME_FORM_GROUP } from '../../constants/components'\nimport { IS_BROWSER } from '../../constants/env'\nimport {\n PROP_TYPE_ARRAY_OBJECT_STRING,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_BOOLEAN_NUMBER_STRING,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport { RX_SPACE_SPLIT } from '../../constants/regex'\nimport {\n SLOT_NAME_DEFAULT,\n SLOT_NAME_DESCRIPTION,\n SLOT_NAME_INVALID_FEEDBACK,\n SLOT_NAME_LABEL,\n SLOT_NAME_VALID_FEEDBACK\n} from '../../constants/slots'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { cssEscape } from '../../utils/css-escape'\nimport {\n select,\n selectAll,\n isVisible,\n setAttr,\n removeAttr,\n getAttr,\n attemptFocus\n} from '../../utils/dom'\nimport { identity } from '../../utils/identity'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { create, keys, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// --- Constants ---\n\nconst INPUTS = ['input', 'select', 'textarea']\n\n// Selector for finding first input in the form group\nconst INPUT_SELECTOR = INPUTS.map(v => `${v}:not([disabled])`).join()\n\n// A list of interactive elements (tag names) inside ``'s legend\nconst LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']\n\n// --- Props ---\n\n// Prop generator for lazy generation of props\nexport const generateProps = () =>\n makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...formStateProps,\n ...getBreakpointsUpCached().reduce((props, breakpoint) => {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)\n // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)\n return props\n }, create(null)),\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_FORM_GROUP\n )\n\n// --- Main component ---\n\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\nexport const BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props\n // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n data() {\n return {\n ariaDescribedby: null\n }\n },\n computed: {\n contentColProps() {\n return this.getColProps(this.$props, 'content')\n },\n labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label')\n },\n labelColProps() {\n return this.getColProps(this.$props, 'label')\n },\n isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0\n }\n },\n watch: {\n ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n this.updateAriaDescribedby(this.ariaDescribedby)\n })\n },\n methods: {\n getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n const propValue = props[suffixPropName(breakpoint, `${prefix}Align`)] || null\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'))\n }\n\n return result\n }, [])\n },\n getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce((result, breakpoint) => {\n let propValue = props[suffixPropName(breakpoint, `${prefix}Cols`)]\n\n // Handle case where the prop's value is an empty string,\n // which represents `true`\n propValue = propValue === '' ? true : propValue || false\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0)\n // Ensure column size is greater than `0`\n propValue = propValue > 0 ? propValue : false\n }\n\n // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue\n }\n\n return result\n }, {})\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby(newValue, oldValue) {\n const { labelFor } = this\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n const $input = select(`#${cssEscape(labelFor)}`, this.$refs.content)\n if ($input) {\n const attr = 'aria-describedby'\n const newIds = (newValue || '').split(RX_SPACE_SPLIT)\n const oldIds = (oldValue || '').split(RX_SPACE_SPLIT)\n\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n const ids = (getAttr($input, attr) || '')\n .split(RX_SPACE_SPLIT)\n .filter(id => !arrayIncludes(oldIds, id))\n .concat(newIds)\n .filter((id, index, ids) => ids.indexOf(id) === index)\n .filter(identity)\n .join(' ')\n .trim()\n\n if (ids) {\n setAttr($input, attr, ids)\n } else {\n removeAttr($input, attr)\n }\n }\n }\n },\n onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return\n }\n\n const { target } = event\n const tagName = target ? target.tagName : ''\n\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return\n }\n\n // If only a single input, focus it, emulating label behaviour\n const inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs.length === 1) {\n attemptFocus(inputs[0])\n }\n }\n },\n render(h) {\n const {\n computedState: state,\n feedbackAriaLive,\n isHorizontal,\n labelFor,\n normalizeSlot,\n safeId,\n tooltip\n } = this\n const id = safeId()\n const isFieldset = !labelFor\n\n let $label = h()\n const labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label\n const labelId = labelContent ? safeId('_BV_label_') : null\n if (labelContent || isHorizontal) {\n const { labelSize, labelColProps } = this\n const labelTag = isFieldset ? 'legend' : 'label'\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: labelId, for: labelFor || null }\n },\n [labelContent]\n )\n }\n $label = h(isHorizontal ? BCol : 'div', { props: isHorizontal ? labelColProps : {} }, [\n $label\n ])\n } else {\n $label = h(\n isHorizontal ? BCol : labelTag,\n {\n on: isFieldset ? { click: this.onLegendClick } : {},\n props: isHorizontal ? { ...labelColProps, tag: labelTag } : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '',\n // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '',\n // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '',\n labelSize ? `col-form-label-${labelSize}` : '',\n this.labelAlignClasses,\n this.labelClass\n ]\n },\n [labelContent]\n )\n }\n }\n\n let $invalidFeedback = h()\n const invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback\n const invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null\n if (invalidFeedbackContent) {\n $invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: invalidFeedbackContent ? '-1' : null }\n },\n [invalidFeedbackContent]\n )\n }\n\n let $validFeedback = h()\n const validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback\n const validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null\n if (validFeedbackContent) {\n $validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state,\n tooltip\n },\n attrs: { tabindex: validFeedbackContent ? '-1' : null }\n },\n [validFeedbackContent]\n )\n }\n\n let $description = h()\n const descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description\n const descriptionId = descriptionContent ? safeId('_BV_description_') : null\n if (descriptionContent) {\n $description = h(\n BFormText,\n {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n },\n [descriptionContent]\n )\n }\n\n // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n const ariaDescribedby = (this.ariaDescribedby =\n [\n descriptionId,\n state === false ? invalidFeedbackId : null,\n state === true ? validFeedbackId : null\n ]\n .filter(identity)\n .join(' ') || null)\n\n const $content = h(\n isHorizontal ? BCol : 'div',\n {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n },\n [\n normalizeSlot(SLOT_NAME_DEFAULT, { ariaDescribedby, descriptionId, id, labelId }) || h(),\n $invalidFeedback,\n $validFeedback,\n $description\n ]\n )\n\n // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n {\n staticClass: 'form-group',\n class: [{ 'was-validated': this.validated }, this.stateClass],\n attrs: {\n id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n },\n isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]\n )\n }\n}\n","import { looseEqual } from './loose-equal'\n\n// Assumes that the first argument is an array\nexport const looseIndexOf = (array, value) => {\n for (let i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i\n }\n }\n return -1\n}\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Constants ---\n\nconst SELECTOR = 'input, textarea, select'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formControlMixin = Vue.extend({\n props,\n mounted() {\n this.handleAutofocus()\n },\n /* istanbul ignore next */\n activated() {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n attemptFocus(el)\n }\n })\n })\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_BOOLEAN } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formCustomMixin = Vue.extend({\n props,\n computed: {\n custom() {\n return !this.plain\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_STRING } from '../constants/props'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n size: makeProp(PROP_TYPE_STRING)\n },\n 'formControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formSizeMixin = Vue.extend({\n props,\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n }\n }\n})\n","import { Vue } from '../vue'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'\nimport { EVENT_NAME_CHANGE } from '../constants/events'\nimport { attemptBlur, attemptFocus } from '../utils/dom'\nimport { isBoolean } from '../utils/inspect'\nimport { looseEqual } from '../utils/loose-equal'\nimport { makeModelMixin } from '../utils/model'\nimport { sortKeys } from '../utils/object'\nimport { makeProp, makePropsConfigurable } from '../utils/props'\nimport { attrsMixin } from './attrs'\nimport { formControlMixin, props as formControlProps } from './form-control'\nimport { formCustomMixin, props as formCustomProps } from './form-custom'\nimport { formSizeMixin, props as formSizeProps } from './form-size'\nimport { formStateMixin, props as formStateProps } from './form-state'\nimport { idMixin, props as idProps } from './id'\nimport { normalizeSlotMixin } from './normalize-slot'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('checked', { defaultValue: null })\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formSizeProps,\n ...formStateProps,\n ...formCustomProps,\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n }),\n 'formRadioCheckControls'\n)\n\n// --- Mixin ---\n\n// @vue/component\nexport const formRadioCheckMixin = Vue.extend({\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value\n } else {\n this.localChecked = value\n }\n }\n },\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n isRadio() {\n return true\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled\n },\n isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null\n },\n computedButtonVariant() {\n // Local variant preferred over group variant\n const { buttonVariant } = this\n if (buttonVariant) {\n return buttonVariant\n }\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n return 'secondary'\n },\n buttonClasses() {\n const { computedSize } = this\n return [\n 'btn',\n `btn-${this.computedButtonVariant}`,\n {\n [`btn-${computedSize}`]: computedSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n },\n computedAttrs() {\n const { isDisabled: disabled, isRequired: required } = this\n\n return {\n ...this.bvAttrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled,\n required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n }\n }\n },\n watch: {\n [MODEL_PROP_NAME](...args) {\n this[`${MODEL_PROP_NAME}Watcher`](...args)\n },\n computedLocalChecked(...args) {\n this.computedLocalCheckedWatcher(...args)\n }\n },\n methods: {\n [`${MODEL_PROP_NAME}Watcher`](newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue\n }\n },\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n }\n },\n\n handleChange({ target: { checked } }) {\n const { value } = this\n const localChecked = checked ? value : null\n\n this.computedLocalChecked = value\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n })\n },\n handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true\n } else if (event.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input)\n }\n },\n blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input)\n }\n }\n },\n render(h) {\n const {\n isRadio,\n isBtnMode,\n isPlain,\n isCustom,\n isInline,\n isSwitch,\n computedSize,\n bvAttrs\n } = this\n const $content = this.normalizeSlot()\n\n const $input = h('input', {\n class: [\n {\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n },\n isBtnMode ? '' : this.stateClass\n ],\n directives: [{ name: 'model', value: this.computedLocalChecked }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: {\n change: this.handleChange,\n ...(isBtnMode ? { focus: this.handleFocus, blur: this.handleFocus } : {})\n },\n key: 'input',\n ref: 'input'\n })\n\n if (isBtnMode) {\n let $button = h('label', { class: this.buttonClasses }, [$input, $content])\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', { class: ['btn-group-toggle', 'd-inline-block'] }, [$button])\n }\n\n return $button\n }\n\n // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n let $label = h()\n if (!(isPlain && !$content)) {\n $label = h(\n 'label',\n {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: { for: this.safeId() }\n },\n $content\n )\n }\n\n return h(\n 'div',\n {\n class: [\n {\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${computedSize}`]: computedSize && !isBtnMode\n },\n bvAttrs.class\n ],\n style: bvAttrs.style\n },\n [$input, $label]\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_CHECKBOX } from '../../constants/components'\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events'\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'\nimport { isArray } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { looseIndexOf } from '../../utils/loose-index-of'\nimport { sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport {\n MODEL_EVENT_NAME,\n formRadioCheckMixin,\n props as formRadioCheckProps\n} from '../../mixins/form-radio-check'\n\n// --- Constants ---\n\nconst MODEL_PROP_NAME_INDETERMINATE = 'indeterminate'\nconst MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...formRadioCheckProps,\n // Not applicable in multi-check mode\n [MODEL_PROP_NAME_INDETERMINATE]: makeProp(PROP_TYPE_BOOLEAN, false),\n // Custom switch styling\n switch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Not applicable in multi-check mode\n uncheckedValue: makeProp(PROP_TYPE_ANY, false),\n value: makeProp(PROP_TYPE_ANY, true)\n }),\n NAME_FORM_CHECKBOX\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props,\n computed: {\n isChecked() {\n const { value, computedLocalChecked: checked } = this\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value)\n },\n isRadio() {\n return false\n }\n },\n watch: {\n [MODEL_PROP_NAME_INDETERMINATE](newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue)\n }\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE])\n },\n methods: {\n computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue)\n\n const $input = this.$refs.input\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate)\n }\n }\n },\n\n handleChange({ target: { checked, indeterminate } }) {\n const { value, uncheckedValue } = this\n\n // Update `computedLocalChecked`\n let localChecked = this.computedLocalChecked\n if (isArray(localChecked)) {\n const index = looseIndexOf(localChecked, value)\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n\n // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n this.$nextTick(() => {\n // Change is only emitted on user interaction\n this.$emit(EVENT_NAME_CHANGE, localChecked)\n\n // If this is a child of a group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked)\n }\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate)\n })\n },\n\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n\n const $input = this.$refs.input\n if ($input) {\n $input.indeterminate = state\n // Emit update event to prop\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state)\n }\n }\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_FORM_FILE } from '../../constants/components'\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env'\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport {\n PROP_TYPE_ARRAY,\n PROP_TYPE_BOOLEAN,\n PROP_TYPE_FUNCTION,\n PROP_TYPE_STRING\n} from '../../constants/props'\nimport {\n SLOT_NAME_DROP_PLACEHOLDER,\n SLOT_NAME_FILE_NAME,\n SLOT_NAME_PLACEHOLDER\n} from '../../constants/slots'\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex'\nimport { File } from '../../constants/safe-types'\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array'\nimport { cloneDeep } from '../../utils/clone-deep'\nimport { closest } from '../../utils/dom'\nimport { eventOn, eventOff, stopEvent } from '../../utils/events'\nimport { identity } from '../../utils/identity'\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { looseEqual } from '../../utils/loose-equal'\nimport { makeModelMixin } from '../../utils/model'\nimport { sortKeys } from '../../utils/object'\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props'\nimport { escapeRegExp } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport { attrsMixin } from '../../mixins/attrs'\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control'\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state'\nimport { idMixin, props as idProps } from '../../mixins/id'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { props as formSizeProps } from '../../mixins/form-size'\n\n// --- Constants ---\n\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\n }\n})\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\n\n// Helper method to \"safely\" get the entry from a data-transfer item\n/* istanbul ignore next: not supported in JSDOM */\nconst getDataTransferItemEntry = item =>\n isFunction(item.getAsEntry)\n ? item.getAsEntry()\n : isFunction(item.webkitGetAsEntry)\n ? item.webkitGetAsEntry()\n : null\n\n// Drop handler function to get all files\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntries = (dataTransferItemList, traverseDirectories = true) =>\n Promise.all(\n arrayFrom(dataTransferItemList)\n .filter(item => item.kind === 'file')\n .map(item => {\n const entry = getDataTransferItemEntry(item)\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), `${entry.name}/`)\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = ''\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n\n// Get all the file entries (recursive) in a directory\n/* istanbul ignore next: not supported in JSDOM */\nconst getAllFileEntriesInDirectory = (directoryReader, path = '') =>\n new Promise(resolve => {\n const entryPromises = []\n const readDirectoryEntries = () => {\n directoryReader.readEntries(entries => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(entries => flatten(entries)))\n } else {\n entryPromises.push(\n Promise.all(\n entries\n .map(entry => {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(\n entry.createReader(),\n `${path}${entry.name}/`\n )\n } else if (entry.isFile) {\n return new Promise(resolve => {\n entry.file(file => {\n file.$path = `${path}${file.name}`\n resolve(file)\n })\n })\n }\n }\n return null\n })\n .filter(identity)\n )\n )\n\n readDirectoryEntries()\n }\n })\n }\n\n readDirectoryEntries()\n })\n\n// --- Props ---\n\nconst props = makePropsConfigurable(\n sortKeys({\n ...idProps,\n ...modelProps,\n ...formControlProps,\n ...formCustomProps,\n ...formStateProps,\n ...formSizeProps,\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n }),\n NAME_FORM_FILE\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [\n attrsMixin,\n idMixin,\n modelMixin,\n normalizeSlotMixin,\n formControlMixin,\n formStateMixin,\n formCustomMixin,\n normalizeSlotMixin\n ],\n inheritAttrs: false,\n props,\n data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n }\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept() {\n let { accept } = this\n accept = (accept || '')\n .trim()\n .split(/[,\\s]+/)\n .filter(identity)\n\n // Allow any file type/extension\n if (accept.length === 0) {\n return null\n }\n\n return accept.map(extOrType => {\n let prop = 'name'\n let startMatch = '^'\n let endMatch = '$'\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = ''\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type'\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'\n // Remove trailing `*`\n extOrType = extOrType.slice(0, -1)\n }\n }\n // Escape all RegExp special chars\n extOrType = escapeRegExp(extOrType)\n const rx = new RegExp(`${startMatch}${extOrType}${endMatch}`)\n return { rx, prop }\n })\n },\n computedCapture() {\n const { capture } = this\n return capture === true || capture === '' ? true : capture || null\n },\n computedAttrs() {\n const { name, disabled, required, form, computedCapture, accept, multiple, directory } = this\n return {\n ...this.bvAttrs,\n type: 'file',\n id: this.safeId(),\n name,\n disabled,\n required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple,\n directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n }\n },\n computedFileNameFormatter() {\n const { fileNameFormatter } = this\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter\n },\n clonedFiles() {\n return cloneDeep(this.files)\n },\n flattenedFiles() {\n return flattenDeep(this.files)\n },\n fileNames() {\n return this.flattenedFiles.map(file => file.name)\n },\n labelContent() {\n // Draging active\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (\n // TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, { allowed: this.dropAllowed }) ||\n (this.dropAllowed\n ? this.dropPlaceholder\n : this.$createElement('span', { staticClass: 'text-danger' }, this.noDropPlaceholder))\n )\n }\n\n // No file chosen\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder\n }\n\n const { flattenedFiles, clonedFiles, fileNames, computedFileNameFormatter } = this\n\n // There is a slot for formatting the files/names\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n })\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames)\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (!newValue || (isArray(newValue) && newValue.length === 0)) {\n this.reset()\n }\n },\n files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n const { multiple, noTraverse } = this\n const files = !multiple || noTraverse ? flattenDeep(newValue) : newValue\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null)\n }\n }\n },\n created() {\n // Create private non-reactive props\n this.$_form = null\n },\n mounted() {\n // Listen for form reset events, to reset the file input\n const $form = closest('form', this.$el)\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n this.$_form = $form\n }\n },\n beforeDestroy() {\n const $form = this.$_form\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE)\n }\n },\n methods: {\n isFileValid(file) {\n if (!file) {\n return false\n }\n const accept = this.computedAccept\n return accept ? accept.some(a => a.rx.test(file[a.prop])) : true\n },\n isFilesArrayValid(files) {\n return isArray(files) ? files.every(file => this.isFileValid(file)) : this.isFileValid(files)\n },\n defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ')\n },\n setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop\n this.dragging = false\n // Set the selected files\n this.files = this.multiple\n ? this.directory\n ? files\n : flattenDeep(files)\n : flattenDeep(files).slice(0, 1)\n },\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n const dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer()\n // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n flattenDeep(cloneDeep(files)).forEach(file => {\n // Make sure to remove the custom `$path` attribute\n delete file.$path\n dataTransfer.items.add(file)\n })\n this.$refs.input.files = dataTransfer.files\n } catch {}\n },\n reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch {}\n this.files = []\n },\n handleFiles(files, isDrop = false) {\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n const filteredFiles = files.filter(this.isFilesArrayValid)\n // Only update files when we have any after filtering\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles)\n // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n this.setInputFiles(filteredFiles)\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files)\n }\n },\n focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n onChange(event) {\n const { type, target, dataTransfer = {} } = event\n const isDrop = type === 'drop'\n\n // Always emit original event\n this.$emit(EVENT_NAME_CHANGE, event)\n\n const items = arrayFrom(dataTransfer.items || [])\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(files => this.handleFiles(files, isDrop))\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n const files = arrayFrom(target.files || dataTransfer.files || []).map(file => {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || ''\n return file\n })\n this.handleFiles(files, isDrop)\n }\n },\n onDragenter(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover(event) {\n stopEvent(event)\n this.dragging = true\n const { dataTransfer = {} } = event\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none'\n this.dropAllowed = false\n return\n }\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'copy'\n },\n onDragleave(event) {\n stopEvent(event)\n this.$nextTick(() => {\n this.dragging = false\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n },\n // Triggered by a file drop onto drop target\n onDrop(event) {\n stopEvent(event)\n this.dragging = false\n // Early exit when the input or dropping is disabled\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(() => {\n // Reset `dropAllowed` to default\n this.dropAllowed = !this.noDrop\n })\n return\n }\n this.onChange(event)\n }\n },\n render(h) {\n const { custom, plain, size, dragging, stateClass, bvAttrs } = this\n\n // Form Input\n const $input = h('input', {\n class: [\n {\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n },\n stateClass\n ],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? { zIndex: -5 } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n })\n\n if (plain) {\n return $input\n }\n\n // Overlay label\n const $label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: { dragging },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n },\n [\n h(\n 'span',\n {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: { pointerEvents: 'none' }\n },\n [this.labelContent]\n )\n ]\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [{ [`b-custom-control-${size}`]: size }, stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [$input, $label]\n )\n }\n})\n","// Math utilty functions\n\nexport const mathMin = Math.min\n\nexport const mathMax = Math.max\n\nexport const mathAbs = Math.abs\n\nexport const mathCeil = Math.ceil\n\nexport const mathFloor = Math.floor\n\nexport const mathPow = Math.pow\n\nexport const mathRound = Math.round\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS_BAR } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { mathMax, mathPow } from '../../utils/math'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { makeProp, makePropsConfigurable } from '../../utils/props'\nimport { toString } from '../../utils/string'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\n\n// --- Props ---\n\nexport const props = makePropsConfigurable(\n {\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n },\n NAME_PROGRESS_BAR\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default: /* istanbul ignore next */ () => ({})\n }\n },\n props,\n computed: {\n progressBarClasses() {\n const { computedAnimated, computedVariant } = this\n return [\n computedVariant ? `bg-${computedVariant}` : '',\n this.computedStriped || computedAnimated ? 'progress-bar-striped' : '',\n computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value, 0)\n },\n computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n const max = toFloat(this.max) || toFloat(this.bvProgress.max, 0)\n return max > 0 ? max : 100\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0)\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = mathPow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n const { label, labelHtml, computedValue, computedPrecision } = this\n\n let $children\n let domProps = {}\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot()\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label)\n } else if (this.computedShowProgress) {\n $children = this.computedProgress\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision)\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps\n },\n $children\n )\n }\n})\n","import { Vue } from '../../vue'\nimport { NAME_PROGRESS } from '../../constants/components'\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props'\nimport { omit, sortKeys } from '../../utils/object'\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'\n\n// --- Props ---\n\nconst progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml'])\n\nexport const props = makePropsConfigurable(\n sortKeys({\n ...progressBarProps,\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n }),\n NAME_PROGRESS\n)\n\n// --- Main component ---\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props,\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let $childNodes = this.normalizeSlot()\n if (!$childNodes) {\n $childNodes = h(BProgressBar, { props: pluckProps(progressBarProps, this.$props) })\n }\n\n return h(\n 'div',\n {\n staticClass: 'progress',\n style: this.progressHeight\n },\n [$childNodes]\n )\n }\n})\n","import { NAME_MODAL } from '../../constants/components'\nimport { EVENT_NAME_SHOW, EVENT_OPTIONS_PASSIVE } from '../../constants/events'\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { getRootActionEventName, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst ROOT_ACTION_EVENT_NAME_SHOW = getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW)\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = event => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = event.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = event.type\n const key = event.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === CODE_ENTER || key === CODE_SPACE))\n ) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","export class Mp4Encoder {\n encoder: Worker;\n messageQueue: Record unknown> = {};\n constructor() {\n this.encoder = new Worker(new URL(\"./mp4-exporter.js\", import.meta.url));\n this.encoder.onmessage = ({ data: { type, data } }: MessageEvent) => {\n const resolver = this.messageQueue[type];\n delete this.messageQueue[type];\n resolver && resolver(data);\n };\n }\n\n async waitForMessage(messageType: string): Promise {\n return new Promise((resolve: (data?: unknown) => unknown) => {\n this.messageQueue[messageType] = resolve;\n });\n }\n\n async init(width: number, height: number, frameRate: number): Promise {\n const type = \"initEncoder\";\n this.encoder.postMessage({ type, data: { width, height, frameRate } });\n return (await this.waitForMessage(type)) as void;\n }\n\n async encodeFrame(frame: Uint8ClampedArray): Promise {\n const type = \"encodeFrame\";\n this.encoder.postMessage({ type, data: frame });\n return (await this.waitForMessage(type)) as void;\n }\n\n async finish(): Promise {\n const type = \"finishEncode\";\n this.encoder.postMessage({ type });\n return (await this.waitForMessage(type)) as Uint8Array;\n }\n\n close(): void {\n this.encoder.terminate();\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-124[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-124[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??clonedRuleSet-124[0].rules[0].use[0]!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-124[0].rules[0].use[3]!../node_modules/cache-loader/dist/cjs.js??ruleSet[0].rules[0].use[0]!../node_modules/vue-loader-v15/lib/index.js??vue-loader-options!./CptvPlayer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CptvPlayer.vue?vue&type=template&id=f769d71a&\"\nimport script from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CptvPlayer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CptvPlayer.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar 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 || has(TypedArrayConstructorsList, klass)\n || has(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return has(TypedArrayConstructorsList, klass)\n || has(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 (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError('Target is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) 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 redefine(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 redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- 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 && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar $DataView = global[DATA_VIEW];\nvar $DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar RangeError = global.RangeError;\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = bytes.slice(start, start + count);\n return isLittleEndian ? pack : pack.reverse();\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: arrayFill.call(new Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n /* 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.name != ARRAY_BUFFER;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new NativeArrayBuffer(toIndex(length));\n };\n var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf($DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataViewPrototype.setInt8;\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.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 = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- 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 IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` 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_OUT = 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, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\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.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\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 $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $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,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.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","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\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 // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line 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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(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.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- 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, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) 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, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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 global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*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 versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // 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\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.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: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\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 = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\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.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(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// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied 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 abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = new Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- 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 if (number * (c = pow(2, -exponent)) < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar 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 WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\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_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.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 = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\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_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 (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 = promise.then;\n notify = function () {\n then.call(promise, 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.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var IS_NODE = require('../internals/engine-is-node');\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 // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\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;\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 ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\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 = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.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 O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.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","/* eslint-disable no-proto -- safe */\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 = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n result.push(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 getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","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 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 redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) 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","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.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\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\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 = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(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 maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (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, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n 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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\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 = toInteger(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 ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var toInteger = require('../internals/to-integer');\n\nmodule.exports = function (it) {\n var result = toInteger(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n return isTypedArrayIndex(target, key = toPrimitive(key, true))\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n if (isTypedArrayIndex(target, key = toPrimitive(key, true))\n && isObject(descriptor)\n && has(descriptor, 'value')\n && !has(descriptor, 'get')\n && !has(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!has(descriptor, 'writable') || descriptor.writable)\n && (!has(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return typedArrayFrom.call(TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* 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 aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar speciesConstructor = require('../internals/species-constructor');\n\nmodule.exports = function (instance, list) {\n var C = speciesConstructor(instance, instance.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar bind = require('../internals/function-bind-context');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n O = [];\n while (!(step = next.call(iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2], 2);\n }\n length = toLength(O.length);\n result = new (aTypedArrayConstructor(this))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\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 fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, 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 = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\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","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 addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\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';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.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 { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = 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 isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\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 = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.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 = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = 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 }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar 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.call('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.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 = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n 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.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","var $ = 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, forced: Object.assign !== assign }, {\n assign: assign\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 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 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 fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\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 }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(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 && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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_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 task.call(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 task.call(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 then.call(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) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\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: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n if (!SUBCLASSING) redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // 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, PromiseConstructor.prototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\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});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\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 aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(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 $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\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 if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.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 { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = 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","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, 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-assertion-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 = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (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 ? S.slice(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 A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\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","// `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 has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.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 // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $copyWithin = require('../internals/array-copy-within');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'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');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n return $fill.apply(aTypedArray(this), arguments);\n});\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","'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","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = ArrayIterators.values;\nvar arrayKeys = ArrayIterators.keys;\nvar arrayEntries = ArrayIterators.entries;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar CORRECT_ITER_NAME = !!nativeTypedArrayIterator\n && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);\n\nvar typedArrayValues = function values() {\n return arrayValues.call(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys.call(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = [].join;\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('join', function join(separator) {\n return $join.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.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 (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar 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 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.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 toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line 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 = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'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 ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $sort = [].sort;\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n return $sort.call(aTypedArray(this), comparefn);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O.constructor))(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\nvar $slice = [].slice;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar arrayJoin = [].join;\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return arrayJoin.call(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.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 state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- 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-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- 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 char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","/**\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\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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 PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__3507__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"CptvPlayerVue.umd.min.\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t174: 0,\n\t211: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","// startup\n// Load entry module and return exports\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(2105);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index dde7aa3..65d038e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cptv-player-vue", - "version": "1.0.3", + "version": "1.0.4", "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build --target lib --name CptvPlayerVue ./src/CptvPlayer.vue", diff --git a/src/CptvPlayer.vue b/src/CptvPlayer.vue index ea694f1..c708346 100644 --- a/src/CptvPlayer.vue +++ b/src/CptvPlayer.vue @@ -718,6 +718,7 @@ export default class CptvPlayerComponent extends Vue { break; } frames.push(frame); + this.loadedFrames = frames.length; this.totalFrames = await cptvDecoder.getTotalFrames(); } } @@ -798,6 +799,7 @@ export default class CptvPlayerComponent extends Vue { firstFrameForTrack(trackIndex: number): number { const frameForTrack = Object.entries( this.processedTracks + // eslint-disable-next-line @typescript-eslint/no-unused-vars ).find(([_, tracks]) => Object.keys(tracks).map(Number).includes(trackIndex) ); @@ -805,11 +807,13 @@ export default class CptvPlayerComponent extends Vue { } onPastLastFrameForTrack(trackIndex: number): number { const entries = Object.entries(this.processedTracks); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const firstFrameForTrackIndex = entries.findIndex(([_, tracks]) => Object.keys(tracks).map(Number).includes(trackIndex) ); const fromStartOfTrack = entries.slice(firstFrameForTrackIndex); let onePastLastFrameForTrackIndex = fromStartOfTrack.findIndex( + // eslint-disable-next-line @typescript-eslint/no-unused-vars ([_, tracks]) => !Object.keys(tracks).map(Number).includes(trackIndex) ); if (onePastLastFrameForTrackIndex === -1) { @@ -1341,7 +1345,7 @@ export default class CptvPlayerComponent extends Vue { } } } - setLabelFontStyle(overlayContext: CanvasRenderingContext2D) { + setLabelFontStyle(overlayContext: CanvasRenderingContext2D): void { overlayContext.font = "13px sans-serif"; overlayContext.lineWidth = 4; overlayContext.strokeStyle = "rgba(0, 0, 0, 0.5)"; @@ -1350,7 +1354,7 @@ export default class CptvPlayerComponent extends Vue { drawBottomLeftOverlayLabel( label: string | false, overlayContext: CanvasRenderingContext2D - ) { + ): void { if (label) { this.setLabelFontStyle(overlayContext); const bottomPadding = 10; @@ -1372,7 +1376,7 @@ export default class CptvPlayerComponent extends Vue { drawBottomRightOverlayLabel( label: string | false, overlayContext: CanvasRenderingContext2D - ) { + ): void { if (label) { this.setLabelFontStyle(overlayContext); const bottomPadding = 10;