diff --git a/amd/build/bootstrap-vue/bootstrap-vue.min.js b/amd/build/bootstrap-vue/bootstrap-vue.min.js index 3253263..83bcf92 100644 --- a/amd/build/bootstrap-vue/bootstrap-vue.min.js +++ b/amd/build/bootstrap-vue/bootstrap-vue.min.js @@ -1,4 +1,3 @@ -function _typeof2(obj){return _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof2(obj) /*! * BootstrapVue 2.23.1 * @@ -7,6 +6,7 @@ function _typeof2(obj){return _typeof2="function"==typeof Symbol&&"symbol"==type * @copyright (c) 2016-2022 BootstrapVue * @license MIT * https://github.com/bootstrap-vue/bootstrap-vue/blob/master/LICENSE - */}!function(global,factory){"object"===("undefined"==typeof exports?"undefined":_typeof2(exports))&&"undefined"!=typeof module?module.exports=factory(require("../vue/vue")):"function"==typeof define&&define.amd?define("local_treestudyplan/bootstrap-vue/bootstrap-vue",["../vue/vue"],factory):(global="undefined"!=typeof globalThis?globalThis:global||self).bootstrapVue=factory(global.Vue)}(window,(function(Vue){var e,Vue__default=(e=Vue)&&"object"===_typeof2(e)&&"default"in e?e:{default:e};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread2$3(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var result,Super=_getPrototypeOf(Derived);if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return function(self,call){if(call&&("object"===_typeof2(call)||"function"==typeof call))return call;if(void 0!==call)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(self)}(this,result)}}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(target,property,receiver){var base=function(object,property){for(;!Object.prototype.hasOwnProperty.call(object,property)&&null!==(object=_getPrototypeOf(object)););return object}(target,property);if(base){var desc=Object.getOwnPropertyDescriptor(base,property);return desc.get?desc.get.call(arguments.length<3?target:receiver):desc.value}},_get.apply(this,arguments)}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||_unsupportedIterableToArray(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray$1(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||_unsupportedIterableToArray(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i0;/msie|trident/.test(USER_AGENT);var checkMultipleVueWarned,MULTIPLE_VUE_WARNING,_watch$k,HAS_PASSIVE_EVENT_SUPPORT=function(){var passiveEventSupported=!1;if(IS_BROWSER)try{var options={get passive(){passiveEventSupported=!0}};WINDOW.addEventListener("test",options,options),WINDOW.removeEventListener("test",options,options)}catch(_unused){passiveEventSupported=!1}return passiveEventSupported}(),HAS_TOUCH_SUPPORT=IS_BROWSER&&("ontouchstart"in DOCUMENT.documentElement||NAVIGATOR.maxTouchPoints>0),HAS_POINTER_EVENT_SUPPORT=IS_BROWSER&&Boolean(WINDOW.PointerEvent||WINDOW.MSPointerEvent),HAS_INTERACTION_OBSERVER_SUPPORT=IS_BROWSER&&"IntersectionObserver"in WINDOW&&"IntersectionObserverEntry"in WINDOW&&"intersectionRatio"in WINDOW.IntersectionObserverEntry.prototype,DEFAULT_BREAKPOINT=["xs","sm","md","lg","xl"],RX_ARRAY_NOTATION=/\[(\d+)]/g,RX_BV_PREFIX=/^(BV?)/,RX_DIGITS=/^\d+$/,RX_EXTENSION=/^\..+/,RX_HASH=/^#/,RX_HASH_ID=/^#[A-Za-z]+[\w\-:.]*$/,RX_HTML_TAGS=/(<([^>]+)>)/gi,RX_HYPHENATE=/\B([A-Z])/g,RX_LOWER_UPPER=/([a-z])([A-Z])/g,RX_NUMBER=/^[0-9]*\.?[0-9]+$/,RX_PLUS=/\+/g,RX_REGEXP_REPLACE=/[-/\\^$*+?.()|[\]{}]/g,RX_SPACES=/[\s\uFEFF\xA0]+/g,RX_SPACE_SPLIT=/\s+/,RX_STAR=/\/\*$/,RX_START_SPACE_WORD=/(\s|^)(\w)/g,RX_TRIM_LEFT=/^\s+/,RX_UNDERSCORE=/_/g,RX_UN_KEBAB=/-(\w)/g,RX_DATE=/^\d+-\d\d?-\d\d?(?:\s|T|$)/,RX_DATE_SPLIT=/-|\s|T/,RX_TIME=/^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/,RX_HREF=/^.*(#[^#]+)$/,RX_ENCODED_COMMA=/%2C/g,RX_ENCODE_REVERSE=/[!'()*]/g,RX_QUERY_START=/^(\?|#|&)/,RX_ASPECT=/^\d+(\.\d*)?[/:]\d+(\.\d*)?$/,RX_ASPECT_SEPARATOR=/[/:]/,RX_COL_CLASS=/^col-/,RX_ICON_PREFIX=/^BIcon/,RX_STRIP_LOCALE_MODS=/-u-.+/,Element=HAS_WINDOW_SUPPORT?WINDOW.Element:function(_Object){_inherits(Element,_Object);var _super=_createSuper(Element);function Element(){return _classCallCheck(this,Element),_super.apply(this,arguments)}return Element}(_wrapNativeSuper(Object)),HTMLElement=HAS_WINDOW_SUPPORT?WINDOW.HTMLElement:function(_Element){_inherits(HTMLElement,_Element);var _super2=_createSuper(HTMLElement);function HTMLElement(){return _classCallCheck(this,HTMLElement),_super2.apply(this,arguments)}return HTMLElement}(Element),SVGElement=HAS_WINDOW_SUPPORT?WINDOW.SVGElement:function(_Element2){_inherits(SVGElement,_Element2);var _super3=_createSuper(SVGElement);function SVGElement(){return _classCallCheck(this,SVGElement),_super3.apply(this,arguments)}return SVGElement}(Element),File=HAS_WINDOW_SUPPORT?WINDOW.File:function(_Object2){_inherits(File,_Object2);var _super4=_createSuper(File);function File(){return _classCallCheck(this,File),_super4.apply(this,arguments)}return File}(_wrapNativeSuper(Object)),toType$1=function(value){return _typeof$1(value)},isUndefined=function(value){return void 0===value},isNull=function(value){return null===value},isUndefinedOrNull=function(value){return isUndefined(value)||isNull(value)},isFunction$1=function(value){return"function"===toType$1(value)},isBoolean=function(value){return"boolean"===toType$1(value)},isString=function(value){return"string"===toType$1(value)},isNumber=function(value){return"number"===toType$1(value)},isNumeric$1=function(value){return RX_NUMBER.test(String(value))},isArray=function(value){return Array.isArray(value)},isObject=function(obj){return null!==obj&&"object"===_typeof$1(obj)},isPlainObject=function(obj){return"[object Object]"===Object.prototype.toString.call(obj)},isDate=function(value){return value instanceof Date},isEvent=function(value){return value instanceof Event},isRegExp=function(value){return"RegExp"===function(value){return Object.prototype.toString.call(value).slice(8,-1)}(value)},assign=function(){return Object.assign.apply(Object,arguments)},create=function(proto,optionalProps){return Object.create(proto,optionalProps)},defineProperties=function(obj,props){return Object.defineProperties(obj,props)},defineProperty$1=function(obj,prop,descriptor){return Object.defineProperty(obj,prop,descriptor)},getOwnPropertyNames=function(obj){return Object.getOwnPropertyNames(obj)},keys=function(obj){return Object.keys(obj)},hasOwnProperty=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)},clone=function(obj){return _objectSpread2$3({},obj)},pick$1=function(obj,props){return keys(obj).filter((function(key){return-1!==props.indexOf(key)})).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},omit=function(obj,props){return keys(obj).filter((function(key){return-1===props.indexOf(key)})).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},mergeDeep=function mergeDeep(target,source){return isObject(target)&&isObject(source)&&keys(source).forEach((function(key){isObject(source[key])?(target[key]&&isObject(target[key])||(target[key]=source[key]),mergeDeep(target[key],source[key])):assign(target,_defineProperty({},key,source[key]))})),target},sortKeys=function(obj){return keys(obj).sort().reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},cloneDeep=function cloneDeep(obj){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:obj;return isArray(obj)?obj.reduce((function(result,val){return[].concat(_toConsumableArray$1(result),[cloneDeep(val,val)])}),[]):isPlainObject(obj)?keys(obj).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,cloneDeep(obj[key],obj[key])))}),{}):defaultValue},identity=function(x){return x},getRaw=function(obj,path){var defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!(path=isArray(path)?path.join("."):path)||!isObject(obj))return defaultValue;if(path in obj)return obj[path];var steps=(path=String(path).replace(RX_ARRAY_NOTATION,".$1")).split(".").filter(identity);return 0===steps.length?defaultValue:steps.every((function(step){return isObject(obj)&&step in obj&&!isUndefinedOrNull(obj=obj[step])}))?obj:isNull(obj)?null:defaultValue},get=function(obj,path){var defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,value=getRaw(obj,path);return isUndefinedOrNull(value)?defaultValue:value},getEnv=function(key){var fallback=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,env="undefined"!=typeof process&&process&&process.env||{};return key?env[key]||fallback:env},warn=function(message){var source=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;getEnv("BOOTSTRAP_VUE_NO_WARN")||"production"===getEnv("NODE_ENV")||console.warn("[BootstrapVue warn]: ".concat(source?"".concat(source," - "):"").concat(message))},warnNotClient=function(source){return!IS_BROWSER&&(warn("".concat(source,": Can not be called during SSR.")),!0)},warnNoPromiseSupport=function(source){return!HAS_PROMISE_SUPPORT&&(warn("".concat(source,": Requires Promise support.")),!0)},BvConfig=function(){function BvConfig(){_classCallCheck(this,BvConfig),this.$_config={}}return _createClass(BvConfig,[{key:"setConfig",value:function(){var _this=this,config=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};isPlainObject(config)&&getOwnPropertyNames(config).forEach((function(key){var subConfig=config[key];"breakpoints"===key?!isArray(subConfig)||subConfig.length<2||subConfig.some((function(b){return!isString(b)||0===b.length}))?warn('"breakpoints" must be an array of at least 2 breakpoint names',"BvConfig"):_this.$_config[key]=cloneDeep(subConfig):isPlainObject(subConfig)&&(_this.$_config[key]=getOwnPropertyNames(subConfig).reduce((function(config,prop){return isUndefined(subConfig[prop])||(config[prop]=cloneDeep(subConfig[prop])),config}),_this.$_config[key]||{}))}))}},{key:"resetConfig",value:function(){this.$_config={}}},{key:"getConfig",value:function(){return cloneDeep(this.$_config)}},{key:"getConfigValue",value:function(key){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return cloneDeep(getRaw(this.$_config,key,defaultValue))}}]),BvConfig}(),checkMultipleVue=(checkMultipleVueWarned=!1,MULTIPLE_VUE_WARNING=["Multiple instances of Vue detected!","You may need to set up an alias for Vue in your bundler config.","See: https://bootstrap-vue.org/docs#using-module-bundlers"].join("\n"),function(Vue){checkMultipleVueWarned||Vue__default.default===Vue||IS_JSDOM||warn(MULTIPLE_VUE_WARNING),checkMultipleVueWarned=!0}),installFactory=function(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},components=_ref.components,directives=_ref.directives,plugins=_ref.plugins,install=function install(Vue){var config=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};install.installed||(install.installed=!0,checkMultipleVue(Vue),function(){var config=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Vue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vue__default.default;Vue.prototype.$bvConfig=Vue__default.default.prototype.$bvConfig=Vue.prototype.$bvConfig||Vue__default.default.prototype.$bvConfig||new BvConfig,Vue.prototype.$bvConfig.setConfig(config)}(config,Vue),registerComponents(Vue,components),registerDirectives(Vue,directives),registerPlugins(Vue,plugins))};return install.installed=!1,install},pluginFactory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{install:installFactory(options)})},registerPlugins=function(Vue){var plugins=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var plugin in plugins)plugin&&plugins[plugin]&&Vue.use(plugins[plugin])},registerComponent=function(Vue,name,def){Vue&&name&&def&&Vue.component(name,def)},registerComponents=function(Vue){var components=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var component in components)registerComponent(Vue,component,components[component])},registerDirective=function(Vue,name,def){Vue&&name&&def&&Vue.directive(name.replace(/^VB/,"B"),def)},registerDirectives=function(Vue){var directives=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var directive in directives)registerDirective(Vue,directive,directives[directive])},HOOK_EVENT_NAME_BEFORE_DESTROY=isVue3?"vnodeBeforeUnmount":"hook:beforeDestroy",HOOK_EVENT_NAME_DESTROYED=isVue3?"vNodeUnmounted":"hook:destroyed",ROOT_EVENT_NAME_PREFIX="bv",EVENT_OPTIONS_PASSIVE={passive:!0},EVENT_OPTIONS_NO_CAPTURE={passive:!0,capture:!1},PROP_TYPE_ARRAY=Array,PROP_TYPE_BOOLEAN=Boolean,PROP_TYPE_DATE=Date,PROP_TYPE_FUNCTION=Function,PROP_TYPE_NUMBER=Number,PROP_TYPE_OBJECT=Object,PROP_TYPE_REG_EXP=RegExp,PROP_TYPE_STRING=String,PROP_TYPE_ARRAY_FUNCTION=[PROP_TYPE_ARRAY,PROP_TYPE_FUNCTION],PROP_TYPE_ARRAY_OBJECT=[PROP_TYPE_ARRAY,PROP_TYPE_OBJECT],PROP_TYPE_ARRAY_OBJECT_STRING=[PROP_TYPE_ARRAY,PROP_TYPE_OBJECT,PROP_TYPE_STRING],PROP_TYPE_ARRAY_STRING=[PROP_TYPE_ARRAY,PROP_TYPE_STRING],PROP_TYPE_BOOLEAN_NUMBER=[PROP_TYPE_BOOLEAN,PROP_TYPE_NUMBER],PROP_TYPE_BOOLEAN_NUMBER_STRING=[PROP_TYPE_BOOLEAN,PROP_TYPE_NUMBER,PROP_TYPE_STRING],PROP_TYPE_BOOLEAN_STRING=[PROP_TYPE_BOOLEAN,PROP_TYPE_STRING],PROP_TYPE_DATE_STRING=[PROP_TYPE_DATE,PROP_TYPE_STRING],PROP_TYPE_FUNCTION_STRING=[PROP_TYPE_FUNCTION,PROP_TYPE_STRING],PROP_TYPE_NUMBER_STRING=[PROP_TYPE_NUMBER,PROP_TYPE_STRING],PROP_TYPE_NUMBER_OBJECT_STRING=[PROP_TYPE_NUMBER,PROP_TYPE_OBJECT,PROP_TYPE_STRING],PROP_TYPE_OBJECT_FUNCTION=[PROP_TYPE_OBJECT,PROP_TYPE_FUNCTION],PROP_TYPE_OBJECT_STRING=[PROP_TYPE_OBJECT,PROP_TYPE_STRING],from=function(){return Array.from.apply(Array,arguments)},arrayIncludes=function(array,value){return-1!==array.indexOf(value)},concat=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return Array.prototype.concat.apply([],args)},createArray=function(length,fillFn){var mapFn=isFunction$1(fillFn)?fillFn:function(){return fillFn};return Array.apply(null,{length:length}).map(mapFn)},flattenDeep=function flattenDeep(array){return array.reduce((function(result,item){return concat(result,Array.isArray(item)?flattenDeep(item):item)}),[])},hasNormalizedSlot=function(names){var $scopedSlots=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},$slots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(names=concat(names).filter(identity)).some((function(name){return $scopedSlots[name]||$slots[name]}))},normalizeSlot=function(names){var slot,scope=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},$scopedSlots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},$slots=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};names=concat(names).filter(identity);for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:"default",scopedSlots=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.$scopedSlots,slots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.$slots;return hasNormalizedSlot(name,scopedSlots,slots)},normalizeSlot:function(){var name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",scope=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},scopedSlots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.$scopedSlots,slots=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.$slots,vNodes=normalizeSlot(name,scope,scopedSlots,slots);return vNodes?concat(vNodes):vNodes}}}),toInteger=function(value){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN,integer=parseInt(value,10);return isNaN(integer)?defaultValue:integer},toFloat=function(value){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN,float=parseFloat(value);return isNaN(float)?defaultValue:float},toFixed=function(val,precision){return toFloat(val).toFixed(toInteger(precision,0))},kebabCase=function(str){return str.replace(RX_HYPHENATE,"-$1").toLowerCase()},pascalCase=function(str){return(str=kebabCase(str).replace(RX_UN_KEBAB,(function(_,c){return c?c.toUpperCase():""}))).charAt(0).toUpperCase()+str.slice(1)},startCase=function(str){return str.replace(RX_UNDERSCORE," ").replace(RX_LOWER_UPPER,(function(str,$1,$2){return $1+" "+$2})).replace(RX_START_SPACE_WORD,(function(str,$1,$2){return $1+$2.toUpperCase()}))},upperFirst=function(str){return(str=isString(str)?str.trim():String(str)).charAt(0).toUpperCase()+str.slice(1)},escapeRegExp=function(str){return str.replace(RX_REGEXP_REPLACE,"\\$&")},toString=function(val){var spaces=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return isUndefinedOrNull(val)?"":isArray(val)||isPlainObject(val)&&val.toString===Object.prototype.toString?JSON.stringify(val,null,spaces):String(val)},trim=function(str){return toString(str).trim()},lowerCase=function(str){return toString(str).toLowerCase()},ELEMENT_PROTO=Element.prototype,TABABLE_SELECTOR=["button","[href]:not(.disabled)","input","select","textarea","[tabindex]","[contenteditable]"].map((function(s){return"".concat(s,":not(:disabled):not([disabled])")})).join(", "),matchesEl=ELEMENT_PROTO.matches||ELEMENT_PROTO.msMatchesSelector||ELEMENT_PROTO.webkitMatchesSelector,closestEl=ELEMENT_PROTO.closest||function(sel){var el=this;do{if(matches(el,sel))return el;el=el.parentElement||el.parentNode}while(!isNull(el)&&el.nodeType===Node.ELEMENT_NODE);return null},requestAF=(WINDOW.requestAnimationFrame||WINDOW.webkitRequestAnimationFrame||WINDOW.mozRequestAnimationFrame||WINDOW.msRequestAnimationFrame||WINDOW.oRequestAnimationFrame||function(cb){return setTimeout(cb,16)}).bind(WINDOW),MutationObs=WINDOW.MutationObserver||WINDOW.WebKitMutationObserver||WINDOW.MozMutationObserver||null,isElement=function(el){return!(!el||el.nodeType!==Node.ELEMENT_NODE)},getActiveElement=function(){var excludes=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],activeElement=DOCUMENT.activeElement;return activeElement&&!excludes.some((function(el){return el===activeElement}))?activeElement:null},isTag=function(tag,name){return toString(tag).toLowerCase()===toString(name).toLowerCase()},isActiveElement=function(el){return isElement(el)&&el===getActiveElement()},isVisible=function(el){if(!isElement(el)||!el.parentNode||!contains(DOCUMENT.body,el))return!1;if("none"===getStyle(el,"display"))return!1;var bcr=getBCR(el);return!!(bcr&&bcr.height>0&&bcr.width>0)},isDisabled=function(el){return!isElement(el)||el.disabled||hasAttr(el,"disabled")||hasClass(el,"disabled")},reflow=function(el){return isElement(el)&&el.offsetHeight},selectAll=function(selector,root){return from((isElement(root)?root:DOCUMENT).querySelectorAll(selector))},select=function(selector,root){return(isElement(root)?root:DOCUMENT).querySelector(selector)||null},matches=function(el,selector){return!!isElement(el)&&matchesEl.call(el,selector)},closest=function(selector,root){var includeRoot=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!isElement(root))return null;var el=closestEl.call(root,selector);return includeRoot?el:el===root?null:el},contains=function(parent,child){return!(!parent||!isFunction$1(parent.contains))&&parent.contains(child)},getById=function(id){return DOCUMENT.getElementById(/^#/.test(id)?id.slice(1):id)||null},addClass=function(el,className){className&&isElement(el)&&el.classList&&el.classList.add(className)},removeClass=function(el,className){className&&isElement(el)&&el.classList&&el.classList.remove(className)},hasClass=function(el,className){return!!(className&&isElement(el)&&el.classList)&&el.classList.contains(className)},setAttr=function(el,attr,value){attr&&isElement(el)&&el.setAttribute(attr,value)},removeAttr=function(el,attr){attr&&isElement(el)&&el.removeAttribute(attr)},getAttr=function(el,attr){return attr&&isElement(el)?el.getAttribute(attr):null},hasAttr=function(el,attr){return attr&&isElement(el)?el.hasAttribute(attr):null},setStyle=function(el,prop,value){prop&&isElement(el)&&(el.style[prop]=value)},removeStyle=function(el,prop){prop&&isElement(el)&&(el.style[prop]="")},getStyle=function(el,prop){return prop&&isElement(el)&&el.style[prop]||null},getBCR=function(el){return isElement(el)?el.getBoundingClientRect():null},getCS=function(el){var getComputedStyle=WINDOW.getComputedStyle;return getComputedStyle&&isElement(el)?getComputedStyle(el):{}},offset$1=function(el){var _offset={top:0,left:0};if(!isElement(el)||0===el.getClientRects().length)return _offset;var bcr=getBCR(el);if(bcr){var win=el.ownerDocument.defaultView;_offset.top=bcr.top+win.pageYOffset,_offset.left=bcr.left+win.pageXOffset}return _offset},position=function(el){var _offset={top:0,left:0};if(!isElement(el))return _offset;var parentOffset={top:0,left:0},elStyles=getCS(el);if("fixed"===elStyles.position)_offset=getBCR(el)||_offset;else{_offset=offset$1(el);for(var doc=el.ownerDocument,offsetParent=el.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===getCS(offsetParent).position;)offsetParent=offsetParent.parentNode;if(offsetParent&&offsetParent!==el&&offsetParent.nodeType===Node.ELEMENT_NODE){parentOffset=offset$1(offsetParent);var offsetParentStyles=getCS(offsetParent);parentOffset.top+=toFloat(offsetParentStyles.borderTopWidth,0),parentOffset.left+=toFloat(offsetParentStyles.borderLeftWidth,0)}}return{top:_offset.top-parentOffset.top-toFloat(elStyles.marginTop,0),left:_offset.left-parentOffset.left-toFloat(elStyles.marginLeft,0)}},getTabables=function(){var rootEl=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;return selectAll(TABABLE_SELECTOR,rootEl).filter(isVisible).filter((function(el){return el.tabIndex>-1&&!el.disabled}))},attemptFocus=function(el){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{el.focus(options)}catch(_unused){}return isActiveElement(el)},attemptBlur=function(el){try{el.blur()}catch(_unused2){}return!isActiveElement(el)},memoize=function(fn){var cache=create(null);return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var argsKey=JSON.stringify(args);return cache[argsKey]=cache[argsKey]||fn.apply(null,args)}},VueProto=Vue__default.default.prototype,getConfigValue=function(key){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,bvConfig=VueProto.$bvConfig;return bvConfig?bvConfig.getConfigValue(key,defaultValue):cloneDeep(defaultValue)},getComponentConfig=function(key){var propKey=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return propKey?getConfigValue("".concat(key,".").concat(propKey),defaultValue):getConfigValue(key,{})},getBreakpoints=function(){return getConfigValue("breakpoints",DEFAULT_BREAKPOINT)},_getBreakpointsCached=memoize((function(){return getBreakpoints()})),getBreakpointsUpCached=memoize((function(){var breakpoints=cloneDeep(_getBreakpointsCached());return breakpoints[0]="",breakpoints})),prefixPropName=function(prefix,value){return prefix+upperFirst(value)},unprefixPropName=function(prefix,value){return str=value.replace(prefix,""),(str=isString(str)?str.trim():String(str)).charAt(0).toLowerCase()+str.slice(1);var str},suffixPropName=function(suffix,value){return value+(suffix?upperFirst(suffix):"")},makeProp=function(){var type=arguments.length>0&&void 0!==arguments[0]?arguments[0]:undefined,value=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,requiredOrValidator=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,validator=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,required=!0===requiredOrValidator;return validator=required?validator:requiredOrValidator,_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},type?{type:type}:{}),required?{required:required}:isUndefined(value)?{}:{default:isObject(value)?function(){return value}:value}),isUndefined(validator)?{}:{validator:validator})},copyProps=function(props){var transformFn=arguments.length>1&&void 0!==arguments[1]?arguments[1]:identity;if(isArray(props))return props.map(transformFn);var copied={};for(var prop in props)hasOwnProperty(props,prop)&&(copied[transformFn(prop)]=isObject(props[prop])?clone(props[prop]):props[prop]);return copied},pluckProps=function(keysToPluck,objToPluck){var transformFn=arguments.length>2&&void 0!==arguments[2]?arguments[2]:identity;return(isArray(keysToPluck)?keysToPluck.slice():keys(keysToPluck)).reduce((function(memo,prop){return memo[transformFn(prop)]=objToPluck[prop],memo}),{})},makePropConfigurable=function(prop,key,componentKey){return _objectSpread2$3(_objectSpread2$3({},cloneDeep(prop)),{},{default:function(){var value=getComponentConfig(componentKey,key,prop.default);return isFunction$1(value)?value():value}})},makePropsConfigurable=function(props,componentKey){return keys(props).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,makePropConfigurable(props[key],key,componentKey)))}),{})},configurablePropDefaultFnName=makePropConfigurable({},"","").default.name,hasPropFunction=function(fn){return isFunction$1(fn)&&fn.name&&fn.name!==configurablePropDefaultFnName},makeModelMixin=function(prop){var _ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$type=_ref.type,type=void 0===_ref$type?undefined:_ref$type,_ref$defaultValue=_ref.defaultValue,defaultValue=void 0===_ref$defaultValue?void 0:_ref$defaultValue,_ref$validator=_ref.validator,validator=void 0===_ref$validator?void 0:_ref$validator,_ref$event=_ref.event,event=void 0===_ref$event?"input":_ref$event,props=_defineProperty({},prop,makeProp(type,defaultValue,validator));return{mixin:extend({model:{prop:prop,event:event},props:props}),props:props,prop:prop,event:event}},parseEventOptions=function(options){return HAS_PASSIVE_EVENT_SUPPORT?isObject(options)?options:{capture:!!options||!1}:!!(isObject(options)?options.capture:options)},eventOn=function(el,eventName,handler,options){el&&el.addEventListener&&el.addEventListener(eventName,handler,parseEventOptions(options))},eventOff=function(el,eventName,handler,options){el&&el.removeEventListener&&el.removeEventListener(eventName,handler,parseEventOptions(options))},eventOnOff=function(on){for(var method=on?eventOn:eventOff,_len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];method.apply(void 0,args)},stopEvent=function(event){var _ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$preventDefault=_ref.preventDefault,preventDefault=void 0===_ref$preventDefault||_ref$preventDefault,_ref$propagation=_ref.propagation,propagation=void 0===_ref$propagation||_ref$propagation,_ref$immediatePropaga=_ref.immediatePropagation,immediatePropagation=void 0!==_ref$immediatePropaga&&_ref$immediatePropaga;preventDefault&&event.preventDefault(),propagation&&event.stopPropagation(),immediatePropagation&&event.stopImmediatePropagation()},getBaseEventName=function(value){return kebabCase(value.replace(RX_BV_PREFIX,""))},getRootEventName=function(name,eventName){return[ROOT_EVENT_NAME_PREFIX,getBaseEventName(name),eventName].join("::")},getRootActionEventName=function(name,actionName){return[ROOT_EVENT_NAME_PREFIX,actionName,getBaseEventName(name)].join("::")},props$2l=makePropsConfigurable({ariaLabel:makeProp(PROP_TYPE_STRING,"Close"),content:makeProp(PROP_TYPE_STRING,"×"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),textVariant:makeProp(PROP_TYPE_STRING)},"BButtonClose"),BButtonClose=extend({name:"BButtonClose",functional:!0,props:props$2l,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$scopedSlots=scopedSlots||{},componentData={staticClass:"close",class:_defineProperty({},"text-".concat(props.textVariant),props.textVariant),attrs:{type:"button",disabled:props.disabled,"aria-label":props.ariaLabel?String(props.ariaLabel):null},on:{click:function(event){props.disabled&&isEvent(event)&&stopEvent(event)}}};return hasNormalizedSlot("default",$scopedSlots,$slots)||(componentData.domProps={innerHTML:props.content}),h("button",a(data,componentData),normalizeSlot("default",{},$scopedSlots,$slots))}}),NO_FADE_PROPS={name:"",enterClass:"",enterActiveClass:"",enterToClass:"show",leaveClass:"show",leaveActiveClass:"",leaveToClass:""},FADE_PROPS=_objectSpread2$3(_objectSpread2$3({},NO_FADE_PROPS),{},{enterActiveClass:"fade",leaveActiveClass:"fade"}),props$2k={appear:makeProp(PROP_TYPE_BOOLEAN,!1),mode:makeProp(PROP_TYPE_STRING),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),transProps:makeProp(PROP_TYPE_OBJECT)},BVTransition=extend({name:"BVTransition",functional:!0,props:props$2k,render:function(h,_ref){var children=_ref.children,data=_ref.data,props=_ref.props,transProps=props.transProps;isPlainObject(transProps)||(transProps=props.noFade?NO_FADE_PROPS:FADE_PROPS,props.appear&&(transProps=_objectSpread2$3(_objectSpread2$3({},transProps),{},{appear:!0,appearClass:transProps.enterClass,appearActiveClass:transProps.enterActiveClass,appearToClass:transProps.enterToClass}))),transProps=_objectSpread2$3(_objectSpread2$3({mode:props.mode},transProps),{},{css:!0});var dataCopy=_objectSpread2$3({},data);return delete dataCopy.props,h("transition",a(dataCopy,{props:transProps}),children)}}),_makeModelMixin$k=makeModelMixin("show",{type:PROP_TYPE_BOOLEAN_NUMBER_STRING,defaultValue:!1}),modelMixin$j=_makeModelMixin$k.mixin,modelProps$j=_makeModelMixin$k.props,MODEL_PROP_NAME$j=_makeModelMixin$k.prop,MODEL_EVENT_NAME$j=_makeModelMixin$k.event,parseCountDown=function(show){return""===show||isBoolean(show)?0:(show=toInteger(show,0))>0?show:0},parseShow=function(show){return""===show||!0===show||!(toInteger(show,0)<1)&&!!show},props$2j=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$j),{},{dismissLabel:makeProp(PROP_TYPE_STRING,"Close"),dismissible:makeProp(PROP_TYPE_BOOLEAN,!1),fade:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING,"info")})),"BAlert"),AlertPlugin=pluginFactory({components:{BAlert:extend({name:"BAlert",mixins:[modelMixin$j,normalizeSlotMixin],props:props$2j,data:function(){return{countDown:0,localShow:parseShow(this[MODEL_PROP_NAME$j])}},watch:(_watch$k={},_defineProperty(_watch$k,MODEL_PROP_NAME$j,(function(newValue){this.countDown=parseCountDown(newValue),this.localShow=parseShow(newValue)})),_defineProperty(_watch$k,"countDown",(function(newValue){var _this=this;this.clearCountDownInterval();var show=this[MODEL_PROP_NAME$j];isNumeric$1(show)&&(this.$emit("dismiss-count-down",newValue),show!==newValue&&this.$emit(MODEL_EVENT_NAME$j,newValue),newValue>0?(this.localShow=!0,this.$_countDownTimeout=setTimeout((function(){_this.countDown--}),1e3)):this.$nextTick((function(){requestAF((function(){_this.localShow=!1}))})))})),_defineProperty(_watch$k,"localShow",(function(newValue){var show=this[MODEL_PROP_NAME$j];newValue||!this.dismissible&&!isNumeric$1(show)||this.$emit("dismissed"),isNumeric$1(show)||show===newValue||this.$emit(MODEL_EVENT_NAME$j,newValue)})),_watch$k),created:function(){this.$_filterTimer=null;var show=this[MODEL_PROP_NAME$j];this.countDown=parseCountDown(show),this.localShow=parseShow(show)},beforeDestroy:function(){this.clearCountDownInterval()},methods:{dismiss:function(){this.clearCountDownInterval(),this.countDown=0,this.localShow=!1},clearCountDownInterval:function(){clearTimeout(this.$_countDownTimeout),this.$_countDownTimeout=null}},render:function(h){var $alert=h();if(this.localShow){var dismissible=this.dismissible,variant=this.variant,$dismissButton=h();dismissible&&($dismissButton=h(BButtonClose,{attrs:{"aria-label":this.dismissLabel},on:{click:this.dismiss}},[this.normalizeSlot("dismiss")])),$alert=h("div",{staticClass:"alert",class:_defineProperty({"alert-dismissible":dismissible},"alert-".concat(variant),variant),attrs:{role:"alert","aria-live":"polite","aria-atomic":!0},key:this._uid},[$dismissButton,this.normalizeSlot()])}return h(BVTransition,{props:{noFade:!this.fade}},[$alert])}})}}),mathMin=Math.min,mathMax=Math.max,mathAbs=Math.abs,mathCeil=Math.ceil,mathFloor=Math.floor,mathPow=Math.pow,mathRound=Math.round,props$2i=makePropsConfigurable({aspect:makeProp(PROP_TYPE_NUMBER_STRING,"1:1"),tag:makeProp(PROP_TYPE_STRING,"div")},"BAspect"),BAspect=extend({name:"BAspect",mixins:[normalizeSlotMixin],props:props$2i,computed:{padding:function(){var aspect=this.aspect,ratio=1;if(RX_ASPECT.test(aspect)){var _aspect$split$map2=_slicedToArray(aspect.split(RX_ASPECT_SEPARATOR).map((function(v){return toFloat(v)||1})),2);ratio=_aspect$split$map2[0]/_aspect$split$map2[1]}else ratio=toFloat(aspect)||1;return"".concat(100/mathAbs(ratio),"%")}},render:function(h){var $sizer=h("div",{staticClass:"".concat("b-aspect","-sizer flex-grow-1"),style:{paddingBottom:this.padding,height:0}}),$content=h("div",{staticClass:"".concat("b-aspect","-content flex-grow-1 w-100 mw-100"),style:{marginLeft:"-100%"}},this.normalizeSlot());return h(this.tag,{staticClass:"".concat("b-aspect"," d-flex")},[$sizer,$content])}}),AspectPlugin=pluginFactory({components:{BAspect:BAspect}});function safeVueInstance(target){return isVue3?new Proxy(target,{get:function(target,prop){return prop in target?target[prop]:void 0}}):target}var encodeReserveReplacer=function(c){return"%"+c.charCodeAt(0).toString(16)},encode=function(str){return encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE,encodeReserveReplacer).replace(RX_ENCODED_COMMA,",")},decode=decodeURIComponent,parseQuery=function(query){var parsed={};return(query=toString(query).trim().replace(RX_QUERY_START,""))?(query.split("&").forEach((function(param){var parts=param.replace(RX_PLUS," ").split("="),key=decode(parts.shift()),value=parts.length>0?decode(parts.join("=")):null;isUndefined(parsed[key])?parsed[key]=value:isArray(parsed[key])?parsed[key].push(value):parsed[key]=[parsed[key],value]})),parsed):parsed},isLink$1=function(props){return!(!props.href&&!props.to)},isRouterLink=function(tag){return!(!tag||isTag(tag,"a"))},computeHref=function(){var _ref3=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},href=_ref3.href,to=_ref3.to,fallback=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#",toFallback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(href)return href;if(isRouterLink(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"a"))return null;if(isString(to))return to||toFallback;if(isPlainObject(to)&&(to.path||to.query||to.hash)){var path=toString(to.path),query=function(obj){if(!isPlainObject(obj))return"";var query=keys(obj).map((function(key){var value=obj[key];return isUndefined(value)?"":isNull(value)?encode(key):isArray(value)?value.reduce((function(results,value2){return isNull(value2)?results.push(encode(key)):isUndefined(value2)||results.push(encode(key)+"="+encode(value2)),results}),[]).join("&"):encode(key)+"="+encode(value)})).filter((function(x){return x.length>0})).join("&");return query?"?".concat(query):""}(to.query),hash=toString(to.hash);return hash=hash&&"#"!==hash.charAt(0)?"#".concat(hash):hash,"".concat(path).concat(query).concat(hash)||toFallback}return fallback},BASE_ATTRS={viewBox:"0 0 16 16",width:"1em",height:"1em",focusable:"false",role:"img","aria-label":"icon"},STACKED_ATTRS={width:null,height:null,focusable:null,role:null,"aria-label":null},props$2h={animation:makeProp(PROP_TYPE_STRING),content:makeProp(PROP_TYPE_STRING),flipH:makeProp(PROP_TYPE_BOOLEAN,!1),flipV:makeProp(PROP_TYPE_BOOLEAN,!1),fontScale:makeProp(PROP_TYPE_NUMBER_STRING,1),rotate:makeProp(PROP_TYPE_NUMBER_STRING,0),scale:makeProp(PROP_TYPE_NUMBER_STRING,1),shiftH:makeProp(PROP_TYPE_NUMBER_STRING,0),shiftV:makeProp(PROP_TYPE_NUMBER_STRING,0),stacked:makeProp(PROP_TYPE_BOOLEAN,!1),title:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING)},BVIconBase=extend({name:"BIconBase",functional:!0,props:props$2h,render:function(h,_ref){var _class,data=_ref.data,props=_ref.props,children=_ref.children,animation=props.animation,content=props.content,flipH=props.flipH,flipV=props.flipV,stacked=props.stacked,title=props.title,variant=props.variant,fontScale=mathMax(toFloat(props.fontScale,1),0)||1,scale=mathMax(toFloat(props.scale,1),0)||1,rotate=toFloat(props.rotate,0),shiftH=toFloat(props.shiftH,0),shiftV=toFloat(props.shiftV,0),hasScale=flipH||flipV||1!==scale,hasTransforms=hasScale||rotate,hasShift=shiftH||shiftV,hasContent=!isUndefinedOrNull(content),$inner=h("g",{attrs:{transform:[hasTransforms?"translate(8 8)":null,hasScale?"scale(".concat((flipH?-1:1)*scale," ").concat((flipV?-1:1)*scale,")"):null,rotate?"rotate(".concat(rotate,")"):null,hasTransforms?"translate(-8 -8)":null].filter(identity).join(" ")||null},domProps:hasContent?{innerHTML:content||""}:{}},children);hasShift&&($inner=h("g",{attrs:{transform:"translate(".concat(16*shiftH/16," ").concat(-16*shiftV/16,")")}},[$inner])),stacked&&($inner=h("g",[$inner]));var $content=[title?h("title",title):null,$inner].filter(identity);return h("svg",a({staticClass:"b-icon bi",class:(_class={},_defineProperty(_class,"text-".concat(variant),variant),_defineProperty(_class,"b-icon-animation-".concat(animation),animation),_class),attrs:BASE_ATTRS,style:stacked?{}:{fontSize:1===fontScale?null:"".concat(100*fontScale,"%")}},data,stacked?{attrs:STACKED_ATTRS}:{},{attrs:{xmlns:stacked?null:"http://www.w3.org/2000/svg",fill:"currentColor"}}),$content)}}),iconProps$1=omit(props$2h,["content"]),makeIcon=function(name,content){var kebabName=kebabCase(name),iconName="BIcon".concat(pascalCase(name)),iconNameClass="bi-".concat(kebabName),iconTitle=kebabName.replace(/-/g," "),svgContent=trim(content||"");return extend({name:iconName,functional:!0,props:iconProps$1,render:function(h,_ref){var data=_ref.data,props=_ref.props;return h(BVIconBase,a({props:{title:iconTitle},attrs:{"aria-label":iconTitle}},data,{staticClass:iconNameClass,props:_objectSpread2$3(_objectSpread2$3({},props),{},{content:svgContent})}))}})},BIconBlank=makeIcon("Blank",""),BIconCalendar=makeIcon("Calendar",''),BIconCalendarFill=makeIcon("CalendarFill",''),BIconChevronBarLeft=makeIcon("ChevronBarLeft",''),BIconChevronDoubleLeft=makeIcon("ChevronDoubleLeft",''),BIconChevronDown=makeIcon("ChevronDown",''),BIconChevronLeft=makeIcon("ChevronLeft",''),BIconChevronUp=makeIcon("ChevronUp",''),BIconCircleFill=makeIcon("CircleFill",''),BIconClock=makeIcon("Clock",''),BIconClockFill=makeIcon("ClockFill",''),BIconDash=makeIcon("Dash",''),BIconPersonFill=makeIcon("PersonFill",''),BIconPlus=makeIcon("Plus",''),BIconStar=makeIcon("Star",''),BIconStarFill=makeIcon("StarFill",''),BIconStarHalf=makeIcon("StarHalf",''),BIconX=makeIcon("X",''),findIconComponent=function findIconComponent(ctx,iconName){if(!ctx)return Vue__default.default.component(iconName);var components=(ctx.$options||{}).components;return components&&components[iconName]||findIconComponent(ctx.$parent,iconName)},iconProps=omit(props$2h,["content"]),props$2g=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},iconProps),{},{icon:makeProp(PROP_TYPE_STRING)})),"BIcon"),BIcon=extend({name:"BIcon",functional:!0,props:props$2g,render:function(h,_ref){var data=_ref.data,props=_ref.props,parent=_ref.parent,icon=pascalCase(trim(props.icon||"")).replace(RX_ICON_PREFIX,"");return h(icon&&findIconComponent(parent,"BIcon".concat(icon))||BIconBlank,a(data,{props:pluckProps(iconProps,props)}))}}),CODE_DOWN=40,CODE_END=35,CODE_ENTER=13,CODE_HOME=36,CODE_LEFT=37,CODE_RIGHT=39,CODE_SPACE=32,CODE_UP=38,compareArrays=function(a,b){if(a.length!==b.length)return!1;for(var equal=!0,i=0;equal&&i1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];(_this$bvEventRoot=this.bvEventRoot).$emit.apply(_this$bvEventRoot,[event].concat(args))}}}}),listenersMixinVue2=makePropCacheMixin("$listeners","bvListeners"),listenersMixinVue3=extend({data:function(){return{bvListeners:{}}},created:function(){this.bvListeners=_objectSpread2$3({},this.$listeners)},beforeUpdate:function(){this.bvListeners=_objectSpread2$3({},this.$listeners)}}),listenersMixin=isVue3?listenersMixinVue3:listenersMixinVue2,ROOT_EVENT_NAME_CLICKED=getRootEventName("BLink","clicked"),routerLinkProps={activeClass:makeProp(PROP_TYPE_STRING),append:makeProp(PROP_TYPE_BOOLEAN,!1),event:makeProp(PROP_TYPE_ARRAY_STRING),exact:makeProp(PROP_TYPE_BOOLEAN,!1),exactActiveClass:makeProp(PROP_TYPE_STRING),exactPath:makeProp(PROP_TYPE_BOOLEAN,!1),exactPathActiveClass:makeProp(PROP_TYPE_STRING),replace:makeProp(PROP_TYPE_BOOLEAN,!1),routerTag:makeProp(PROP_TYPE_STRING),to:makeProp(PROP_TYPE_OBJECT_STRING)},nuxtLinkProps={noPrefetch:makeProp(PROP_TYPE_BOOLEAN,!1),prefetch:makeProp(PROP_TYPE_BOOLEAN,null)},props$2f=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},nuxtLinkProps),routerLinkProps),{},{active:makeProp(PROP_TYPE_BOOLEAN,!1),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),href:makeProp(PROP_TYPE_STRING),rel:makeProp(PROP_TYPE_STRING,null),routerComponentName:makeProp(PROP_TYPE_STRING),target:makeProp(PROP_TYPE_STRING,"_self")})),"BLink"),BLink=extend({name:"BLink",mixins:[attrsMixin,listenersMixin,listenOnRootMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$2f,computed:{computedTag:function(){return function(_ref,thisOrParent){var to=_ref.to,disabled=_ref.disabled,routerComponentName=_ref.routerComponentName,hasRouter=!!safeVueInstance(thisOrParent).$router,hasNuxt=!!safeVueInstance(thisOrParent).$nuxt;return!hasRouter||hasRouter&&(disabled||!to)?"a":routerComponentName||(hasNuxt?"nuxt-link":"router-link")}({to:this.to,disabled:this.disabled,routerComponentName:this.routerComponentName},this)},isRouterLink:function(){return isRouterLink(this.computedTag)},computedRel:function(){return function(){var _ref2=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},target=_ref2.target,rel=_ref2.rel;return"_blank"===target&&isNull(rel)?"noopener":rel||null}({target:this.target,rel:this.rel})},computedHref:function(){var to=this.to,href=this.href;return computeHref({to:to,href:href},this.computedTag)},computedProps:function(){var event=this.event,prefetch=this.prefetch,routerTag=this.routerTag;return this.isRouterLink?_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},pluckProps(omit(_objectSpread2$3(_objectSpread2$3({},routerLinkProps),"nuxt-link"===this.computedTag?nuxtLinkProps:{}),["event","prefetch","routerTag"]),this)),event?{event:event}:{}),isBoolean(prefetch)?{prefetch:prefetch}:{}),routerTag?{tag:routerTag}:{}):{}},computedAttrs:function(){var bvAttrs=this.bvAttrs,href=this.computedHref,rel=this.computedRel,disabled=this.disabled,target=this.target,routerTag=this.routerTag,isRouterLink=this.isRouterLink;return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},bvAttrs),href?{href:href}:{}),isRouterLink&&routerTag&&!isTag(routerTag,"a")?{}:{rel:rel,target:target}),{},{tabindex:disabled?"-1":isUndefined(bvAttrs.tabindex)?null:bvAttrs.tabindex,"aria-disabled":disabled?"true":null})},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{click:this.onClick})}},methods:{onClick:function(event){var _arguments=arguments,eventIsEvent=isEvent(event),isRouterLink=this.isRouterLink,suppliedHandler=this.bvListeners.click;if(eventIsEvent&&this.disabled)stopEvent(event,{immediatePropagation:!0});else{var _event$currentTarget$;if(isRouterLink)null===(_event$currentTarget$=event.currentTarget.__vue__)||void 0===_event$currentTarget$||_event$currentTarget$.$emit("click",event);concat(suppliedHandler).filter((function(h){return isFunction$1(h)})).forEach((function(handler){handler.apply(void 0,_toConsumableArray$1(_arguments))})),this.emitOnRoot(ROOT_EVENT_NAME_CLICKED,event),this.emitOnRoot("clicked::link",event)}eventIsEvent&&!isRouterLink&&"#"===this.computedHref&&stopEvent(event,{propagation:!1})},focus:function(){attemptFocus(this.$el)},blur:function(){attemptBlur(this.$el)}},render:function(h){var active=this.active,disabled=this.disabled;return h(this.computedTag,_defineProperty({class:{active:active,disabled:disabled},attrs:this.computedAttrs,props:this.computedProps},this.isRouterLink?"nativeOn":"on",this.computedListeners),this.normalizeSlot())}}),linkProps$7=omit(props$2f,["event","routerTag"]);delete linkProps$7.href.default,delete linkProps$7.to.default;var props$2e=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$7),{},{block:makeProp(PROP_TYPE_BOOLEAN,!1),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),pill:makeProp(PROP_TYPE_BOOLEAN,!1),pressed:makeProp(PROP_TYPE_BOOLEAN,null),size:makeProp(PROP_TYPE_STRING),squared:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"button"),type:makeProp(PROP_TYPE_STRING,"button"),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BButton"),handleFocus=function(event){"focusin"===event.type?addClass(event.target,"focus"):"focusout"===event.type&&removeClass(event.target,"focus")},isLink=function(props){return isLink$1(props)||isTag(props.tag,"a")},isToggle=function(props){return isBoolean(props.pressed)},isButton=function(props){return!(isLink(props)||props.tag&&!isTag(props.tag,"button"))},isNonStandardTag$1=function(props){return!isLink(props)&&!isButton(props)},computeClass=function(props){var _ref;return["btn-".concat(props.variant||"secondary"),(_ref={},_defineProperty(_ref,"btn-".concat(props.size),props.size),_defineProperty(_ref,"btn-block",props.block),_defineProperty(_ref,"rounded-pill",props.pill),_defineProperty(_ref,"rounded-0",props.squared&&!props.pill),_defineProperty(_ref,"disabled",props.disabled),_defineProperty(_ref,"active",props.pressed),_ref)]},computeLinkProps=function(props){return isLink(props)?pluckProps(linkProps$7,props):{}},computeAttrs=function(props,data){var button=isButton(props),link=isLink(props),toggle=isToggle(props),nonStandardTag=isNonStandardTag$1(props),hashLink=link&&"#"===props.href,role=data.attrs&&data.attrs.role?data.attrs.role:null,tabindex=data.attrs?data.attrs.tabindex:null;return(nonStandardTag||hashLink)&&(tabindex="0"),{type:button&&!link?props.type:null,disabled:button?props.disabled:null,role:nonStandardTag||hashLink?"button":role,"aria-disabled":nonStandardTag?String(props.disabled):null,"aria-pressed":toggle?String(props.pressed):null,autocomplete:toggle?"off":null,tabindex:props.disabled&&!button?"-1":tabindex}},BButton=extend({name:"BButton",functional:!0,props:props$2e,render:function(h,_ref2){var props=_ref2.props,data=_ref2.data,listeners=_ref2.listeners,children=_ref2.children,toggle=isToggle(props),link=isLink(props),nonStandardTag=isNonStandardTag$1(props),hashLink=link&&"#"===props.href,on={keydown:function(event){if(!props.disabled&&(nonStandardTag||hashLink)){var keyCode=event.keyCode;if(keyCode===CODE_SPACE||keyCode===CODE_ENTER&&nonStandardTag){var target=event.currentTarget||event.target;stopEvent(event,{propagation:!1}),target.click()}}},click:function(event){props.disabled&&isEvent(event)?stopEvent(event):toggle&&listeners&&listeners["update:pressed"]&&concat(listeners["update:pressed"]).forEach((function(fn){isFunction$1(fn)&&fn(!props.pressed)}))}};toggle&&(on.focusin=handleFocus,on.focusout=handleFocus);var componentData={staticClass:"btn",class:computeClass(props),props:computeLinkProps(props),attrs:computeAttrs(props,data),on:on};return h(link?BLink:props.tag,a(_objectSpread2$3(_objectSpread2$3({},data),{},{props:void 0}),componentData),children)}}),SIZES=["sm",null,"lg"],computeSize=function(value){return value=isString(value)&&isNumeric$1(value)?toFloat(value,0):value,isNumber(value)?"".concat(value,"px"):value||null},linkProps$6=omit(props$2f,["active","event","routerTag"]),props$2d=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$6),{},{alt:makeProp(PROP_TYPE_STRING,"avatar"),ariaLabel:makeProp(PROP_TYPE_STRING),badge:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),badgeLeft:makeProp(PROP_TYPE_BOOLEAN,!1),badgeOffset:makeProp(PROP_TYPE_STRING),badgeTop:makeProp(PROP_TYPE_BOOLEAN,!1),badgeVariant:makeProp(PROP_TYPE_STRING,"primary"),button:makeProp(PROP_TYPE_BOOLEAN,!1),buttonType:makeProp(PROP_TYPE_STRING,"button"),icon:makeProp(PROP_TYPE_STRING),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),size:makeProp(PROP_TYPE_NUMBER_STRING),square:makeProp(PROP_TYPE_BOOLEAN,!1),src:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BAvatar"),BAvatar=extend({name:"BAvatar",mixins:[normalizeSlotMixin],inject:{getBvAvatarGroup:{default:function(){return function(){return null}}}},props:props$2d,data:function(){return{localSrc:this.src||null}},computed:{bvAvatarGroup:function(){return this.getBvAvatarGroup()},computedSize:function(){var bvAvatarGroup=this.bvAvatarGroup;return computeSize(bvAvatarGroup?bvAvatarGroup.size:this.size)},computedVariant:function(){var bvAvatarGroup=this.bvAvatarGroup;return bvAvatarGroup&&bvAvatarGroup.variant?bvAvatarGroup.variant:this.variant},computedRounded:function(){var bvAvatarGroup=this.bvAvatarGroup,square=!(!bvAvatarGroup||!bvAvatarGroup.square)||this.square,rounded=bvAvatarGroup&&bvAvatarGroup.rounded?bvAvatarGroup.rounded:this.rounded;return square?"0":""===rounded||(rounded||"circle")},fontStyle:function(){var size=this.computedSize,fontSize=-1===SIZES.indexOf(size)?"calc(".concat(size," * ").concat(.4,")"):null;return fontSize?{fontSize:fontSize}:{}},marginStyle:function(){var size=this.computedSize,bvAvatarGroup=this.bvAvatarGroup,overlapScale=bvAvatarGroup?bvAvatarGroup.overlapScale:0,value=size&&overlapScale?"calc(".concat(size," * -").concat(overlapScale,")"):null;return value?{marginLeft:value,marginRight:value}:{}},badgeStyle:function(){var size=this.computedSize,badgeTop=this.badgeTop,badgeLeft=this.badgeLeft,offset=this.badgeOffset||"0px";return{fontSize:-1===SIZES.indexOf(size)?"calc(".concat(size," * ").concat(.27999999999999997," )"):null,top:badgeTop?offset:null,bottom:badgeTop?null:offset,left:badgeLeft?offset:null,right:badgeLeft?null:offset}}},watch:{src:function(newValue,oldValue){newValue!==oldValue&&(this.localSrc=newValue||null)}},methods:{onImgError:function(event){this.localSrc=null,this.$emit("img-error",event)},onClick:function(event){this.$emit("click",event)}},render:function(h){var _class2,variant=this.computedVariant,disabled=this.disabled,rounded=this.computedRounded,icon=this.icon,src=this.localSrc,text=this.text,fontStyle=this.fontStyle,marginStyle=this.marginStyle,size=this.computedSize,button=this.button,type=this.buttonType,badge=this.badge,badgeVariant=this.badgeVariant,badgeStyle=this.badgeStyle,link=!button&&isLink$1(this),tag=button?BButton:link?BLink:"span",alt=this.alt,ariaLabel=this.ariaLabel||null,$content=null;this.hasNormalizedSlot()?$content=h("span",{staticClass:"b-avatar-custom"},[this.normalizeSlot()]):src?($content=h("img",{style:variant?{}:{width:"100%",height:"100%"},attrs:{src:src,alt:alt},on:{error:this.onImgError}}),$content=h("span",{staticClass:"b-avatar-img"},[$content])):$content=icon?h(BIcon,{props:{icon:icon},attrs:{"aria-hidden":"true",alt:alt}}):text?h("span",{staticClass:"b-avatar-text",style:fontStyle},[h("span",text)]):h(BIconPersonFill,{attrs:{"aria-hidden":"true",alt:alt}});var $badge=h(),hasBadgeSlot=this.hasNormalizedSlot("badge");if(badge||""===badge||hasBadgeSlot){var badgeText=!0===badge?"":badge;$badge=h("span",{staticClass:"b-avatar-badge",class:_defineProperty({},"badge-".concat(badgeVariant),badgeVariant),style:badgeStyle},[hasBadgeSlot?this.normalizeSlot("badge"):badgeText])}return h(tag,{staticClass:"b-avatar",class:(_class2={},_defineProperty(_class2,"".concat("b-avatar","-").concat(size),size&&-1!==SIZES.indexOf(size)),_defineProperty(_class2,"badge-".concat(variant),!button&&variant),_defineProperty(_class2,"rounded",!0===rounded),_defineProperty(_class2,"rounded-".concat(rounded),rounded&&!0!==rounded),_defineProperty(_class2,"disabled",disabled),_class2),style:_objectSpread2$3(_objectSpread2$3({},marginStyle),{},{width:size,height:size}),attrs:{"aria-label":ariaLabel||null},props:button?{variant:variant,disabled:disabled,type:type}:link?pluckProps(linkProps$6,this):{},on:button||link?{click:this.onClick}:{}},[$content,$badge])}}),props$2c=makePropsConfigurable({overlap:makeProp(PROP_TYPE_NUMBER_STRING,.3),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),size:makeProp(PROP_TYPE_STRING),square:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),variant:makeProp(PROP_TYPE_STRING)},"BAvatarGroup"),AvatarPlugin=pluginFactory({components:{BAvatar:BAvatar,BAvatarGroup:extend({name:"BAvatarGroup",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvAvatarGroup:function(){return _this}}},props:props$2c,computed:{computedSize:function(){return computeSize(this.size)},overlapScale:function(){return mathMin(mathMax(toFloat(this.overlap,0),0),1)/2},paddingStyle:function(){var value=this.computedSize;return(value=value?"calc(".concat(value," * ").concat(this.overlapScale,")"):null)?{paddingLeft:value,paddingRight:value}:{}}},render:function(h){var $inner=h("div",{staticClass:"b-avatar-group-inner",style:this.paddingStyle},this.normalizeSlot());return h(this.tag,{staticClass:"b-avatar-group",attrs:{role:"group"}},[$inner])}})}}),linkProps$5=omit(props$2f,["event","routerTag"]);delete linkProps$5.href.default,delete linkProps$5.to.default;var _watch$j,props$2b=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$5),{},{pill:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"span"),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BBadge"),BBadge=extend({name:"BBadge",functional:!0,props:props$2b,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,active=props.active,disabled=props.disabled,link=isLink$1(props),tag=link?BLink:props.tag,variant=props.variant||"secondary";return h(tag,a(data,{staticClass:"badge",class:["badge-".concat(variant),{"badge-pill":props.pill,active:active,disabled:disabled}],props:link?pluckProps(linkProps$5,props):{}}),children)}}),BadgePlugin=pluginFactory({components:{BBadge:BBadge}}),stripTags=function(){return String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(RX_HTML_TAGS,"")},htmlOrText=function(innerHTML,textContent){return innerHTML?{innerHTML:innerHTML}:textContent?{textContent:textContent}:{}},props$2a=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},omit(props$2f,["event","routerTag"])),{},{ariaCurrent:makeProp(PROP_TYPE_STRING,"location"),html:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING)})),"BBreadcrumbLink"),BBreadcrumbLink=extend({name:"BBreadcrumbLink",functional:!0,props:props$2a,render:function(h,_ref){var suppliedProps=_ref.props,data=_ref.data,children=_ref.children,active=suppliedProps.active,tag=active?"span":BLink,componentData={attrs:{"aria-current":active?suppliedProps.ariaCurrent:null},props:pluckProps(props$2a,suppliedProps)};return children||(componentData.domProps=htmlOrText(suppliedProps.html,suppliedProps.text)),h(tag,a(data,componentData),children)}}),props$29=makePropsConfigurable(props$2a,"BBreadcrumbItem"),BBreadcrumbItem=extend({name:"BBreadcrumbItem",functional:!0,props:props$29,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h("li",a(data,{staticClass:"breadcrumb-item",class:{active:props.active}}),[h(BBreadcrumbLink,{props:props},children)])}}),props$28=makePropsConfigurable({items:makeProp(PROP_TYPE_ARRAY)},"BBreadcrumb"),BBreadcrumb=extend({name:"BBreadcrumb",functional:!0,props:props$28,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,items=props.items,childNodes=children;if(isArray(items)){var activeDefined=!1;childNodes=items.map((function(item,idx){isObject(item)||(item={text:toString(item)});var active=item.active;return active&&(activeDefined=!0),active||activeDefined||(active=idx+1===items.length),h(BBreadcrumbItem,{props:_objectSpread2$3(_objectSpread2$3({},item),{},{active:active})})}))}return h("ol",a(data,{staticClass:"breadcrumb"}),childNodes)}}),BreadcrumbPlugin=pluginFactory({components:{BBreadcrumb:BBreadcrumb,BBreadcrumbItem:BBreadcrumbItem,BBreadcrumbLink:BBreadcrumbLink}}),ButtonPlugin=pluginFactory({components:{BButton:BButton,BBtn:BButton,BButtonClose:BButtonClose,BBtnClose:BButtonClose}}),props$27=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},pick$1(props$2e,["size"])),{},{ariaRole:makeProp(PROP_TYPE_STRING,"group"),size:makeProp(PROP_TYPE_STRING),tag:makeProp(PROP_TYPE_STRING,"div"),vertical:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BButtonGroup"),BButtonGroup=extend({name:"BButtonGroup",functional:!0,props:props$27,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:_defineProperty({"btn-group":!props.vertical,"btn-group-vertical":props.vertical},"btn-group-".concat(props.size),props.size),attrs:{role:props.ariaRole}}),children)}}),ButtonGroupPlugin=pluginFactory({components:{BButtonGroup:BButtonGroup,BBtnGroup:BButtonGroup}}),ITEM_SELECTOR=[".btn:not(.disabled):not([disabled]):not(.dropdown-item)",".form-control:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])",'input[type="checkbox"]:not(.disabled)','input[type="radio"]:not(.disabled)'].join(","),props$26=makePropsConfigurable({justify:makeProp(PROP_TYPE_BOOLEAN,!1),keyNav:makeProp(PROP_TYPE_BOOLEAN,!1)},"BButtonToolbar"),BButtonToolbar=extend({name:"BButtonToolbar",mixins:[normalizeSlotMixin],props:props$26,mounted:function(){this.keyNav&&this.getItems()},methods:{getItems:function(){var items=selectAll(ITEM_SELECTOR,this.$el);return items.forEach((function(item){item.tabIndex=-1})),items.filter((function(el){return isVisible(el)}))},focusFirst:function(){var items=this.getItems();attemptFocus(items[0])},focusPrev:function(event){var items=this.getItems(),index=items.indexOf(event.target);index>-1&&(items=items.slice(0,index).reverse(),attemptFocus(items[0]))},focusNext:function(event){var items=this.getItems(),index=items.indexOf(event.target);index>-1&&(items=items.slice(index+1),attemptFocus(items[0]))},focusLast:function(){var items=this.getItems().reverse();attemptFocus(items[0])},onFocusin:function(event){var $el=this.$el;event.target!==$el||contains($el,event.relatedTarget)||(stopEvent(event),this.focusFirst(event))},onKeydown:function(event){var keyCode=event.keyCode,shiftKey=event.shiftKey;keyCode===CODE_UP||keyCode===CODE_LEFT?(stopEvent(event),shiftKey?this.focusFirst(event):this.focusPrev(event)):keyCode!==CODE_DOWN&&keyCode!==CODE_RIGHT||(stopEvent(event),shiftKey?this.focusLast(event):this.focusNext(event))}},render:function(h){var keyNav=this.keyNav;return h("div",{staticClass:"btn-toolbar",class:{"justify-content-between":this.justify},attrs:{role:"toolbar",tabindex:keyNav?"0":null},on:keyNav?{focusin:this.onFocusin,keydown:this.onKeydown}:{}},[this.normalizeSlot()])}}),ButtonToolbarPlugin=pluginFactory({components:{BButtonToolbar:BButtonToolbar,BBtnToolbar:BButtonToolbar}}),createDate=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _construct(Date,args)},parseYMD=function(date){if(isString(date)&&RX_DATE.test(date.trim())){var _date$split$map2=_slicedToArray(date.split(RX_DATE_SPLIT).map((function(v){return toInteger(v,1)})),3),year=_date$split$map2[0],month=_date$split$map2[1],day=_date$split$map2[2];return createDate(year,month-1,day)}return isDate(date)?createDate(date.getFullYear(),date.getMonth(),date.getDate()):null},formatYMD=function(date){if(!(date=parseYMD(date)))return null;var year=date.getFullYear(),month="0".concat(date.getMonth()+1).slice(-2),day="0".concat(date.getDate()).slice(-2);return"".concat(year,"-").concat(month,"-").concat(day)},createDateFormatter=function(locale,options){return new Intl.DateTimeFormat(locale,options).format},datesEqual=function(date1,date2){return formatYMD(date1)===formatYMD(date2)},firstDateOfMonth=function(date){return(date=createDate(date)).setDate(1),date},lastDateOfMonth=function(date){return(date=createDate(date)).setMonth(date.getMonth()+1),date.setDate(0),date},addYears=function(date,numberOfYears){var month=(date=createDate(date)).getMonth();return date.setFullYear(date.getFullYear()+numberOfYears),date.getMonth()!==month&&date.setDate(0),date},oneMonthAgo=function(date){var month=(date=createDate(date)).getMonth();return date.setMonth(month-1),date.getMonth()===month&&date.setDate(0),date},oneMonthAhead=function(date){var month=(date=createDate(date)).getMonth();return date.setMonth(month+1),date.getMonth()===(month+2)%12&&date.setDate(0),date},oneYearAgo=function(date){return addYears(date,-1)},oneYearAhead=function(date){return addYears(date,1)},oneDecadeAgo=function(date){return addYears(date,-10)},oneDecadeAhead=function(date){return addYears(date,10)},constrainDate=function(date){var min=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,max=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return date=parseYMD(date),min=parseYMD(min)||date,max=parseYMD(max)||date,date?datemax?max:date:null},RTL_LANGS=["ar","az","ckb","fa","he","ks","lrc","mzn","ps","sd","te","ug","ur","yi"].map((function(locale){return locale.toLowerCase()})),isLocaleRTL=function(locale){var parts=toString(locale).toLowerCase().replace(RX_STRIP_LOCALE_MODS,"").split("-"),locale1=parts.slice(0,2).join("-"),locale2=parts[0];return arrayIncludes(RTL_LANGS,locale1)||arrayIncludes(RTL_LANGS,locale2)},props$25={id:makeProp(PROP_TYPE_STRING)},idMixin=extend({props:props$25,data:function(){return{localId_:null}},computed:{safeId:function(){var id=this.id||this.localId_;return function(suffix){return id?(suffix=String(suffix||"").replace(/\s+/g,"_"))?id+"_"+suffix:id:null}}},mounted:function(){var _this=this;this.$nextTick((function(){_this.localId_="__BVID__".concat(_this._uid)}))}}),_makeModelMixin$j=makeModelMixin("value",{type:PROP_TYPE_DATE_STRING}),modelMixin$i=_makeModelMixin$j.mixin,modelProps$i=_makeModelMixin$j.props,MODEL_PROP_NAME$i=_makeModelMixin$j.prop,MODEL_EVENT_NAME$i=_makeModelMixin$j.event,props$24=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$i),{},{ariaControls:makeProp(PROP_TYPE_STRING),block:makeProp(PROP_TYPE_BOOLEAN,!1),dateDisabledFn:makeProp(PROP_TYPE_FUNCTION),dateFormatOptions:makeProp(PROP_TYPE_OBJECT,{year:"numeric",month:"long",day:"numeric",weekday:"long"}),dateInfoFn:makeProp(PROP_TYPE_FUNCTION),direction:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),headerTag:makeProp(PROP_TYPE_STRING,"header"),hidden:makeProp(PROP_TYPE_BOOLEAN,!1),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),initialDate:makeProp(PROP_TYPE_DATE_STRING),labelCalendar:makeProp(PROP_TYPE_STRING,"Calendar"),labelCurrentMonth:makeProp(PROP_TYPE_STRING,"Current month"),labelHelp:makeProp(PROP_TYPE_STRING,"Use cursor keys to navigate calendar dates"),labelNav:makeProp(PROP_TYPE_STRING,"Calendar navigation"),labelNextDecade:makeProp(PROP_TYPE_STRING,"Next decade"),labelNextMonth:makeProp(PROP_TYPE_STRING,"Next month"),labelNextYear:makeProp(PROP_TYPE_STRING,"Next year"),labelNoDateSelected:makeProp(PROP_TYPE_STRING,"No date selected"),labelPrevDecade:makeProp(PROP_TYPE_STRING,"Previous decade"),labelPrevMonth:makeProp(PROP_TYPE_STRING,"Previous month"),labelPrevYear:makeProp(PROP_TYPE_STRING,"Previous year"),labelSelected:makeProp(PROP_TYPE_STRING,"Selected date"),labelToday:makeProp(PROP_TYPE_STRING,"Today"),locale:makeProp(PROP_TYPE_ARRAY_STRING),max:makeProp(PROP_TYPE_DATE_STRING),min:makeProp(PROP_TYPE_DATE_STRING),navButtonVariant:makeProp(PROP_TYPE_STRING,"secondary"),noHighlightToday:makeProp(PROP_TYPE_BOOLEAN,!1),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),roleDescription:makeProp(PROP_TYPE_STRING),selectedVariant:makeProp(PROP_TYPE_STRING,"primary"),showDecadeNav:makeProp(PROP_TYPE_BOOLEAN,!1),startWeekday:makeProp(PROP_TYPE_NUMBER_STRING,0),todayVariant:makeProp(PROP_TYPE_STRING),valueAsDate:makeProp(PROP_TYPE_BOOLEAN,!1),weekdayHeaderFormat:makeProp(PROP_TYPE_STRING,"short",(function(value){return arrayIncludes(["long","short","narrow"],value)})),width:makeProp(PROP_TYPE_STRING,"270px")})),"BCalendar"),BCalendar=extend({name:"BCalendar",mixins:[attrsMixin,idMixin,modelMixin$i,normalizeSlotMixin],props:props$24,data:function(){var selected=formatYMD(this[MODEL_PROP_NAME$i])||"";return{selectedYMD:selected,activeYMD:selected||formatYMD(constrainDate(this.initialDate||this.getToday()),this.min,this.max),gridHasFocus:!1,isLive:!1}},computed:{valueId:function(){return this.safeId()},widgetId:function(){return this.safeId("_calendar-wrapper_")},navId:function(){return this.safeId("_calendar-nav_")},gridId:function(){return this.safeId("_calendar-grid_")},gridCaptionId:function(){return this.safeId("_calendar-grid-caption_")},gridHelpId:function(){return this.safeId("_calendar-grid-help_")},activeId:function(){return this.activeYMD?this.safeId("_cell-".concat(this.activeYMD,"_")):null},selectedDate:function(){return parseYMD(this.selectedYMD)},activeDate:function(){return parseYMD(this.activeYMD)},computedMin:function(){return parseYMD(this.min)},computedMax:function(){return parseYMD(this.max)},computedWeekStarts:function(){return mathMax(toInteger(this.startWeekday,0),0)%7},computedLocale:function(){return function(locales){var calendar=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"gregory";return locales=concat(locales).filter(identity),new Intl.DateTimeFormat(locales,{calendar:calendar}).resolvedOptions().locale}(concat(this.locale).filter(identity),"gregory")},computedDateDisabledFn:function(){var dateDisabledFn=this.dateDisabledFn;return hasPropFunction(dateDisabledFn)?dateDisabledFn:function(){return!1}},computedDateInfoFn:function(){var dateInfoFn=this.dateInfoFn;return hasPropFunction(dateInfoFn)?dateInfoFn:function(){return{}}},calendarLocale:function(){var fmt=new Intl.DateTimeFormat(this.computedLocale,{calendar:"gregory"}),calendar=fmt.resolvedOptions().calendar,locale=fmt.resolvedOptions().locale;return"gregory"!==calendar&&(locale=locale.replace(/-u-.+$/i,"").concat("-u-ca-gregory")),locale},calendarYear:function(){return this.activeDate.getFullYear()},calendarMonth:function(){return this.activeDate.getMonth()},calendarFirstDay:function(){return createDate(this.calendarYear,this.calendarMonth,1,12)},calendarDaysInMonth:function(){var date=createDate(this.calendarFirstDay);return date.setMonth(date.getMonth()+1,0),date.getDate()},computedVariant:function(){return"btn-".concat(this.selectedVariant||"primary")},computedTodayVariant:function(){return"btn-outline-".concat(this.todayVariant||this.selectedVariant||"primary")},computedNavButtonVariant:function(){return"btn-outline-".concat(this.navButtonVariant||"primary")},isRTL:function(){var dir=toString(this.direction).toLowerCase();return"rtl"===dir||"ltr"!==dir&&isLocaleRTL(this.computedLocale)},context:function(){var selectedYMD=this.selectedYMD,activeYMD=this.activeYMD,selectedDate=parseYMD(selectedYMD),activeDate=parseYMD(activeYMD);return{selectedYMD:selectedYMD,selectedDate:selectedDate,selectedFormatted:selectedDate?this.formatDateString(selectedDate):this.labelNoDateSelected,activeYMD:activeYMD,activeDate:activeDate,activeFormatted:activeDate?this.formatDateString(activeDate):"",disabled:this.dateDisabled(activeDate),locale:this.computedLocale,calendarLocale:this.calendarLocale,rtl:this.isRTL}},dateOutOfRange:function(){var min=this.computedMin,max=this.computedMax;return function(date){return date=parseYMD(date),min&&datemax}},dateDisabled:function(){var _this=this,rangeFn=this.dateOutOfRange;return function(date){date=parseYMD(date);var ymd=formatYMD(date);return!(!rangeFn(date)&&!_this.computedDateDisabledFn(ymd,date))}},formatDateString:function(){return createDateFormatter(this.calendarLocale,_objectSpread2$3(_objectSpread2$3({year:"numeric",month:"2-digit",day:"2-digit"},this.dateFormatOptions),{},{hour:void 0,minute:void 0,second:void 0,calendar:"gregory"}))},formatYearMonth:function(){return createDateFormatter(this.calendarLocale,{year:"numeric",month:"long",calendar:"gregory"})},formatWeekdayName:function(){return createDateFormatter(this.calendarLocale,{weekday:"long",calendar:"gregory"})},formatWeekdayNameShort:function(){return createDateFormatter(this.calendarLocale,{weekday:this.weekdayHeaderFormat||"short",calendar:"gregory"})},formatDay:function(){var nf=new Intl.NumberFormat([this.computedLocale],{style:"decimal",minimumIntegerDigits:1,minimumFractionDigits:0,maximumFractionDigits:0,notation:"standard"});return function(date){return nf.format(date.getDate())}},prevDecadeDisabled:function(){var min=this.computedMin;return this.disabled||min&&lastDateOfMonth(oneDecadeAgo(this.activeDate))max},nextYearDisabled:function(){var max=this.computedMax;return this.disabled||max&&firstDateOfMonth(oneYearAhead(this.activeDate))>max},nextDecadeDisabled:function(){var max=this.computedMax;return this.disabled||max&&firstDateOfMonth(oneDecadeAhead(this.activeDate))>max},calendar:function(){for(var matrix=[],firstDay=this.calendarFirstDay,calendarYear=firstDay.getFullYear(),calendarMonth=firstDay.getMonth(),daysInMonth=this.calendarDaysInMonth,startIndex=firstDay.getDay(),currentDay=0-((this.computedWeekStarts>startIndex?7:0)-this.computedWeekStarts)-startIndex,week=0;week<6&¤tDay',props$1Z=makePropsConfigurable({alt:makeProp(PROP_TYPE_STRING),blank:makeProp(PROP_TYPE_BOOLEAN,!1),blankColor:makeProp(PROP_TYPE_STRING,"transparent"),block:makeProp(PROP_TYPE_BOOLEAN,!1),center:makeProp(PROP_TYPE_BOOLEAN,!1),fluid:makeProp(PROP_TYPE_BOOLEAN,!1),fluidGrow:makeProp(PROP_TYPE_BOOLEAN,!1),height:makeProp(PROP_TYPE_NUMBER_STRING),left:makeProp(PROP_TYPE_BOOLEAN,!1),right:makeProp(PROP_TYPE_BOOLEAN,!1),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),sizes:makeProp(PROP_TYPE_ARRAY_STRING),src:makeProp(PROP_TYPE_STRING),srcset:makeProp(PROP_TYPE_ARRAY_STRING),thumbnail:makeProp(PROP_TYPE_BOOLEAN,!1),width:makeProp(PROP_TYPE_NUMBER_STRING)},"BImg"),BImg=extend({name:"BImg",functional:!0,props:props$1Z,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,alt=props.alt,src=props.src,block=props.block,fluidGrow=props.fluidGrow,rounded=props.rounded,width=toInteger(props.width)||null,height=toInteger(props.height)||null,align=null,srcset=concat(props.srcset).filter(identity).join(","),sizes=concat(props.sizes).filter(identity).join(",");return props.blank&&(!height&&width?height=width:!width&&height&&(width=height),width||height||(width=1,height=1),src=function(width,height,color){var src=encodeURIComponent(BLANK_TEMPLATE.replace("%{w}",toString(width)).replace("%{h}",toString(height)).replace("%{f}",color));return"data:image/svg+xml;charset=UTF-8,".concat(src)}(width,height,props.blankColor||"transparent"),srcset=null,sizes=null),props.left?align="float-left":props.right?align="float-right":props.center&&(align="mx-auto",block=!0),h("img",a(data,{attrs:{src:src,alt:alt,width:width?toString(width):null,height:height?toString(height):null,srcset:srcset||null,sizes:sizes||null},class:(_class={"img-thumbnail":props.thumbnail,"img-fluid":props.fluid||fluidGrow,"w-100":fluidGrow,rounded:""===rounded||!0===rounded},_defineProperty(_class,"rounded-".concat(rounded),isString(rounded)&&""!==rounded),_defineProperty(_class,align,align),_defineProperty(_class,"d-block",block),_class)}))}}),props$1Y=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},pick$1(props$1Z,["src","alt","width","height","left","right"])),{},{bottom:makeProp(PROP_TYPE_BOOLEAN,!1),end:makeProp(PROP_TYPE_BOOLEAN,!1),start:makeProp(PROP_TYPE_BOOLEAN,!1),top:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCardImg"),BCardImg=extend({name:"BCardImg",functional:!0,props:props$1Y,render:function(h,_ref){var props=_ref.props,data=_ref.data,src=props.src,alt=props.alt,width=props.width,height=props.height,baseClass="card-img";return props.top?baseClass+="-top":props.right||props.end?baseClass+="-right":props.bottom?baseClass+="-bottom":(props.left||props.start)&&(baseClass+="-left"),h("img",a(data,{class:baseClass,attrs:{src:src,alt:alt,width:width,height:height}}))}}),cardImgProps=copyProps(props$1Y,prefixPropName.bind(null,"img"));cardImgProps.imgSrc.required=!1;var _watch$i,_watch$h,_watch$g,props$1X=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$20),props$1$),props$1_),cardImgProps),props$23),{},{align:makeProp(PROP_TYPE_STRING),noBody:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCard"),BCard=extend({name:"BCard",functional:!0,props:props$1X,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,imgSrc=props.imgSrc,imgLeft=props.imgLeft,imgRight=props.imgRight,imgStart=props.imgStart,imgEnd=props.imgEnd,imgBottom=props.imgBottom,header=props.header,headerHtml=props.headerHtml,footer=props.footer,footerHtml=props.footerHtml,align=props.align,textVariant=props.textVariant,bgVariant=props.bgVariant,borderVariant=props.borderVariant,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$imgFirst=h(),$imgLast=h();if(imgSrc){var $img=h(BCardImg,{props:pluckProps(cardImgProps,props,unprefixPropName.bind(null,"img"))});imgBottom?$imgLast=$img:$imgFirst=$img}var $header=h(),hasHeaderSlot=hasNormalizedSlot("header",$scopedSlots,$slots);(hasHeaderSlot||header||headerHtml)&&($header=h(BCardHeader,{props:pluckProps(props$1$,props),domProps:hasHeaderSlot?{}:htmlOrText(headerHtml,header)},normalizeSlot("header",slotScope,$scopedSlots,$slots)));var $content=normalizeSlot("default",slotScope,$scopedSlots,$slots);props.noBody||($content=h(BCardBody,{props:pluckProps(props$20,props)},$content),props.overlay&&imgSrc&&($content=h("div",{staticClass:"position-relative"},[$imgFirst,$content,$imgLast]),$imgFirst=h(),$imgLast=h()));var $footer=h();return(hasNormalizedSlot("footer",$scopedSlots,$slots)||footer||footerHtml)&&($footer=h(BCardFooter,{props:pluckProps(props$1_,props),domProps:hasHeaderSlot?{}:htmlOrText(footerHtml,footer)},normalizeSlot("footer",slotScope,$scopedSlots,$slots))),h(props.tag,a(data,{staticClass:"card",class:(_class={"flex-row":imgLeft||imgStart,"flex-row-reverse":(imgRight||imgEnd)&&!(imgLeft||imgStart)},_defineProperty(_class,"text-".concat(align),align),_defineProperty(_class,"bg-".concat(bgVariant),bgVariant),_defineProperty(_class,"border-".concat(borderVariant),borderVariant),_defineProperty(_class,"text-".concat(textVariant),textVariant),_class)}),[$imgFirst,$header,$content,$footer,$imgLast])}}),OBSERVER_PROP_NAME="__bv__visibility_observer",VisibilityObserver=function(){function VisibilityObserver(el,options){_classCallCheck(this,VisibilityObserver),this.el=el,this.callback=options.callback,this.margin=options.margin||0,this.once=options.once||!1,this.observer=null,this.visible=void 0,this.doneOnce=!1,this.createObserver()}return _createClass(VisibilityObserver,[{key:"createObserver",value:function(){var _this=this;if(this.observer&&this.stop(),!this.doneOnce&&isFunction$1(this.callback)){try{this.observer=new IntersectionObserver(this.handler.bind(this),{root:null,rootMargin:this.margin,threshold:0})}catch(_unused){return this.doneOnce=!0,this.observer=void 0,void this.callback(null)}nextTick((function(){requestAF((function(){_this.observer&&_this.observer.observe(_this.el)}))}))}}},{key:"handler",value:function(entries){var entry=entries?entries[0]:{},isIntersecting=Boolean(entry.isIntersecting||entry.intersectionRatio>0);isIntersecting!==this.visible&&(this.visible=isIntersecting,this.callback(isIntersecting),this.once&&this.visible&&(this.doneOnce=!0,this.stop()))}},{key:"stop",value:function(){this.observer&&this.observer.disconnect(),this.observer=null}}]),VisibilityObserver}(),destroy$1=function(el){var observer=el[OBSERVER_PROP_NAME];observer&&observer.stop&&observer.stop(),delete el[OBSERVER_PROP_NAME]},bind$1=function(el,_ref){var value=_ref.value,modifiers=_ref.modifiers,options={margin:"0px",once:!1,callback:value};keys(modifiers).forEach((function(mod){RX_DIGITS.test(mod)?options.margin="".concat(mod,"px"):"once"===mod.toLowerCase()&&(options.once=!0)})),destroy$1(el),el[OBSERVER_PROP_NAME]=new VisibilityObserver(el,options),el[OBSERVER_PROP_NAME]._prevModifiers=clone(modifiers)},VBVisible={bind:bind$1,componentUpdated:function(el,_ref2,vnode){var value=_ref2.value,oldValue=_ref2.oldValue,modifiers=_ref2.modifiers;modifiers=clone(modifiers),!el||value===oldValue&&el[OBSERVER_PROP_NAME]&&looseEqual(modifiers,el[OBSERVER_PROP_NAME]._prevModifiers)||bind$1(el,{value:value,modifiers:modifiers})},unbind:function(el){destroy$1(el)}},imgProps$1=omit(props$1Z,["blank"]),props$1W=makePropsConfigurable(_objectSpread2$3(_objectSpread2$3({},imgProps$1),{},_defineProperty({blankHeight:makeProp(PROP_TYPE_NUMBER_STRING),blankSrc:makeProp(PROP_TYPE_STRING,null),blankWidth:makeProp(PROP_TYPE_NUMBER_STRING),offset:makeProp(PROP_TYPE_NUMBER_STRING,360)},"show",makeProp(PROP_TYPE_BOOLEAN,!1))),"BImgLazy"),BImgLazy=extend({name:"BImgLazy",directives:{"b-visible":VBVisible},props:props$1W,data:function(){return{isShown:this.show}},computed:{computedSrc:function(){var blankSrc=this.blankSrc;return!blankSrc||this.isShown?this.src:blankSrc},computedBlank:function(){return!(this.isShown||this.blankSrc)},computedWidth:function(){var width=this.width;return this.isShown?width:this.blankWidth||width},computedHeight:function(){var height=this.height;return this.isShown?height:this.blankHeight||height},computedSrcset:function(){var srcset=concat(this.srcset).filter(identity).join(",");return!srcset||this.blankSrc&&!this.isShown?null:srcset},computedSizes:function(){var sizes=concat(this.sizes).filter(identity).join(",");return!sizes||this.blankSrc&&!this.isShown?null:sizes}},watch:(_watch$i={},_defineProperty(_watch$i,"show",(function(newValue,oldValue){if(newValue!==oldValue){var visible=!HAS_INTERACTION_OBSERVER_SUPPORT||newValue;this.isShown=visible,newValue!==visible&&this.$nextTick(this.updateShowProp)}})),_defineProperty(_watch$i,"isShown",(function(newValue,oldValue){newValue!==oldValue&&this.updateShowProp()})),_watch$i),mounted:function(){var _this=this;this.$nextTick((function(){_this.isShown=!HAS_INTERACTION_OBSERVER_SUPPORT||_this.show}))},methods:{updateShowProp:function(){this.$emit("update:show",this.isShown)},doShow:function(visible){var _this2=this;!visible&&null!==visible||this.isShown||requestAF((function(){_this2.isShown=!0}))}},render:function(h){var _modifiers,directives=[];this.isShown||directives.push({name:"b-visible",value:this.doShow,modifiers:(_modifiers={},_defineProperty(_modifiers,"".concat(toInteger(this.offset,0)),!0),_defineProperty(_modifiers,"once",!0),_modifiers)});return h(BImg,{directives:directives,props:_objectSpread2$3(_objectSpread2$3({},pluckProps(imgProps$1,this.$props)),{},{src:this.computedSrc,blank:this.computedBlank,width:this.computedWidth,height:this.computedHeight,srcset:this.computedSrcset,sizes:this.computedSizes})})}}),props$1V=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},omit(props$1W,keys(props$1Z))),omit(props$1Y,["src","alt","width","height"]))),"BCardImgLazy"),BCardImgLazy=extend({name:"BCardImgLazy",functional:!0,props:props$1V,render:function(h,_ref){var props=_ref.props,data=_ref.data,baseClass="card-img";return props.top?baseClass+="-top":props.right||props.end?baseClass+="-right":props.bottom?baseClass+="-bottom":(props.left||props.start)&&(baseClass+="-left"),h(BImgLazy,a(data,{class:[baseClass],props:omit(props,["left","right"])}))}}),props$1U=makePropsConfigurable({textTag:makeProp(PROP_TYPE_STRING,"p")},"BCardText"),BCardText=extend({name:"BCardText",functional:!0,props:props$1U,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.textTag,a(data,{staticClass:"card-text"}),children)}}),props$1T=makePropsConfigurable({columns:makeProp(PROP_TYPE_BOOLEAN,!1),deck:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BCardGroup"),BCardGroup=extend({name:"BCardGroup",functional:!0,props:props$1T,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:props.deck?"card-deck":props.columns?"card-columns":"card-group"}),children)}}),CardPlugin=pluginFactory({components:{BCard:BCard,BCardHeader:BCardHeader,BCardBody:BCardBody,BCardTitle:BCardTitle,BCardSubTitle:BCardSubTitle,BCardFooter:BCardFooter,BCardImg:BCardImg,BCardImgLazy:BCardImgLazy,BCardText:BCardText,BCardGroup:BCardGroup}}),noop=function(){},observeDom=function(el,callback,options){if(el=el?el.$el||el:null,!isElement(el))return null;if(source="observeDom",!HAS_MUTATION_OBSERVER_SUPPORT&&(warn("".concat(source,": Requires MutationObserver support.")),1))return null;var source,obs=new MutationObs((function(mutations){for(var changed=!1,i=0;i0||mutation.removedNodes.length>0))&&(changed=!0)}changed&&callback()}));return obs.observe(el,_objectSpread2$3({childList:!0,subtree:!0},options)),obs},_makeModelMixin$i=makeModelMixin("value",{type:PROP_TYPE_NUMBER,defaultValue:0}),modelMixin$h=_makeModelMixin$i.mixin,modelProps$h=_makeModelMixin$i.props,MODEL_PROP_NAME$h=_makeModelMixin$i.prop,MODEL_EVENT_NAME$h=_makeModelMixin$i.event,DIRECTION={next:{dirClass:"carousel-item-left",overlayClass:"carousel-item-next"},prev:{dirClass:"carousel-item-right",overlayClass:"carousel-item-prev"}},PointerType={TOUCH:"touch",PEN:"pen"},TransitionEndEvents$1={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend oTransitionEnd",transition:"transitionend"},props$1S=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$h),{},{background:makeProp(PROP_TYPE_STRING),controls:makeProp(PROP_TYPE_BOOLEAN,!1),fade:makeProp(PROP_TYPE_BOOLEAN,!1),imgHeight:makeProp(PROP_TYPE_NUMBER_STRING),imgWidth:makeProp(PROP_TYPE_NUMBER_STRING),indicators:makeProp(PROP_TYPE_BOOLEAN,!1),interval:makeProp(PROP_TYPE_NUMBER,5e3),labelGotoSlide:makeProp(PROP_TYPE_STRING,"Goto slide"),labelIndicators:makeProp(PROP_TYPE_STRING,"Select a slide to display"),labelNext:makeProp(PROP_TYPE_STRING,"Next slide"),labelPrev:makeProp(PROP_TYPE_STRING,"Previous slide"),noAnimation:makeProp(PROP_TYPE_BOOLEAN,!1),noHoverPause:makeProp(PROP_TYPE_BOOLEAN,!1),noTouch:makeProp(PROP_TYPE_BOOLEAN,!1),noWrap:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCarousel"),BCarousel=extend({name:"BCarousel",mixins:[idMixin,modelMixin$h,normalizeSlotMixin],provide:function(){var _this=this;return{getBvCarousel:function(){return _this}}},props:props$1S,data:function(){return{index:this[MODEL_PROP_NAME$h]||0,isSliding:!1,transitionEndEvent:null,slides:[],direction:null,isPaused:!(toInteger(this.interval,0)>0),touchStartX:0,touchDeltaX:0}},computed:{numSlides:function(){return this.slides.length}},watch:(_watch$h={},_defineProperty(_watch$h,MODEL_PROP_NAME$h,(function(newValue,oldValue){newValue!==oldValue&&this.setSlide(toInteger(newValue,0))})),_defineProperty(_watch$h,"interval",(function(newValue,oldValue){newValue!==oldValue&&(newValue?(this.pause(!0),this.start(!1)):this.pause(!1))})),_defineProperty(_watch$h,"isPaused",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(newValue?"paused":"unpaused")})),_defineProperty(_watch$h,"index",(function(to,from){to===from||this.isSliding||this.doSlide(to,from)})),_watch$h),created:function(){this.$_interval=null,this.$_animationTimeout=null,this.$_touchTimeout=null,this.$_observer=null,this.isPaused=!(toInteger(this.interval,0)>0)},mounted:function(){this.transitionEndEvent=function(el){for(var name in TransitionEndEvents$1)if(!isUndefined(el.style[name]))return TransitionEndEvents$1[name];return null}(this.$el)||null,this.updateSlides(),this.setObserver(!0)},beforeDestroy:function(){this.clearInterval(),this.clearAnimationTimeout(),this.clearTouchTimeout(),this.setObserver(!1)},methods:{clearInterval:function(_clearInterval){function clearInterval(){return _clearInterval.apply(this,arguments)}return clearInterval.toString=function(){return _clearInterval.toString()},clearInterval}((function(){clearInterval(this.$_interval),this.$_interval=null})),clearAnimationTimeout:function(){clearTimeout(this.$_animationTimeout),this.$_animationTimeout=null},clearTouchTimeout:function(){clearTimeout(this.$_touchTimeout),this.$_touchTimeout=null},setObserver:function(){var on=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on&&(this.$_observer=observeDom(this.$refs.inner,this.updateSlides.bind(this),{subtree:!1,childList:!0,attributes:!0,attributeFilter:["id"]}))},setSlide:function(slide){var _this2=this,direction=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(IS_BROWSER&&document.visibilityState&&document.hidden)){var noWrap=this.noWrap,numSlides=this.numSlides;slide=mathFloor(slide),0!==numSlides&&(this.isSliding?this.$once("sliding-end",(function(){requestAF((function(){return _this2.setSlide(slide,direction)}))})):(this.direction=direction,this.index=slide>=numSlides?noWrap?numSlides-1:0:slide<0?noWrap?0:numSlides-1:slide,noWrap&&this.index!==slide&&this.index!==this[MODEL_PROP_NAME$h]&&this.$emit(MODEL_EVENT_NAME$h,this.index)))}},prev:function(){this.setSlide(this.index-1,"prev")},next:function(){this.setSlide(this.index+1,"next")},pause:function(event){event||(this.isPaused=!0),this.clearInterval()},start:function(event){event||(this.isPaused=!1),this.clearInterval(),this.interval&&this.numSlides>1&&(this.$_interval=setInterval(this.next,mathMax(1e3,this.interval)))},restart:function(){this.$el.contains(getActiveElement())||this.start()},doSlide:function(to,from){var _this3=this,isCycling=Boolean(this.interval),direction=this.calcDirection(this.direction,from,to),overlayClass=direction.overlayClass,dirClass=direction.dirClass,currentSlide=this.slides[from],nextSlide=this.slides[to];if(currentSlide&&nextSlide){if(this.isSliding=!0,isCycling&&this.pause(!1),this.$emit("sliding-start",to),this.$emit(MODEL_EVENT_NAME$h,this.index),this.noAnimation)addClass(nextSlide,"active"),removeClass(currentSlide,"active"),this.isSliding=!1,this.$nextTick((function(){return _this3.$emit("sliding-end",to)}));else{addClass(nextSlide,overlayClass),reflow(nextSlide),addClass(currentSlide,dirClass),addClass(nextSlide,dirClass);var called=!1,onceTransEnd=function onceTransEnd(){if(!called){if(called=!0,_this3.transitionEndEvent)_this3.transitionEndEvent.split(/\s+/).forEach((function(event){return eventOff(nextSlide,event,onceTransEnd,EVENT_OPTIONS_NO_CAPTURE)}));_this3.clearAnimationTimeout(),removeClass(nextSlide,dirClass),removeClass(nextSlide,overlayClass),addClass(nextSlide,"active"),removeClass(currentSlide,"active"),removeClass(currentSlide,dirClass),removeClass(currentSlide,overlayClass),setAttr(currentSlide,"aria-current","false"),setAttr(nextSlide,"aria-current","true"),setAttr(currentSlide,"aria-hidden","true"),setAttr(nextSlide,"aria-hidden","false"),_this3.isSliding=!1,_this3.direction=null,_this3.$nextTick((function(){return _this3.$emit("sliding-end",to)}))}};if(this.transitionEndEvent)this.transitionEndEvent.split(/\s+/).forEach((function(event){return eventOn(nextSlide,event,onceTransEnd,EVENT_OPTIONS_NO_CAPTURE)}));this.$_animationTimeout=setTimeout(onceTransEnd,650)}isCycling&&this.start(!1)}},updateSlides:function(){this.pause(!0),this.slides=selectAll(".carousel-item",this.$refs.inner);var numSlides=this.slides.length,index=mathMax(0,mathMin(mathFloor(this.index),numSlides-1));this.slides.forEach((function(slide,idx){var n=idx+1;idx===index?(addClass(slide,"active"),setAttr(slide,"aria-current","true")):(removeClass(slide,"active"),setAttr(slide,"aria-current","false")),setAttr(slide,"aria-posinset",String(n)),setAttr(slide,"aria-setsize",String(numSlides))})),this.setSlide(index),this.start(this.isPaused)},calcDirection:function(){var direction=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return direction?DIRECTION[direction]:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)>(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)?DIRECTION.next:DIRECTION.prev},handleClick:function(event,fn){var keyCode=event.keyCode;"click"!==event.type&&keyCode!==CODE_SPACE&&keyCode!==CODE_ENTER||(stopEvent(event),fn())},handleSwipe:function(){var absDeltaX=mathAbs(this.touchDeltaX);if(!(absDeltaX<=40)){var direction=absDeltaX/this.touchDeltaX;this.touchDeltaX=0,direction>0?this.prev():direction<0&&this.next()}},touchStart:function(event){HAS_POINTER_EVENT_SUPPORT&&PointerType[event.pointerType.toUpperCase()]?this.touchStartX=event.clientX:HAS_POINTER_EVENT_SUPPORT||(this.touchStartX=event.touches[0].clientX)},touchMove:function(event){event.touches&&event.touches.length>1?this.touchDeltaX=0:this.touchDeltaX=event.touches[0].clientX-this.touchStartX},touchEnd:function(event){HAS_POINTER_EVENT_SUPPORT&&PointerType[event.pointerType.toUpperCase()]&&(this.touchDeltaX=event.clientX-this.touchStartX),this.handleSwipe(),this.pause(!1),this.clearTouchTimeout(),this.$_touchTimeout=setTimeout(this.start,500+mathMax(1e3,this.interval))}},render:function(h){var _this4=this,indicators=this.indicators,background=this.background,noAnimation=this.noAnimation,noHoverPause=this.noHoverPause,noTouch=this.noTouch,index=this.index,isSliding=this.isSliding,pause=this.pause,restart=this.restart,touchStart=this.touchStart,touchEnd=this.touchEnd,idInner=this.safeId("__BV_inner_"),$inner=h("div",{staticClass:"carousel-inner",attrs:{id:idInner,role:"list"},ref:"inner"},[this.normalizeSlot()]),$controls=h();if(this.controls){var makeControl=function(direction,label,handler){var handlerWrapper=function(event){isSliding?stopEvent(event,{propagation:!1}):_this4.handleClick(event,handler)};return h("a",{staticClass:"carousel-control-".concat(direction),attrs:{href:"#",role:"button","aria-controls":idInner,"aria-disabled":isSliding?"true":null},on:{click:handlerWrapper,keydown:handlerWrapper}},[h("span",{staticClass:"carousel-control-".concat(direction,"-icon"),attrs:{"aria-hidden":"true"}}),h("span",{class:"sr-only"},[label])])};$controls=[makeControl("prev",this.labelPrev,this.prev),makeControl("next",this.labelNext,this.next)]}var $indicators=h("ol",{staticClass:"carousel-indicators",directives:[{name:"show",value:indicators}],attrs:{id:this.safeId("__BV_indicators_"),"aria-hidden":indicators?"false":"true","aria-label":this.labelIndicators,"aria-owns":idInner}},this.slides.map((function(slide,i){var handler=function(event){_this4.handleClick(event,(function(){_this4.setSlide(i)}))};return h("li",{class:{active:i===index},attrs:{role:"button",id:_this4.safeId("__BV_indicator_".concat(i+1,"_")),tabindex:indicators?"0":"-1","aria-current":i===index?"true":"false","aria-label":"".concat(_this4.labelGotoSlide," ").concat(i+1),"aria-describedby":slide.id||null,"aria-controls":idInner},on:{click:handler,keydown:handler},key:"slide_".concat(i)})}))),on={mouseenter:noHoverPause?noop:pause,mouseleave:noHoverPause?noop:restart,focusin:pause,focusout:restart,keydown:function(event){if(!/input|textarea/i.test(event.target.tagName)){var keyCode=event.keyCode;keyCode!==CODE_LEFT&&keyCode!==CODE_RIGHT||(stopEvent(event),_this4[keyCode===CODE_LEFT?"prev":"next"]())}}};return HAS_TOUCH_SUPPORT&&!noTouch&&(HAS_POINTER_EVENT_SUPPORT?(on["&pointerdown"]=touchStart,on["&pointerup"]=touchEnd):(on["&touchstart"]=touchStart,on["&touchmove"]=this.touchMove,on["&touchend"]=touchEnd)),h("div",{staticClass:"carousel",class:{slide:!noAnimation,"carousel-fade":!noAnimation&&this.fade,"pointer-event":HAS_TOUCH_SUPPORT&&HAS_POINTER_EVENT_SUPPORT&&!noTouch},style:{background:background},attrs:{role:"region",id:this.safeId(),"aria-busy":isSliding?"true":"false"},on:on},[$inner,$controls,$indicators])}}),imgProps={imgAlt:makeProp(PROP_TYPE_STRING),imgBlank:makeProp(PROP_TYPE_BOOLEAN,!1),imgBlankColor:makeProp(PROP_TYPE_STRING,"transparent"),imgHeight:makeProp(PROP_TYPE_NUMBER_STRING),imgSrc:makeProp(PROP_TYPE_STRING),imgWidth:makeProp(PROP_TYPE_NUMBER_STRING)},props$1R=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),imgProps),{},{background:makeProp(PROP_TYPE_STRING),caption:makeProp(PROP_TYPE_STRING),captionHtml:makeProp(PROP_TYPE_STRING),captionTag:makeProp(PROP_TYPE_STRING,"h3"),contentTag:makeProp(PROP_TYPE_STRING,"div"),contentVisibleUp:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING),textHtml:makeProp(PROP_TYPE_STRING),textTag:makeProp(PROP_TYPE_STRING,"p")})),"BCarouselSlide"),BCarouselSlide=extend({name:"BCarouselSlide",mixins:[idMixin,normalizeSlotMixin],inject:{getBvCarousel:{default:function(){return function(){return{noTouch:!0}}}}},props:props$1R,computed:{bvCarousel:function(){return this.getBvCarousel()},contentClasses:function(){return[this.contentVisibleUp?"d-none":"",this.contentVisibleUp?"d-".concat(this.contentVisibleUp,"-block"):""]},computedWidth:function(){return this.imgWidth||this.bvCarousel.imgWidth||null},computedHeight:function(){return this.imgHeight||this.bvCarousel.imgHeight||null}},render:function(h){var $img=this.normalizeSlot("img");if(!$img&&(this.imgSrc||this.imgBlank)){var on={};!this.bvCarousel.noTouch&&HAS_TOUCH_SUPPORT&&(on.dragstart=function(event){return stopEvent(event,{propagation:!1})}),$img=h(BImg,{props:_objectSpread2$3(_objectSpread2$3({},pluckProps(imgProps,this.$props,unprefixPropName.bind(null,"img"))),{},{width:this.computedWidth,height:this.computedHeight,fluidGrow:!0,block:!0}),on:on})}var $contentChildren=[!(!this.caption&&!this.captionHtml)&&h(this.captionTag,{domProps:htmlOrText(this.captionHtml,this.caption)}),!(!this.text&&!this.textHtml)&&h(this.textTag,{domProps:htmlOrText(this.textHtml,this.text)}),this.normalizeSlot()||!1],$content=h();return $contentChildren.some(identity)&&($content=h(this.contentTag,{staticClass:"carousel-caption",class:this.contentClasses},$contentChildren.map((function($child){return $child||h()})))),h("div",{staticClass:"carousel-item",style:{background:this.background||this.bvCarousel.background||null},attrs:{id:this.safeId(),role:"listitem"}},[$img,$content])}}),CarouselPlugin=pluginFactory({components:{BCarousel:BCarousel,BCarouselSlide:BCarouselSlide}}),TRANSITION_PROPS={css:!0,enterClass:"",enterActiveClass:"collapsing",enterToClass:"collapse show",leaveClass:"collapse show",leaveActiveClass:"collapsing",leaveToClass:"collapse"},TRANSITION_HANDLERS={enter:function(el){setStyle(el,"height",0),requestAF((function(){reflow(el),setStyle(el,"height","".concat(el.scrollHeight,"px"))}))},afterEnter:function(el){removeStyle(el,"height")},leave:function(el){setStyle(el,"height","auto"),setStyle(el,"display","block"),setStyle(el,"height","".concat(getBCR(el).height,"px")),reflow(el),setStyle(el,"height",0)},afterLeave:function(el){removeStyle(el,"height")}},props$1Q={appear:makeProp(PROP_TYPE_BOOLEAN,!1)},BVCollapse=extend({name:"BVCollapse",functional:!0,props:props$1Q,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h("transition",a(data,{props:TRANSITION_PROPS,on:TRANSITION_HANDLERS},{props:props}),children)}}),ROOT_ACTION_EVENT_NAME_TOGGLE$2=getRootActionEventName("BCollapse","toggle"),ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2=getRootActionEventName("BCollapse","request-state"),ROOT_EVENT_NAME_ACCORDION=getRootEventName("BCollapse","accordion"),ROOT_EVENT_NAME_STATE$3=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$3=getRootEventName("BCollapse","sync-state"),_makeModelMixin$h=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1}),modelMixin$g=_makeModelMixin$h.mixin,modelProps$g=_makeModelMixin$h.props,MODEL_PROP_NAME$g=_makeModelMixin$h.prop,MODEL_EVENT_NAME$g=_makeModelMixin$h.event,props$1P=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$g),{},{accordion:makeProp(PROP_TYPE_STRING),appear:makeProp(PROP_TYPE_BOOLEAN,!1),isNav:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BCollapse"),BCollapse=extend({name:"BCollapse",mixins:[idMixin,modelMixin$g,normalizeSlotMixin,listenOnRootMixin],props:props$1P,data:function(){return{show:this[MODEL_PROP_NAME$g],transitioning:!1}},computed:{classObject:function(){var transitioning=this.transitioning;return{"navbar-collapse":this.isNav,collapse:!transitioning,show:this.show&&!transitioning}},slotScope:function(){var _this=this;return{visible:this.show,close:function(){_this.show=!1}}}},watch:(_watch$g={},_defineProperty(_watch$g,MODEL_PROP_NAME$g,(function(newValue){newValue!==this.show&&(this.show=newValue)})),_defineProperty(_watch$g,"show",(function(newValue,oldValue){newValue!==oldValue&&this.emitState()})),_watch$g),created:function(){this.show=this[MODEL_PROP_NAME$g]},mounted:function(){var _this2=this;this.show=this[MODEL_PROP_NAME$g],this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE$2,this.handleToggleEvent),this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION,this.handleAccordionEvent),this.isNav&&(this.setWindowEvents(!0),this.handleResize()),this.$nextTick((function(){_this2.emitState()})),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2,(function(id){id===_this2.safeId()&&_this2.$nextTick(_this2.emitSync)}))},updated:function(){this.emitSync()},deactivated:function(){this.isNav&&this.setWindowEvents(!1)},activated:function(){this.isNav&&this.setWindowEvents(!0),this.emitSync()},beforeDestroy:function(){this.show=!1,this.isNav&&IS_BROWSER&&this.setWindowEvents(!1)},methods:{setWindowEvents:function(on){eventOnOff(on,window,"resize",this.handleResize,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,window,"orientationchange",this.handleResize,EVENT_OPTIONS_NO_CAPTURE)},toggle:function(){this.show=!this.show},onEnter:function(){this.transitioning=!0,this.$emit("show")},onAfterEnter:function(){this.transitioning=!1,this.$emit("shown")},onLeave:function(){this.transitioning=!0,this.$emit("hide")},onAfterLeave:function(){this.transitioning=!1,this.$emit("hidden")},emitState:function(){var show=this.show,accordion=this.accordion,id=this.safeId();this.$emit(MODEL_EVENT_NAME$g,show),this.emitOnRoot(ROOT_EVENT_NAME_STATE$3,id,show),accordion&&show&&this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION,id,accordion)},emitSync:function(){this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE$3,this.safeId(),this.show)},checkDisplayBlock:function(){var $el=this.$el,restore=hasClass($el,"show");removeClass($el,"show");var isBlock="block"===getCS($el).display;return restore&&addClass($el,"show"),isBlock},clickHandler:function(event){var el=event.target;this.isNav&&el&&"block"===getCS(this.$el).display&&(!matches(el,".nav-link,.dropdown-item")&&!closest(".nav-link,.dropdown-item",el)||this.checkDisplayBlock()||(this.show=!1))},handleToggleEvent:function(id){id===this.safeId()&&this.toggle()},handleAccordionEvent:function(openedId,openAccordion){var accordion=this.accordion,show=this.show;if(accordion&&accordion===openAccordion){var isThis=openedId===this.safeId();(isThis&&!show||!isThis&&show)&&this.toggle()}},handleResize:function(){this.show="block"===getCS(this.$el).display}},render:function(h){var appear=this.appear,$content=h(this.tag,{class:this.classObject,directives:[{name:"show",value:this.show}],attrs:{id:this.safeId()},on:{click:this.clickHandler}},this.normalizeSlot("default",this.slotScope));return h(BVCollapse,{props:{appear:appear},on:{enter:this.onEnter,afterEnter:this.onAfterEnter,leave:this.onLeave,afterLeave:this.onAfterLeave}},[$content])}}),getInstanceFromDirective=function(vnode,bindings){return isVue3?bindings.instance:vnode.context},BV_BASE="__BV_toggle",BV_TOGGLE_ROOT_HANDLER="".concat(BV_BASE,"_HANDLER__"),BV_TOGGLE_CLICK_HANDLER="".concat(BV_BASE,"_CLICK__"),BV_TOGGLE_STATE="".concat(BV_BASE,"_STATE__"),BV_TOGGLE_TARGETS="".concat(BV_BASE,"_TARGETS__"),ROOT_ACTION_EVENT_NAME_TOGGLE$1=getRootActionEventName("BCollapse","toggle"),ROOT_EVENT_NAME_STATE$2=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$2=getRootEventName("BCollapse","sync-state"),ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1=getRootActionEventName("BCollapse","request-state"),KEYDOWN_KEY_CODES=[CODE_ENTER,CODE_SPACE],isNonStandardTag=function(el){return!arrayIncludes(["button","a"],el.tagName.toLowerCase())},removeClickListener=function(el){var handler=el[BV_TOGGLE_CLICK_HANDLER];handler&&(eventOff(el,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)),el[BV_TOGGLE_CLICK_HANDLER]=null},removeRootListeners=function(el,instance){el[BV_TOGGLE_ROOT_HANDLER]&&instance&&getEventRoot(instance).$off([ROOT_EVENT_NAME_STATE$2,ROOT_EVENT_NAME_SYNC_STATE$2],el[BV_TOGGLE_ROOT_HANDLER]),el[BV_TOGGLE_ROOT_HANDLER]=null},setToggleState=function(el,state){state?(removeClass(el,"collapsed"),addClass(el,"not-collapsed"),setAttr(el,"aria-expanded","true")):(removeClass(el,"not-collapsed"),addClass(el,"collapsed"),setAttr(el,"aria-expanded","false"))},resetProp=function(el,prop){el[prop]=null,delete el[prop]},handleUpdate=function(el,binding,vnode){if(IS_BROWSER&&getInstanceFromDirective(vnode,binding)){isNonStandardTag(el)&&(hasAttr(el,"role")||setAttr(el,"role","button"),hasAttr(el,"tabindex")||setAttr(el,"tabindex","0")),setToggleState(el,el[BV_TOGGLE_STATE]);var targets=function(_ref,el){var modifiers=_ref.modifiers,arg=_ref.arg,value=_ref.value,targets=keys(modifiers||{});if(value=isString(value)?value.split(RX_SPACE_SPLIT):value,isTag(el.tagName,"a")){var href=getAttr(el,"href")||"";RX_HASH_ID.test(href)&&targets.push(href.replace(RX_HASH,""))}return concat(arg,value).forEach((function(t){return isString(t)&&targets.push(t)})),targets.filter((function(t,index,arr){return t&&arr.indexOf(t)===index}))}(binding,el);targets.length>0?(setAttr(el,"aria-controls",targets.join(" ")),setStyle(el,"overflow-anchor","none")):(removeAttr(el,"aria-controls"),removeStyle(el,"overflow-anchor")),requestAF((function(){!function(el,instance){if(removeClickListener(el),instance){var handler=function(event){"keydown"===event.type&&!arrayIncludes(KEYDOWN_KEY_CODES,event.keyCode)||isDisabled(el)||(el[BV_TOGGLE_TARGETS]||[]).forEach((function(target){getEventRoot(instance).$emit(ROOT_ACTION_EVENT_NAME_TOGGLE$1,target)}))};el[BV_TOGGLE_CLICK_HANDLER]=handler,eventOn(el,"click",handler,EVENT_OPTIONS_PASSIVE),isNonStandardTag(el)&&eventOn(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)}}(el,getInstanceFromDirective(vnode,binding))})),looseEqual(targets,el[BV_TOGGLE_TARGETS])||(el[BV_TOGGLE_TARGETS]=targets,targets.forEach((function(target){getEventRoot(getInstanceFromDirective(vnode,binding)).$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1,target)})))}},VBToggle={bind:function(el,binding,vnode){el[BV_TOGGLE_STATE]=!1,el[BV_TOGGLE_TARGETS]=[],function(el,instance){if(removeRootListeners(el,instance),instance){var handler=function(id,state){arrayIncludes(el[BV_TOGGLE_TARGETS]||[],id)&&(el[BV_TOGGLE_STATE]=state,setToggleState(el,state))};el[BV_TOGGLE_ROOT_HANDLER]=handler,getEventRoot(instance).$on([ROOT_EVENT_NAME_STATE$2,ROOT_EVENT_NAME_SYNC_STATE$2],handler)}}(el,getInstanceFromDirective(vnode,binding)),handleUpdate(el,binding,vnode)},componentUpdated:handleUpdate,updated:handleUpdate,unbind:function(el,binding,vnode){removeClickListener(el),removeRootListeners(el,getInstanceFromDirective(vnode,binding)),resetProp(el,BV_TOGGLE_ROOT_HANDLER),resetProp(el,BV_TOGGLE_CLICK_HANDLER),resetProp(el,BV_TOGGLE_STATE),resetProp(el,BV_TOGGLE_TARGETS),removeClass(el,"collapsed"),removeClass(el,"not-collapsed"),removeAttr(el,"aria-expanded"),removeAttr(el,"aria-controls"),removeAttr(el,"role"),removeStyle(el,"overflow-anchor")}},VBTogglePlugin=pluginFactory({directives:{VBToggle:VBToggle}}),CollapsePlugin=pluginFactory({components:{BCollapse:BCollapse},plugins:{VBTogglePlugin:VBTogglePlugin}}),isBrowser="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,timeoutDuration=function(){for(var longerTimeoutBrowsers=["Edge","Trident","Firefox"],i=0;i=0)return 1;return 0}();var debounce=isBrowser&&window.Promise?function(fn){var called=!1;return function(){called||(called=!0,window.Promise.resolve().then((function(){called=!1,fn()})))}}:function(fn){var scheduled=!1;return function(){scheduled||(scheduled=!0,setTimeout((function(){scheduled=!1,fn()}),timeoutDuration))}};function isFunction(functionToCheck){return functionToCheck&&"[object Function]"==={}.toString.call(functionToCheck)}function getStyleComputedProperty(element,property){if(1!==element.nodeType)return[];var css=element.ownerDocument.defaultView.getComputedStyle(element,null);return property?css[property]:css}function getParentNode(element){return"HTML"===element.nodeName?element:element.parentNode||element.host}function getScrollParent(element){if(!element)return document.body;switch(element.nodeName){case"HTML":case"BODY":return element.ownerDocument.body;case"#document":return element.body}var _getStyleComputedProp=getStyleComputedProperty(element),overflow=_getStyleComputedProp.overflow,overflowX=_getStyleComputedProp.overflowX,overflowY=_getStyleComputedProp.overflowY;return/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)?element:getScrollParent(getParentNode(element))}function getReferenceNode(reference){return reference&&reference.referenceNode?reference.referenceNode:reference}var isIE11=isBrowser&&!(!window.MSInputMethodContext||!document.documentMode),isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);function isIE(version){return 11===version?isIE11:10===version?isIE10:isIE11||isIE10}function getOffsetParent(element){if(!element)return document.documentElement;for(var noOffsetParent=isIE(10)?document.body:null,offsetParent=element.offsetParent||null;offsetParent===noOffsetParent&&element.nextElementSibling;)offsetParent=(element=element.nextElementSibling).offsetParent;var nodeName=offsetParent&&offsetParent.nodeName;return nodeName&&"BODY"!==nodeName&&"HTML"!==nodeName?-1!==["TH","TD","TABLE"].indexOf(offsetParent.nodeName)&&"static"===getStyleComputedProperty(offsetParent,"position")?getOffsetParent(offsetParent):offsetParent:element?element.ownerDocument.documentElement:document.documentElement}function getRoot(node){return null!==node.parentNode?getRoot(node.parentNode):node}function findCommonOffsetParent(element1,element2){if(!(element1&&element1.nodeType&&element2&&element2.nodeType))return document.documentElement;var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING,start=order?element1:element2,end=order?element2:element1,range=document.createRange();range.setStart(start,0),range.setEnd(end,0);var element,nodeName,commonAncestorContainer=range.commonAncestorContainer;if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end))return"BODY"===(nodeName=(element=commonAncestorContainer).nodeName)||"HTML"!==nodeName&&getOffsetParent(element.firstElementChild)!==element?getOffsetParent(commonAncestorContainer):commonAncestorContainer;var element1root=getRoot(element1);return element1root.host?findCommonOffsetParent(element1root.host,element2):findCommonOffsetParent(element1,getRoot(element2).host)}function getScroll(element){var upperSide="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName){var html=element.ownerDocument.documentElement;return(element.ownerDocument.scrollingElement||html)[upperSide]}return element[upperSide]}function getBordersSize(styles,axis){var sideA="x"===axis?"Left":"Top",sideB="Left"===sideA?"Right":"Bottom";return parseFloat(styles["border"+sideA+"Width"])+parseFloat(styles["border"+sideB+"Width"])}function getSize(axis,body,html,computedStyle){return Math.max(body["offset"+axis],body["scroll"+axis],html["client"+axis],html["offset"+axis],html["scroll"+axis],isIE(10)?parseInt(html["offset"+axis])+parseInt(computedStyle["margin"+("Height"===axis?"Top":"Left")])+parseInt(computedStyle["margin"+("Height"===axis?"Bottom":"Right")]):0)}function getWindowSizes(document){var body=document.body,html=document.documentElement,computedStyle=isIE(10)&&getComputedStyle(html);return{height:getSize("Height",body,html,computedStyle),width:getSize("Width",body,html,computedStyle)}}var createClass=function(){function defineProperties(target,props){for(var i=0;i2&&void 0!==arguments[2]&&arguments[2],isIE10=isIE(10),isHTML="HTML"===parent.nodeName,childrenRect=getBoundingClientRect(children),parentRect=getBoundingClientRect(parent),scrollParent=getScrollParent(children),styles=getStyleComputedProperty(parent),borderTopWidth=parseFloat(styles.borderTopWidth),borderLeftWidth=parseFloat(styles.borderLeftWidth);fixedPosition&&isHTML&&(parentRect.top=Math.max(parentRect.top,0),parentRect.left=Math.max(parentRect.left,0));var offsets=getClientRect({top:childrenRect.top-parentRect.top-borderTopWidth,left:childrenRect.left-parentRect.left-borderLeftWidth,width:childrenRect.width,height:childrenRect.height});if(offsets.marginTop=0,offsets.marginLeft=0,!isIE10&&isHTML){var marginTop=parseFloat(styles.marginTop),marginLeft=parseFloat(styles.marginLeft);offsets.top-=borderTopWidth-marginTop,offsets.bottom-=borderTopWidth-marginTop,offsets.left-=borderLeftWidth-marginLeft,offsets.right-=borderLeftWidth-marginLeft,offsets.marginTop=marginTop,offsets.marginLeft=marginLeft}return(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&"BODY"!==scrollParent.nodeName)&&(offsets=function(rect,element){var subtract=arguments.length>2&&void 0!==arguments[2]&&arguments[2],scrollTop=getScroll(element,"top"),scrollLeft=getScroll(element,"left"),modifier=subtract?-1:1;return rect.top+=scrollTop*modifier,rect.bottom+=scrollTop*modifier,rect.left+=scrollLeft*modifier,rect.right+=scrollLeft*modifier,rect}(offsets,parent)),offsets}function isFixed(element){var nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName)return!1;if("fixed"===getStyleComputedProperty(element,"position"))return!0;var parentNode=getParentNode(element);return!!parentNode&&isFixed(parentNode)}function getFixedPositionOffsetParent(element){if(!element||!element.parentElement||isIE())return document.documentElement;for(var el=element.parentElement;el&&"none"===getStyleComputedProperty(el,"transform");)el=el.parentElement;return el||document.documentElement}function getBoundaries(popper,reference,padding,boundariesElement){var fixedPosition=arguments.length>4&&void 0!==arguments[4]&&arguments[4],boundaries={top:0,left:0},offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));if("viewport"===boundariesElement)boundaries=function(element){var excludeScroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],html=element.ownerDocument.documentElement,relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html),width=Math.max(html.clientWidth,window.innerWidth||0),height=Math.max(html.clientHeight,window.innerHeight||0),scrollTop=excludeScroll?0:getScroll(html),scrollLeft=excludeScroll?0:getScroll(html,"left");return getClientRect({top:scrollTop-relativeOffset.top+relativeOffset.marginTop,left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,width:width,height:height})}(offsetParent,fixedPosition);else{var boundariesNode=void 0;"scrollParent"===boundariesElement?"BODY"===(boundariesNode=getScrollParent(getParentNode(reference))).nodeName&&(boundariesNode=popper.ownerDocument.documentElement):boundariesNode="window"===boundariesElement?popper.ownerDocument.documentElement:boundariesElement;var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);if("HTML"!==boundariesNode.nodeName||isFixed(offsetParent))boundaries=offsets;else{var _getWindowSizes=getWindowSizes(popper.ownerDocument),height=_getWindowSizes.height,width=_getWindowSizes.width;boundaries.top+=offsets.top-offsets.marginTop,boundaries.bottom=height+offsets.top,boundaries.left+=offsets.left-offsets.marginLeft,boundaries.right=width+offsets.left}}var isPaddingNumber="number"==typeof(padding=padding||0);return boundaries.left+=isPaddingNumber?padding:padding.left||0,boundaries.top+=isPaddingNumber?padding:padding.top||0,boundaries.right-=isPaddingNumber?padding:padding.right||0,boundaries.bottom-=isPaddingNumber?padding:padding.bottom||0,boundaries}function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){var padding=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===placement.indexOf("auto"))return placement;var boundaries=getBoundaries(popper,reference,padding,boundariesElement),rects={top:{width:boundaries.width,height:refRect.top-boundaries.top},right:{width:boundaries.right-refRect.right,height:boundaries.height},bottom:{width:boundaries.width,height:boundaries.bottom-refRect.bottom},left:{width:refRect.left-boundaries.left,height:boundaries.height}},sortedAreas=Object.keys(rects).map((function(key){return _extends({key:key},rects[key],{area:(_ref=rects[key],_ref.width*_ref.height)});var _ref})).sort((function(a,b){return b.area-a.area})),filteredAreas=sortedAreas.filter((function(_ref2){var width=_ref2.width,height=_ref2.height;return width>=popper.clientWidth&&height>=popper.clientHeight})),computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key,variation=placement.split("-")[1];return computedPlacement+(variation?"-"+variation:"")}function getReferenceOffsets(state,popper,reference){var fixedPosition=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return getOffsetRectRelativeToArbitraryNode(reference,fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference)),fixedPosition)}function getOuterSizes(element){var styles=element.ownerDocument.defaultView.getComputedStyle(element),x=parseFloat(styles.marginTop||0)+parseFloat(styles.marginBottom||0),y=parseFloat(styles.marginLeft||0)+parseFloat(styles.marginRight||0);return{width:element.offsetWidth+y,height:element.offsetHeight+x}}function getOppositePlacement(placement){var hash={left:"right",right:"left",bottom:"top",top:"bottom"};return placement.replace(/left|right|bottom|top/g,(function(matched){return hash[matched]}))}function getPopperOffsets(popper,referenceOffsets,placement){placement=placement.split("-")[0];var popperRect=getOuterSizes(popper),popperOffsets={width:popperRect.width,height:popperRect.height},isHoriz=-1!==["right","left"].indexOf(placement),mainSide=isHoriz?"top":"left",secondarySide=isHoriz?"left":"top",measurement=isHoriz?"height":"width",secondaryMeasurement=isHoriz?"width":"height";return popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/2-popperRect[measurement]/2,popperOffsets[secondarySide]=placement===secondarySide?referenceOffsets[secondarySide]-popperRect[secondaryMeasurement]:referenceOffsets[getOppositePlacement(secondarySide)],popperOffsets}function find(arr,check){return Array.prototype.find?arr.find(check):arr.filter(check)[0]}function runModifiers(modifiers,data,ends){var modifiersToRun=void 0===ends?modifiers:modifiers.slice(0,function(arr,prop,value){if(Array.prototype.findIndex)return arr.findIndex((function(cur){return cur[prop]===value}));var match=find(arr,(function(obj){return obj[prop]===value}));return arr.indexOf(match)}(modifiers,"name",ends));return modifiersToRun.forEach((function(modifier){modifier.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var fn=modifier.function||modifier.fn;modifier.enabled&&isFunction(fn)&&(data.offsets.popper=getClientRect(data.offsets.popper),data.offsets.reference=getClientRect(data.offsets.reference),data=fn(data,modifier))})),data}function update(){if(!this.state.isDestroyed){var data={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed),data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),data.originalPlacement=data.placement,data.positionFixed=this.options.positionFixed,data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement),data.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",data=runModifiers(this.modifiers,data),this.state.isCreated?this.options.onUpdate(data):(this.state.isCreated=!0,this.options.onCreate(data))}}function isModifierEnabled(modifiers,modifierName){return modifiers.some((function(_ref){var name=_ref.name;return _ref.enabled&&name===modifierName}))}function getSupportedPropertyName(property){for(var prefixes=[!1,"ms","Webkit","Moz","O"],upperProp=property.charAt(0).toUpperCase()+property.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],index=validPlacements.indexOf(placement),arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));return counter?arr.reverse():arr}var BEHAVIORS_FLIP="flip",BEHAVIORS_CLOCKWISE="clockwise",BEHAVIORS_COUNTERCLOCKWISE="counterclockwise";function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){var offsets=[0,0],useHeight=-1!==["right","left"].indexOf(basePlacement),fragments=offset.split(/(\+|\-)/).map((function(frag){return frag.trim()})),divider=fragments.indexOf(find(fragments,(function(frag){return-1!==frag.search(/,|\s/)})));fragments[divider]&&-1===fragments[divider].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var splitRegex=/\s*,\s*|\s+/,ops=-1!==divider?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];return ops=ops.map((function(op,index){var measurement=(1===index?!useHeight:useHeight)?"height":"width",mergeWithPrevious=!1;return op.reduce((function(a,b){return""===a[a.length-1]&&-1!==["+","-"].indexOf(b)?(a[a.length-1]=b,mergeWithPrevious=!0,a):mergeWithPrevious?(a[a.length-1]+=b,mergeWithPrevious=!1,a):a.concat(b)}),[]).map((function(str){return function(str,measurement,popperOffsets,referenceOffsets){var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),value=+split[1],unit=split[2];if(!value)return str;if(0===unit.indexOf("%")){return getClientRect("%p"===unit?popperOffsets:referenceOffsets)[measurement]/100*value}if("vh"===unit||"vw"===unit)return("vh"===unit?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*value;return value}(str,measurement,popperOffsets,referenceOffsets)}))})),ops.forEach((function(op,index){op.forEach((function(frag,index2){isNumeric(frag)&&(offsets[index]+=frag*("-"===op[index2-1]?-1:1))}))})),offsets}var modifiers={shift:{order:100,enabled:!0,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],shiftvariation=placement.split("-")[1];if(shiftvariation){var _data$offsets=data.offsets,reference=_data$offsets.reference,popper=_data$offsets.popper,isVertical=-1!==["bottom","top"].indexOf(basePlacement),side=isVertical?"left":"top",measurement=isVertical?"width":"height",shiftOffsets={start:defineProperty({},side,reference[side]),end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])};data.offsets.popper=_extends({},popper,shiftOffsets[shiftvariation])}return data}},offset:{order:200,enabled:!0,fn:function(data,_ref){var offset=_ref.offset,placement=data.placement,_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,basePlacement=placement.split("-")[0],offsets=void 0;return offsets=isNumeric(+offset)?[+offset,0]:parseOffset(offset,popper,reference,basePlacement),"left"===basePlacement?(popper.top+=offsets[0],popper.left-=offsets[1]):"right"===basePlacement?(popper.top+=offsets[0],popper.left+=offsets[1]):"top"===basePlacement?(popper.left+=offsets[0],popper.top-=offsets[1]):"bottom"===basePlacement&&(popper.left+=offsets[0],popper.top+=offsets[1]),data.popper=popper,data},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(data,options){var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);data.instance.reference===boundariesElement&&(boundariesElement=getOffsetParent(boundariesElement));var transformProp=getSupportedPropertyName("transform"),popperStyles=data.instance.popper.style,top=popperStyles.top,left=popperStyles.left,transform=popperStyles[transformProp];popperStyles.top="",popperStyles.left="",popperStyles[transformProp]="";var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);popperStyles.top=top,popperStyles.left=left,popperStyles[transformProp]=transform,options.boundaries=boundaries;var order=options.priority,popper=data.offsets.popper,check={primary:function(placement){var value=popper[placement];return popper[placement]boundaries[placement]&&!options.escapeWithReference&&(value=Math.min(popper[mainSide],boundaries[placement]-("right"===placement?popper.width:popper.height))),defineProperty({},mainSide,value)}};return order.forEach((function(placement){var side=-1!==["left","top"].indexOf(placement)?"primary":"secondary";popper=_extends({},popper,check[side](placement))})),data.offsets.popper=popper,data},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(data){var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,placement=data.placement.split("-")[0],floor=Math.floor,isVertical=-1!==["top","bottom"].indexOf(placement),side=isVertical?"right":"bottom",opSide=isVertical?"left":"top",measurement=isVertical?"width":"height";return popper[side]floor(reference[side])&&(data.offsets.popper[opSide]=floor(reference[side])),data}},arrow:{order:500,enabled:!0,fn:function(data,options){var _data$offsets$arrow;if(!isModifierRequired(data.instance.modifiers,"arrow","keepTogether"))return data;var arrowElement=options.element;if("string"==typeof arrowElement){if(!(arrowElement=data.instance.popper.querySelector(arrowElement)))return data}else if(!data.instance.popper.contains(arrowElement))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),data;var placement=data.placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isVertical=-1!==["left","right"].indexOf(placement),len=isVertical?"height":"width",sideCapitalized=isVertical?"Top":"Left",side=sideCapitalized.toLowerCase(),altSide=isVertical?"left":"top",opSide=isVertical?"bottom":"right",arrowElementSize=getOuterSizes(arrowElement)[len];reference[opSide]-arrowElementSizepopper[opSide]&&(data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide]),data.offsets.popper=getClientRect(data.offsets.popper);var center=reference[side]+reference[len]/2-arrowElementSize/2,css=getStyleComputedProperty(data.instance.popper),popperMarginSide=parseFloat(css["margin"+sideCapitalized]),popperBorderSide=parseFloat(css["border"+sideCapitalized+"Width"]),sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;return sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0),data.arrowElement=arrowElement,data.offsets.arrow=(defineProperty(_data$offsets$arrow={},side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,""),_data$offsets$arrow),data},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(data,options){if(isModifierEnabled(data.instance.modifiers,"inner"))return data;if(data.flipped&&data.placement===data.originalPlacement)return data;var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed),placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement),variation=data.placement.split("-")[1]||"",flipOrder=[];switch(options.behavior){case BEHAVIORS_FLIP:flipOrder=[placement,placementOpposite];break;case BEHAVIORS_CLOCKWISE:flipOrder=clockwise(placement);break;case BEHAVIORS_COUNTERCLOCKWISE:flipOrder=clockwise(placement,!0);break;default:flipOrder=options.behavior}return flipOrder.forEach((function(step,index){if(placement!==step||flipOrder.length===index+1)return data;placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement);var popperOffsets=data.offsets.popper,refOffsets=data.offsets.reference,floor=Math.floor,overlapsRef="left"===placement&&floor(popperOffsets.right)>floor(refOffsets.left)||"right"===placement&&floor(popperOffsets.left)floor(refOffsets.top)||"bottom"===placement&&floor(popperOffsets.top)floor(boundaries.right),overflowsTop=floor(popperOffsets.top)floor(boundaries.bottom),overflowsBoundaries="left"===placement&&overflowsLeft||"right"===placement&&overflowsRight||"top"===placement&&overflowsTop||"bottom"===placement&&overflowsBottom,isVertical=-1!==["top","bottom"].indexOf(placement),flippedVariationByRef=!!options.flipVariations&&(isVertical&&"start"===variation&&overflowsLeft||isVertical&&"end"===variation&&overflowsRight||!isVertical&&"start"===variation&&overflowsTop||!isVertical&&"end"===variation&&overflowsBottom),flippedVariationByContent=!!options.flipVariationsByContent&&(isVertical&&"start"===variation&&overflowsRight||isVertical&&"end"===variation&&overflowsLeft||!isVertical&&"start"===variation&&overflowsBottom||!isVertical&&"end"===variation&&overflowsTop),flippedVariation=flippedVariationByRef||flippedVariationByContent;(overlapsRef||overflowsBoundaries||flippedVariation)&&(data.flipped=!0,(overlapsRef||overflowsBoundaries)&&(placement=flipOrder[index+1]),flippedVariation&&(variation=function(variation){return"end"===variation?"start":"start"===variation?"end":variation}(variation)),data.placement=placement+(variation?"-"+variation:""),data.offsets.popper=_extends({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement)),data=runModifiers(data.instance.modifiers,data,"flip"))})),data},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isHoriz=-1!==["left","right"].indexOf(basePlacement),subtractLength=-1===["top","left"].indexOf(basePlacement);return popper[isHoriz?"left":"top"]=reference[basePlacement]-(subtractLength?popper[isHoriz?"width":"height"]:0),data.placement=getOppositePlacement(placement),data.offsets.popper=getClientRect(popper),data}},hide:{order:800,enabled:!0,fn:function(data){if(!isModifierRequired(data.instance.modifiers,"hide","preventOverflow"))return data;var refRect=data.offsets.reference,bound=find(data.instance.modifiers,(function(modifier){return"preventOverflow"===modifier.name})).boundaries;if(refRect.bottombound.right||refRect.top>bound.bottom||refRect.right2&&void 0!==arguments[2]?arguments[2]:{};!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Popper),this.scheduleUpdate=function(){return requestAnimationFrame(_this.update)},this.update=debounce(this.update.bind(this)),this.options=_extends({},Popper.Defaults,options),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=reference&&reference.jquery?reference[0]:reference,this.popper=popper&&popper.jquery?popper[0]:popper,this.options.modifiers={},Object.keys(_extends({},Popper.Defaults.modifiers,options.modifiers)).forEach((function(name){_this.options.modifiers[name]=_extends({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(name){return _extends({name:name},_this.options.modifiers[name])})).sort((function(a,b){return a.order-b.order})),this.modifiers.forEach((function(modifierOptions){modifierOptions.enabled&&isFunction(modifierOptions.onLoad)&&modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state)})),this.update();var eventsEnabled=this.options.eventsEnabled;eventsEnabled&&this.enableEventListeners(),this.state.eventsEnabled=eventsEnabled}return createClass(Popper,[{key:"update",value:function(){return update.call(this)}},{key:"destroy",value:function(){return destroy.call(this)}},{key:"enableEventListeners",value:function(){return enableEventListeners.call(this)}},{key:"disableEventListeners",value:function(){return disableEventListeners.call(this)}}]),Popper}();Popper.Utils=("undefined"!=typeof window?window:global).PopperUtils,Popper.placements=placements,Popper.Defaults=Defaults;var BvEvent=function(){function BvEvent(type){var eventInit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(_classCallCheck(this,BvEvent),!type)throw new TypeError("Failed to construct '".concat(this.constructor.name,"'. 1 argument required, ").concat(arguments.length," given."));assign(this,BvEvent.Defaults,this.constructor.Defaults,eventInit,{type:type}),defineProperties(this,{type:{enumerable:!0,configurable:!1,writable:!1},cancelable:{enumerable:!0,configurable:!1,writable:!1},nativeEvent:{enumerable:!0,configurable:!1,writable:!1},target:{enumerable:!0,configurable:!1,writable:!1},relatedTarget:{enumerable:!0,configurable:!1,writable:!1},vueTarget:{enumerable:!0,configurable:!1,writable:!1},componentId:{enumerable:!0,configurable:!1,writable:!1}});var defaultPrevented=!1;this.preventDefault=function(){this.cancelable&&(defaultPrevented=!0)},defineProperty$1(this,"defaultPrevented",{enumerable:!0,get:function(){return defaultPrevented}})}return _createClass(BvEvent,null,[{key:"Defaults",get:function(){return{type:"",cancelable:!0,nativeEvent:null,target:null,relatedTarget:null,vueTarget:null,componentId:null}}}]),BvEvent}(),clickOutMixin=extend({data:function(){return{listenForClickOut:!1}},watch:{listenForClickOut:function(newValue,oldValue){newValue!==oldValue&&(eventOff(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE),newValue&&eventOn(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE))}},beforeCreate:function(){this.clickOutElement=null,this.clickOutEventName=null},mounted:function(){this.clickOutElement||(this.clickOutElement=document),this.clickOutEventName||(this.clickOutEventName="click"),this.listenForClickOut&&eventOn(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE)},beforeDestroy:function(){eventOff(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE)},methods:{isClickOut:function(event){return!contains(this.$el,event.target)},_clickOutHandler:function(event){this.clickOutHandler&&this.isClickOut(event)&&this.clickOutHandler(event)}}}),focusInMixin=extend({data:function(){return{listenForFocusIn:!1}},watch:{listenForFocusIn:function(newValue,oldValue){newValue!==oldValue&&(eventOff(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE),newValue&&eventOn(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE))}},beforeCreate:function(){this.focusInElement=null},mounted:function(){this.focusInElement||(this.focusInElement=document),this.listenForFocusIn&&eventOn(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE)},beforeDestroy:function(){eventOff(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE)},methods:{_focusInHandler:function(event){this.focusInHandler&&this.focusInHandler(event)}}}),registry=null;isVue3&&(registry=new WeakMap);var _watch$f,_methods,_objectSpread2$2,_watch$e,_objectSpread2$1,_watch$d,_watch$c,_watch$b,_watch$a,_watch$9,_watch$8,_watch$7,ROOT_EVENT_NAME_SHOWN=getRootEventName("BDropdown","shown"),ROOT_EVENT_NAME_HIDDEN=getRootEventName("BDropdown","hidden"),SELECTOR_ITEM=[".dropdown-item",".b-dropdown-form"].map((function(selector){return"".concat(selector,":not(.disabled):not([disabled])")})).join(", "),props$1O=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),{},{boundary:makeProp([HTMLElement,PROP_TYPE_STRING],"scrollParent"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),dropleft:makeProp(PROP_TYPE_BOOLEAN,!1),dropright:makeProp(PROP_TYPE_BOOLEAN,!1),dropup:makeProp(PROP_TYPE_BOOLEAN,!1),noFlip:makeProp(PROP_TYPE_BOOLEAN,!1),offset:makeProp(PROP_TYPE_NUMBER_STRING,0),popperOpts:makeProp(PROP_TYPE_OBJECT,{}),right:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BDropdown"),dropdownMixin=extend({mixins:[idMixin,listenOnRootMixin,clickOutMixin,focusInMixin],provide:function(){var _this=this;return{getBvDropdown:function(){return _this}}},inject:{getBvNavbar:{default:function(){return function(){return null}}}},props:props$1O,data:function(){return{visible:!1,visibleChangePrevented:!1}},computed:{bvNavbar:function(){return this.getBvNavbar()},inNavbar:function(){return!isNull(this.bvNavbar)},toggler:function(){var toggle=this.$refs.toggle;return toggle?toggle.$el||toggle:null},directionClass:function(){return this.dropup?"dropup":this.dropright?"dropright":this.dropleft?"dropleft":""},boundaryClass:function(){return"scrollParent"===this.boundary||this.inNavbar?"":"position-static"},hideDelay:function(){return this.inNavbar?HAS_TOUCH_SUPPORT?300:50:0}},watch:{visible:function(newValue,oldValue){if(this.visibleChangePrevented)this.visibleChangePrevented=!1;else if(newValue!==oldValue){var bvEvent=new BvEvent(newValue?"show":"hide",{cancelable:!0,vueTarget:this,target:this.$refs.menu,relatedTarget:null,componentId:this.safeId?this.safeId():this.id||null});if(this.emitEvent(bvEvent),bvEvent.defaultPrevented)return this.visibleChangePrevented=!0,this.visible=oldValue,void this.$off("hidden",this.focusToggler);newValue?this.showMenu():this.hideMenu()}},disabled:function(newValue,oldValue){newValue!==oldValue&&newValue&&this.visible&&(this.visible=!1)}},created:function(){this.$_popper=null,this.$_hideTimeout=null},deactivated:function(){this.visible=!1,this.whileOpenListen(!1),this.destroyPopper()},mounted:function(){var element,instance;element=this.$el,instance=this,isVue3&®istry.set(element,instance)},beforeDestroy:function(){var element;this.visible=!1,this.whileOpenListen(!1),this.destroyPopper(),this.clearHideTimeout(),element=this.$el,isVue3&®istry.delete(element)},methods:{emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BDropdown",type),bvEvent),this.$emit(type,bvEvent)},showMenu:function(){var _this2=this;if(!this.disabled){if(!this.inNavbar)if(void 0===Popper)warn("Popper.js not found. Falling back to CSS positioning","BDropdown");else{var el=this.dropup&&this.right||this.split?this.$el:this.$refs.toggle;el=el.$el||el,this.createPopper(el)}this.emitOnRoot(ROOT_EVENT_NAME_SHOWN,this),this.whileOpenListen(!0),this.$nextTick((function(){_this2.focusMenu(),_this2.$emit("shown")}))}},hideMenu:function(){this.whileOpenListen(!1),this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN,this),this.$emit("hidden"),this.destroyPopper()},createPopper:function(element){this.destroyPopper(),this.$_popper=new Popper(element,this.$refs.menu,this.getPopperConfig())},destroyPopper:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},updatePopper:function(){try{this.$_popper.scheduleUpdate()}catch(_unused){}},clearHideTimeout:function(){clearTimeout(this.$_hideTimeout),this.$_hideTimeout=null},getPopperConfig:function(){var placement="bottom-start";this.dropup?placement=this.right?"top-end":"top-start":this.dropright?placement="right-start":this.dropleft?placement="left-start":this.right&&(placement="bottom-end");var popperConfig={placement:placement,modifiers:{offset:{offset:this.offset||0},flip:{enabled:!this.noFlip}}},boundariesElement=this.boundary;return boundariesElement&&(popperConfig.modifiers.preventOverflow={boundariesElement:boundariesElement}),mergeDeep(popperConfig,this.popperOpts||{})},whileOpenListen:function(isOpen){this.listenForClickOut=isOpen,this.listenForFocusIn=isOpen,this[isOpen?"listenOnRoot":"listenOffRoot"](ROOT_EVENT_NAME_SHOWN,this.rootCloseListener)},rootCloseListener:function(vm){vm!==this&&(this.visible=!1)},show:function(){var _this3=this;this.disabled||requestAF((function(){_this3.visible=!0}))},hide:function(){var refocus=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disabled||(this.visible=!1,refocus&&this.$once("hidden",this.focusToggler))},toggle:function(event){var _event=event=event||{},type=_event.type,keyCode=_event.keyCode;("click"===type||"keydown"===type&&-1!==[CODE_ENTER,CODE_SPACE,CODE_DOWN].indexOf(keyCode))&&(this.disabled?this.visible=!1:(this.$emit("toggle",event),stopEvent(event),this.visible?this.hide(!0):this.show()))},onMousedown:function(event){stopEvent(event,{propagation:!1})},onKeydown:function(event){var keyCode=event.keyCode;27===keyCode?this.onEsc(event):keyCode===CODE_DOWN?this.focusNext(event,!1):keyCode===CODE_UP&&this.focusNext(event,!0)},onEsc:function(event){this.visible&&(this.visible=!1,stopEvent(event),this.$once("hidden",this.focusToggler))},onSplitClick:function(event){this.disabled?this.visible=!1:this.$emit("click",event)},hideHandler:function(event){var _this4=this,target=event.target;!this.visible||contains(this.$refs.menu,target)||contains(this.toggler,target)||(this.clearHideTimeout(),this.$_hideTimeout=setTimeout((function(){return _this4.hide()}),this.hideDelay))},clickOutHandler:function(event){this.hideHandler(event)},focusInHandler:function(event){this.hideHandler(event)},focusNext:function(event,up){var _this5=this,target=event.target;!this.visible||event&&closest(".dropdown form",target)||(stopEvent(event),this.$nextTick((function(){var items=_this5.getItems();if(!(items.length<1)){var index=items.indexOf(target);up&&index>0?index--:!up&&index1&&void 0!==arguments[1]?arguments[1]:null;if(isPlainObject(option)){var value=get(option,this.valueField),text=get(option,this.textField);return{value:isUndefined(value)?key||text:value,text:stripTags(String(isUndefined(text)?key:text)),html:get(option,this.htmlField),disabled:Boolean(get(option,this.disabledField))}}return{value:key||option,text:stripTags(String(option)),disabled:!1}},normalizeOptions:function(options){var _this=this;return isArray(options)?options.map((function(option){return _this.normalizeOption(option)})):isPlainObject(options)?(warn('Setting prop "options" to an object is deprecated. Use the array format instead.',this.$options.name),keys(options).map((function(key){return _this.normalizeOption(options[key]||{},key)}))):[]}}}),props$1C=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1D),{},{id:makeProp(PROP_TYPE_STRING,void 0,!0)})),"BFormDatalist"),BFormDatalist=extend({name:"BFormDatalist",mixins:[formOptionsMixin,normalizeSlotMixin],props:props$1C,render:function(h){var id=this.id,$options=this.formOptions.map((function(option,index){var value=option.value,text=option.text,html=option.html,disabled=option.disabled;return h("option",{attrs:{value:value,disabled:disabled},domProps:htmlOrText(html,text),key:"option_".concat(index)})}));return h("datalist",{attrs:{id:id}},[$options,this.normalizeSlot()])}}),props$1B=makePropsConfigurable({id:makeProp(PROP_TYPE_STRING),inline:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"small"),textVariant:makeProp(PROP_TYPE_STRING,"muted")},"BFormText"),BFormText=extend({name:"BFormText",functional:!0,props:props$1B,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:_defineProperty({"form-text":!props.inline},"text-".concat(props.textVariant),props.textVariant),attrs:{id:props.id}}),children)}}),props$1A=makePropsConfigurable({ariaLive:makeProp(PROP_TYPE_STRING),forceShow:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING),state:makeProp(PROP_TYPE_BOOLEAN,null),tag:makeProp(PROP_TYPE_STRING,"div"),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1)},"BFormInvalidFeedback"),BFormInvalidFeedback=extend({name:"BFormInvalidFeedback",functional:!0,props:props$1A,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,tooltip=props.tooltip,ariaLive=props.ariaLive,show=!0===props.forceShow||!1===props.state;return h(props.tag,a(data,{class:{"d-block":show,"invalid-feedback":!tooltip,"invalid-tooltip":tooltip},attrs:{id:props.id||null,role:props.role||null,"aria-live":ariaLive||null,"aria-atomic":ariaLive?"true":null}}),children)}}),props$1z=makePropsConfigurable({ariaLive:makeProp(PROP_TYPE_STRING),forceShow:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING),state:makeProp(PROP_TYPE_BOOLEAN,null),tag:makeProp(PROP_TYPE_STRING,"div"),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1)},"BFormValidFeedback"),BFormValidFeedback=extend({name:"BFormValidFeedback",functional:!0,props:props$1z,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,tooltip=props.tooltip,ariaLive=props.ariaLive,show=!0===props.forceShow||!0===props.state;return h(props.tag,a(data,{class:{"d-block":show,"valid-feedback":!tooltip,"valid-tooltip":tooltip},attrs:{id:props.id||null,role:props.role||null,"aria-live":ariaLive||null,"aria-atomic":ariaLive?"true":null}}),children)}}),props$1y=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BFormRow"),BFormRow=extend({name:"BFormRow",functional:!0,props:props$1y,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"form-row"}),children)}}),FormPlugin=pluginFactory({components:{BForm:BForm,BFormDatalist:BFormDatalist,BDatalist:BFormDatalist,BFormText:BFormText,BFormInvalidFeedback:BFormInvalidFeedback,BFormFeedback:BFormInvalidFeedback,BFormValidFeedback:BFormValidFeedback,BFormRow:BFormRow}}),looseIndexOf=function(array,value){for(var i=0;i-1:looseEqual(checked,value)},isRadio:function(){return!1}},watch:_defineProperty({},"indeterminate",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.setIndeterminate(newValue)})),mounted:function(){this.setIndeterminate(this.indeterminate)},methods:{computedLocalCheckedWatcher:function(newValue,oldValue){if(!looseEqual(newValue,oldValue)){this.$emit(MODEL_EVENT_NAME$f,newValue);var $input=this.$refs.input;$input&&this.$emit("update:indeterminate",$input.indeterminate)}},handleChange:function(_ref){var _this=this,_ref$target=_ref.target,checked=_ref$target.checked,indeterminate=_ref$target.indeterminate,value=this.value,uncheckedValue=this.uncheckedValue,localChecked=this.computedLocalChecked;if(isArray(localChecked)){var index=looseIndexOf(localChecked,value);checked&&index<0?localChecked=localChecked.concat(value):!checked&&index>-1&&(localChecked=localChecked.slice(0,index).concat(localChecked.slice(index+1)))}else localChecked=checked?value:uncheckedValue;this.computedLocalChecked=localChecked,this.$nextTick((function(){_this.$emit("change",localChecked),_this.isGroup&&_this.bvGroup.$emit("change",localChecked),_this.$emit("update:indeterminate",indeterminate)}))},setIndeterminate:function(state){isArray(this.computedLocalChecked)&&(state=!1);var $input=this.$refs.input;$input&&($input.indeterminate=state,this.$emit("update:indeterminate",state))}}}),props$1r=makePropsConfigurable(props$1t,"BFormRadio"),BFormRadio=extend({name:"BFormRadio",mixins:[formRadioCheckMixin],inject:{getBvGroup:{from:"getBvRadioGroup",default:function(){return function(){return null}}}},props:props$1r,computed:{bvGroup:function(){return this.getBvGroup()}}}),PASS_DOWN_ATTRS=["aria-describedby","aria-labelledby"],_makeModelMixin$f=makeModelMixin("checked"),modelMixin$e=_makeModelMixin$f.mixin,modelProps$e=_makeModelMixin$f.props,MODEL_PROP_NAME$e=_makeModelMixin$f.prop,MODEL_EVENT_NAME$e=_makeModelMixin$f.event,props$1q=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$e),props$1x),props$1D),props$1v),props$1u),props$1w),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),buttonVariant:makeProp(PROP_TYPE_STRING),buttons:makeProp(PROP_TYPE_BOOLEAN,!1),stacked:makeProp(PROP_TYPE_BOOLEAN,!1),validated:makeProp(PROP_TYPE_BOOLEAN,!1)})),"formRadioCheckGroups"),formRadioCheckGroupMixin=extend({mixins:[idMixin,modelMixin$e,normalizeSlotMixin,formControlMixin,formOptionsMixin,formSizeMixin,formStateMixin,formCustomMixin],inheritAttrs:!1,props:props$1q,data:function(){return{localChecked:this[MODEL_PROP_NAME$e]}},computed:{inline:function(){return!this.stacked},groupName:function(){return this.name||this.safeId()},groupClasses:function(){var inline=this.inline,size=this.size,classes={"was-validated":this.validated};return this.buttons&&(classes=[classes,"btn-group-toggle",_defineProperty({"btn-group":inline,"btn-group-vertical":!inline},"btn-group-".concat(size),size)]),classes}},watch:(_watch$e={},_defineProperty(_watch$e,MODEL_PROP_NAME$e,(function(newValue){looseEqual(newValue,this.localChecked)||(this.localChecked=newValue)})),_defineProperty(_watch$e,"localChecked",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit(MODEL_EVENT_NAME$e,newValue)})),_watch$e),render:function(h){var _this=this,isRadioGroup=this.isRadioGroup,attrs=pick$1(this.$attrs,PASS_DOWN_ATTRS),optionComponent=isRadioGroup?BFormRadio:BFormCheckbox,$inputs=this.formOptions.map((function(option,index){var key="BV_option_".concat(index);return h(optionComponent,{props:{disabled:option.disabled||!1,id:_this.safeId(key),value:option.value},attrs:attrs,key:key},[h("span",{domProps:htmlOrText(option.html,option.text)})])}));return h("div",{class:[this.groupClasses,"bv-no-focus-ring"],attrs:_objectSpread2$3(_objectSpread2$3({},omit(this.$attrs,PASS_DOWN_ATTRS)),{},{"aria-invalid":this.computedAriaInvalid,"aria-required":this.required?"true":null,id:this.safeId(),role:isRadioGroup?"radiogroup":"group",tabindex:"-1"})},[this.normalizeSlot("first"),$inputs,this.normalizeSlot()])}}),props$1p=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1q),{},(_defineProperty(_objectSpread2$1={},MODEL_PROP_NAME$e,makeProp(PROP_TYPE_ARRAY,[])),_defineProperty(_objectSpread2$1,"switches",makeProp(PROP_TYPE_BOOLEAN,!1)),_objectSpread2$1))),"BFormCheckboxGroup"),BFormCheckboxGroup=extend({name:"BFormCheckboxGroup",mixins:[formRadioCheckGroupMixin],provide:function(){var _this=this;return{getBvCheckGroup:function(){return _this}}},props:props$1p,computed:{isRadioGroup:function(){return!1}}}),FormCheckboxPlugin=pluginFactory({components:{BFormCheckbox:BFormCheckbox,BCheckbox:BFormCheckbox,BCheck:BFormCheckbox,BFormCheckboxGroup:BFormCheckboxGroup,BCheckboxGroup:BFormCheckboxGroup,BCheckGroup:BFormCheckboxGroup}}),PROP$2="__BV_hover_handler__",updateListeners=function(on,el,listener){eventOnOff(on,el,"mouseenter",listener,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,el,"mouseleave",listener,EVENT_OPTIONS_NO_CAPTURE)},directive=function(el,_ref){var _ref$value=_ref.value,handler=void 0===_ref$value?null:_ref$value;if(IS_BROWSER){var listener=el[PROP$2],hasListener=isFunction$1(listener),handlerChanged=!(hasListener&&listener.fn===handler);hasListener&&handlerChanged&&(updateListeners(!1,el,listener),delete el[PROP$2]),isFunction$1(handler)&&handlerChanged&&(el[PROP$2]=function(handler){var listener=function(event){handler("mouseenter"===event.type,event)};return listener.fn=handler,listener}(handler),updateListeners(!0,el,el[PROP$2]))}},VBHover={bind:directive,componentUpdated:directive,unbind:function(el){directive(el,{value:null})}},props$1o=sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1v),props$1u),omit(props$1O,["disabled"])),omit(props$1x,["autofocus"])),{},{buttonOnly:makeProp(PROP_TYPE_BOOLEAN,!1),buttonVariant:makeProp(PROP_TYPE_STRING,"secondary"),formattedValue:makeProp(PROP_TYPE_STRING),labelSelected:makeProp(PROP_TYPE_STRING),lang:makeProp(PROP_TYPE_STRING),menuClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),placeholder:makeProp(PROP_TYPE_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),rtl:makeProp(PROP_TYPE_BOOLEAN,null),value:makeProp(PROP_TYPE_STRING,"")})),BVFormBtnLabelControl=extend({name:"BVFormBtnLabelControl",directives:{"b-hover":VBHover},mixins:[idMixin,formSizeMixin,formStateMixin,dropdownMixin,normalizeSlotMixin],props:props$1o,data:function(){return{isHovered:!1,hasFocus:!1}},computed:{idButton:function(){return this.safeId()},idLabel:function(){return this.safeId("_value_")},idMenu:function(){return this.safeId("_dialog_")},idWrapper:function(){return this.safeId("_outer_")},computedDir:function(){return!0===this.rtl?"rtl":!1===this.rtl?"ltr":null}},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.toggle)},blur:function(){this.disabled||attemptBlur(this.$refs.toggle)},setFocus:function(event){this.hasFocus="focus"===event.type},handleHover:function(hovered){this.isHovered=hovered}},render:function(h){var _class,idButton=this.idButton,idLabel=this.idLabel,idMenu=this.idMenu,idWrapper=this.idWrapper,disabled=this.disabled,readonly=this.readonly,required=this.required,name=this.name,state=this.state,visible=this.visible,size=this.size,isHovered=this.isHovered,hasFocus=this.hasFocus,labelSelected=this.labelSelected,buttonVariant=this.buttonVariant,buttonOnly=this.buttonOnly,value=toString(this.value)||"",invalid=!1===state||required&&!value,btnScope={isHovered:isHovered,hasFocus:hasFocus,state:state,opened:visible},$button=h("button",{staticClass:"btn",class:(_class={},_defineProperty(_class,"btn-".concat(buttonVariant),buttonOnly),_defineProperty(_class,"btn-".concat(size),size),_defineProperty(_class,"h-auto",!buttonOnly),_defineProperty(_class,"dropdown-toggle",buttonOnly),_defineProperty(_class,"dropdown-toggle-no-caret",buttonOnly),_class),attrs:{id:idButton,type:"button",disabled:disabled,"aria-haspopup":"dialog","aria-expanded":visible?"true":"false","aria-invalid":invalid?"true":null,"aria-required":required?"true":null},directives:[{name:"b-hover",value:this.handleHover}],on:{mousedown:this.onMousedown,click:this.toggle,keydown:this.toggle,"!focus":this.setFocus,"!blur":this.setFocus},ref:"toggle"},[this.hasNormalizedSlot("button-content")?this.normalizeSlot("button-content",btnScope):h(BIconChevronDown,{props:{scale:1.25}})]),$hidden=h();name&&!disabled&&($hidden=h("input",{attrs:{type:"hidden",name:name||null,form:this.form||null,value:value}}));var $menu=h("div",{staticClass:"dropdown-menu",class:[this.menuClass,{show:visible,"dropdown-menu-right":this.right}],attrs:{id:idMenu,role:"dialog",tabindex:"-1","aria-modal":"false","aria-labelledby":idLabel},on:{keydown:this.onKeydown},ref:"menu"},[this.normalizeSlot("default",{opened:visible})]),$label=h("label",{class:buttonOnly?"sr-only":["form-control",{"text-muted":!value},this.stateClass,this.sizeFormClass],attrs:{id:idLabel,for:idButton,"aria-invalid":invalid?"true":null,"aria-required":required?"true":null},directives:[{name:"b-hover",value:this.handleHover}],on:{"!click":function(event){stopEvent(event,{preventDefault:!1})}}},[value?this.formattedValue||value:this.placeholder||"",value&&labelSelected?h("bdi",{staticClass:"sr-only"},labelSelected):""]);return h("div",{staticClass:"b-form-btn-label-control dropdown",class:[this.directionClass,this.boundaryClass,[{"btn-group":buttonOnly,"form-control":!buttonOnly,focus:hasFocus&&!buttonOnly,show:visible,"is-valid":!0===state,"is-invalid":!1===state},buttonOnly?null:this.sizeFormClass]],attrs:{id:idWrapper,role:buttonOnly?null:"group",lang:this.lang||null,dir:this.computedDir,"aria-disabled":disabled,"aria-readonly":readonly&&!disabled,"aria-labelledby":idLabel,"aria-invalid":!1===state||required&&!value?"true":null,"aria-required":required?"true":null}},[$button,$hidden,$menu,$label])}}),_makeModelMixin$e=makeModelMixin("value",{type:PROP_TYPE_DATE_STRING}),modelMixin$d=_makeModelMixin$e.mixin,modelProps$d=_makeModelMixin$e.props,MODEL_PROP_NAME$d=_makeModelMixin$e.prop,MODEL_EVENT_NAME$d=_makeModelMixin$e.event,calendarProps=omit(props$24,["block","hidden","id","noKeyNav","roleDescription","value","width"]),formBtnLabelControlProps$1=omit(props$1o,["formattedValue","id","lang","rtl","value"]),props$1n=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$d),calendarProps),formBtnLabelControlProps$1),{},{calendarWidth:makeProp(PROP_TYPE_STRING,"270px"),closeButton:makeProp(PROP_TYPE_BOOLEAN,!1),closeButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),dark:makeProp(PROP_TYPE_BOOLEAN,!1),labelCloseButton:makeProp(PROP_TYPE_STRING,"Close"),labelResetButton:makeProp(PROP_TYPE_STRING,"Reset"),labelTodayButton:makeProp(PROP_TYPE_STRING,"Select today"),noCloseOnSelect:makeProp(PROP_TYPE_BOOLEAN,!1),resetButton:makeProp(PROP_TYPE_BOOLEAN,!1),resetButtonVariant:makeProp(PROP_TYPE_STRING,"outline-danger"),resetValue:makeProp(PROP_TYPE_DATE_STRING),todayButton:makeProp(PROP_TYPE_BOOLEAN,!1),todayButtonVariant:makeProp(PROP_TYPE_STRING,"outline-primary")})),"BFormDatepicker"),BFormDatepicker=extend({name:"BFormDatepicker",mixins:[idMixin,modelMixin$d],props:props$1n,data:function(){return{localYMD:formatYMD(this[MODEL_PROP_NAME$d])||"",isVisible:!1,localLocale:null,isRTL:!1,formattedValue:"",activeYMD:""}},computed:{calendarYM:function(){return this.activeYMD.slice(0,-3)},computedLang:function(){return(this.localLocale||"").replace(/-u-.*$/i,"")||null},computedResetValue:function(){return formatYMD(constrainDate(this.resetValue))||""}},watch:(_watch$d={},_defineProperty(_watch$d,MODEL_PROP_NAME$d,(function(newValue){this.localYMD=formatYMD(newValue)||""})),_defineProperty(_watch$d,"localYMD",(function(newValue){this.isVisible&&this.$emit(MODEL_EVENT_NAME$d,this.valueAsDate?parseYMD(newValue)||null:newValue||"")})),_defineProperty(_watch$d,"calendarYM",(function(newValue,oldValue){if(newValue!==oldValue&&oldValue)try{this.$refs.control.updatePopper()}catch(_unused){}})),_watch$d),methods:{focus:function(){this.disabled||attemptFocus(this.$refs.control)},blur:function(){this.disabled||attemptBlur(this.$refs.control)},setAndClose:function(ymd){var _this=this;this.localYMD=ymd,this.noCloseOnSelect||this.$nextTick((function(){_this.$refs.control.hide(!0)}))},onSelected:function(ymd){var _this2=this;this.$nextTick((function(){_this2.setAndClose(ymd)}))},onInput:function(ymd){this.localYMD!==ymd&&(this.localYMD=ymd)},onContext:function(ctx){var activeYMD=ctx.activeYMD,isRTL=ctx.isRTL,locale=ctx.locale,selectedYMD=ctx.selectedYMD,selectedFormatted=ctx.selectedFormatted;this.isRTL=isRTL,this.localLocale=locale,this.formattedValue=selectedFormatted,this.localYMD=selectedYMD,this.activeYMD=activeYMD,this.$emit("context",ctx)},onTodayButton:function(){this.setAndClose(formatYMD(constrainDate(createDate(),this.min,this.max)))},onResetButton:function(){this.setAndClose(this.computedResetValue)},onCloseButton:function(){this.$refs.control.hide(!0)},onShow:function(){this.isVisible=!0},onShown:function(){var _this3=this;this.$nextTick((function(){attemptFocus(_this3.$refs.calendar),_this3.$emit("shown")}))},onHidden:function(){this.isVisible=!1,this.$emit("hidden")},defaultButtonFn:function(_ref){var isHovered=_ref.isHovered,hasFocus=_ref.hasFocus;return this.$createElement(isHovered||hasFocus?BIconCalendarFill:BIconCalendar,{attrs:{"aria-hidden":"true"}})}},render:function(h){var localYMD=this.localYMD,disabled=this.disabled,readonly=this.readonly,dark=this.dark,$props=this.$props,$scopedSlots=this.$scopedSlots,placeholder=isUndefinedOrNull(this.placeholder)?this.labelNoDateSelected:this.placeholder,$footer=[];if(this.todayButton){var label=this.labelTodayButton;$footer.push(h(BButton,{props:{disabled:disabled||readonly,size:"sm",variant:this.todayButtonVariant},attrs:{"aria-label":label||null},on:{click:this.onTodayButton}},label))}if(this.resetButton){var _label=this.labelResetButton;$footer.push(h(BButton,{props:{disabled:disabled||readonly,size:"sm",variant:this.resetButtonVariant},attrs:{"aria-label":_label||null},on:{click:this.onResetButton}},_label))}if(this.closeButton){var _label2=this.labelCloseButton;$footer.push(h(BButton,{props:{disabled:disabled,size:"sm",variant:this.closeButtonVariant},attrs:{"aria-label":_label2||null},on:{click:this.onCloseButton}},_label2))}$footer.length>0&&($footer=[h("div",{staticClass:"b-form-date-controls d-flex flex-wrap",class:{"justify-content-between":$footer.length>1,"justify-content-end":$footer.length<2}},$footer)]);var $calendar=h(BCalendar,{staticClass:"b-form-date-calendar w-100",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(calendarProps,$props)),{},{hidden:!this.isVisible,value:localYMD,valueAsDate:!1,width:this.calendarWidth}),on:{selected:this.onSelected,input:this.onInput,context:this.onContext},scopedSlots:pick$1($scopedSlots,["nav-prev-decade","nav-prev-year","nav-prev-month","nav-this-month","nav-next-month","nav-next-year","nav-next-decade"]),key:"calendar",ref:"calendar"},$footer);return h(BVFormBtnLabelControl,{staticClass:"b-form-datepicker",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formBtnLabelControlProps$1,$props)),{},{formattedValue:localYMD?this.formattedValue:"",id:this.safeId(),lang:this.computedLang,menuClass:[{"bg-dark":dark,"text-light":dark},this.menuClass],placeholder:placeholder,rtl:this.isRTL,value:localYMD}),on:{show:this.onShow,shown:this.onShown,hidden:this.onHidden},scopedSlots:_defineProperty({},"button-content",$scopedSlots["button-content"]||this.defaultButtonFn),ref:"control"},[$calendar])}}),FormDatepickerPlugin=pluginFactory({components:{BFormDatepicker:BFormDatepicker,BDatepicker:BFormDatepicker}}),_makeModelMixin$d=makeModelMixin("value",{type:[PROP_TYPE_ARRAY,File],defaultValue:null,validator:function(value){return""===value?(warn(VALUE_EMPTY_DEPRECATED_MSG,"BFormFile"),!0):isUndefinedOrNull(value)||isValidValue(value)}}),modelMixin$c=_makeModelMixin$d.mixin,modelProps$c=_makeModelMixin$d.props,MODEL_PROP_NAME$c=_makeModelMixin$d.prop,MODEL_EVENT_NAME$c=_makeModelMixin$d.event,VALUE_EMPTY_DEPRECATED_MSG='Setting "value"/"v-model" to an empty string for reset is deprecated. Set to "null" instead.',isValidValue=function isValidValue(value){return function(value){return value instanceof File}(value)||isArray(value)&&value.every((function(v){return isValidValue(v)}))},getDataTransferItemEntry=function(item){return isFunction$1(item.getAsEntry)?item.getAsEntry():isFunction$1(item.webkitGetAsEntry)?item.webkitGetAsEntry():null},getAllFileEntriesInDirectory=function getAllFileEntriesInDirectory(directoryReader){var path=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(resolve){var entryPromises=[];!function readDirectoryEntries(){directoryReader.readEntries((function(entries){0===entries.length?resolve(Promise.all(entryPromises).then((function(entries){return entries.reduce((function(result,item){return concat(result,item)}),[])}))):(entryPromises.push(Promise.all(entries.map((function(entry){if(entry){if(entry.isDirectory)return getAllFileEntriesInDirectory(entry.createReader(),"".concat(path).concat(entry.name,"/"));if(entry.isFile)return new Promise((function(resolve){entry.file((function(file){file.$path="".concat(path).concat(file.name),resolve(file)}))}))}return null})).filter(identity))),readDirectoryEntries())}))}()}))},props$1m=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$c),props$1x),props$1w),props$1u),props$1v),{},{accept:makeProp(PROP_TYPE_STRING,""),browseText:makeProp(PROP_TYPE_STRING,"Browse"),capture:makeProp(PROP_TYPE_BOOLEAN,!1),directory:makeProp(PROP_TYPE_BOOLEAN,!1),dropPlaceholder:makeProp(PROP_TYPE_STRING,"Drop files here"),fileNameFormatter:makeProp(PROP_TYPE_FUNCTION),multiple:makeProp(PROP_TYPE_BOOLEAN,!1),noDrop:makeProp(PROP_TYPE_BOOLEAN,!1),noDropPlaceholder:makeProp(PROP_TYPE_STRING,"Not allowed"),noTraverse:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING,"No file chosen")})),"BFormFile"),BFormFile=extend({name:"BFormFile",mixins:[attrsMixin,idMixin,modelMixin$c,normalizeSlotMixin,formControlMixin,formStateMixin,formCustomMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$1m,data:function(){return{files:[],dragging:!1,dropAllowed:!this.noDrop,hasFocus:!1}},computed:{computedAccept:function(){var accept=this.accept;return 0===(accept=(accept||"").trim().split(/[,\s]+/).filter(identity)).length?null:accept.map((function(extOrType){var prop="name",startMatch="^",endMatch="$";return RX_EXTENSION.test(extOrType)?startMatch="":(prop="type",RX_STAR.test(extOrType)&&(endMatch=".+$",extOrType=extOrType.slice(0,-1))),extOrType=escapeRegExp(extOrType),{rx:new RegExp("".concat(startMatch).concat(extOrType).concat(endMatch)),prop:prop}}))},computedCapture:function(){var capture=this.capture;return!0===capture||""===capture||(capture||null)},computedAttrs:function(){var name=this.name,disabled=this.disabled,required=this.required,form=this.form,computedCapture=this.computedCapture,accept=this.accept,multiple=this.multiple,directory=this.directory;return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{type:"file",id:this.safeId(),name:name,disabled:disabled,required:required,form:form||null,capture:computedCapture,accept:accept||null,multiple:multiple,directory:directory,webkitdirectory:directory,"aria-required":required?"true":null})},computedFileNameFormatter:function(){var fileNameFormatter=this.fileNameFormatter;return hasPropFunction(fileNameFormatter)?fileNameFormatter:this.defaultFileNameFormatter},clonedFiles:function(){return cloneDeep(this.files)},flattenedFiles:function(){return flattenDeep(this.files)},fileNames:function(){return this.flattenedFiles.map((function(file){return file.name}))},labelContent:function(){if(this.dragging&&!this.noDrop)return this.normalizeSlot("drop-placeholder",{allowed:this.dropAllowed})||(this.dropAllowed?this.dropPlaceholder:this.$createElement("span",{staticClass:"text-danger"},this.noDropPlaceholder));if(0===this.files.length)return this.normalizeSlot("placeholder")||this.placeholder;var flattenedFiles=this.flattenedFiles,clonedFiles=this.clonedFiles,fileNames=this.fileNames,computedFileNameFormatter=this.computedFileNameFormatter;return this.hasNormalizedSlot("file-name")?this.normalizeSlot("file-name",{files:flattenedFiles,filesTraversed:clonedFiles,names:fileNames}):computedFileNameFormatter(flattenedFiles,clonedFiles,fileNames)}},watch:(_watch$c={},_defineProperty(_watch$c,MODEL_PROP_NAME$c,(function(newValue){(!newValue||isArray(newValue)&&0===newValue.length)&&this.reset()})),_defineProperty(_watch$c,"files",(function(newValue,oldValue){if(!looseEqual(newValue,oldValue)){var multiple=this.multiple,noTraverse=this.noTraverse,files=!multiple||noTraverse?flattenDeep(newValue):newValue;this.$emit(MODEL_EVENT_NAME$c,multiple?files:files[0]||null)}})),_watch$c),created:function(){this.$_form=null},mounted:function(){var $form=closest("form",this.$el);$form&&(eventOn($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE),this.$_form=$form)},beforeDestroy:function(){var $form=this.$_form;$form&&eventOff($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},methods:{isFileValid:function(file){if(!file)return!1;var accept=this.computedAccept;return!accept||accept.some((function(a){return a.rx.test(file[a.prop])}))},isFilesArrayValid:function(files){var _this=this;return isArray(files)?files.every((function(file){return _this.isFileValid(file)})):this.isFileValid(files)},defaultFileNameFormatter:function(flattenedFiles,clonedFiles,fileNames){return fileNames.join(", ")},setFiles:function(files){this.dropAllowed=!this.noDrop,this.dragging=!1,this.files=this.multiple?this.directory?files:flattenDeep(files):flattenDeep(files).slice(0,1)},setInputFiles:function(files){try{var dataTransfer=new ClipboardEvent("").clipboardData||new DataTransfer;flattenDeep(cloneDeep(files)).forEach((function(file){delete file.$path,dataTransfer.items.add(file)})),this.$refs.input.files=dataTransfer.files}catch(_unused){}},reset:function(){try{var $input=this.$refs.input;$input.value="",$input.type="",$input.type="file"}catch(_unused2){}this.files=[]},handleFiles:function(files){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var filteredFiles=files.filter(this.isFilesArrayValid);filteredFiles.length>0&&(this.setFiles(filteredFiles),this.setInputFiles(filteredFiles))}else this.setFiles(files)},focusHandler:function(event){this.plain||"focusout"===event.type?this.hasFocus=!1:this.hasFocus=!0},onChange:function(event){var _this2=this,type=event.type,target=event.target,_event$dataTransfer=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer?{}:_event$dataTransfer,isDrop="drop"===type;this.$emit("change",event);var items=from(dataTransfer.items||[]);if(HAS_PROMISE_SUPPORT&&items.length>0&&!isNull(getDataTransferItemEntry(items[0])))(function(dataTransferItemList){var traverseDirectories=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Promise.all(from(dataTransferItemList).filter((function(item){return"file"===item.kind})).map((function(item){var entry=getDataTransferItemEntry(item);if(entry){if(entry.isDirectory&&traverseDirectories)return getAllFileEntriesInDirectory(entry.createReader(),"".concat(entry.name,"/"));if(entry.isFile)return new Promise((function(resolve){entry.file((function(file){file.$path="",resolve(file)}))}))}return null})).filter(identity))})(items,this.directory).then((function(files){return _this2.handleFiles(files,isDrop)}));else{var files=from(target.files||dataTransfer.files||[]).map((function(file){return file.$path=file.webkitRelativePath||"",file}));this.handleFiles(files,isDrop)}},onDragenter:function(event){stopEvent(event),this.dragging=!0;var _event$dataTransfer2=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer2?{}:_event$dataTransfer2;if(this.noDrop||this.disabled||!this.dropAllowed)return dataTransfer.dropEffect="none",void(this.dropAllowed=!1);dataTransfer.dropEffect="copy"},onDragover:function(event){stopEvent(event),this.dragging=!0;var _event$dataTransfer3=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer3?{}:_event$dataTransfer3;if(this.noDrop||this.disabled||!this.dropAllowed)return dataTransfer.dropEffect="none",void(this.dropAllowed=!1);dataTransfer.dropEffect="copy"},onDragleave:function(event){var _this3=this;stopEvent(event),this.$nextTick((function(){_this3.dragging=!1,_this3.dropAllowed=!_this3.noDrop}))},onDrop:function(event){var _this4=this;stopEvent(event),this.dragging=!1,this.noDrop||this.disabled||!this.dropAllowed?this.$nextTick((function(){_this4.dropAllowed=!_this4.noDrop})):this.onChange(event)}},render:function(h){var custom=this.custom,plain=this.plain,size=this.size,dragging=this.dragging,stateClass=this.stateClass,bvAttrs=this.bvAttrs,$input=h("input",{class:[{"form-control-file":plain,"custom-file-input":custom,focus:custom&&this.hasFocus},stateClass],style:custom?{zIndex:-5}:{},attrs:this.computedAttrs,on:{change:this.onChange,focusin:this.focusHandler,focusout:this.focusHandler,reset:this.reset},ref:"input"});if(plain)return $input;var $label=h("label",{staticClass:"custom-file-label",class:{dragging:dragging},attrs:{for:this.safeId(),"data-browse":this.browseText||null}},[h("span",{staticClass:"d-block form-file-text",style:{pointerEvents:"none"}},[this.labelContent])]);return h("div",{staticClass:"custom-file b-form-file",class:[_defineProperty({},"b-custom-control-".concat(size),size),stateClass,bvAttrs.class],style:bvAttrs.style,attrs:{id:this.safeId("_BV_file_outer_")},on:{dragenter:this.onDragenter,dragover:this.onDragover,dragleave:this.onDragleave,drop:this.onDrop}},[$input,$label])}}),FormFilePlugin=pluginFactory({components:{BFormFile:BFormFile,BFile:BFormFile}}),escapeChar=function(value){return"\\"+value},cssEscape=function(value){var length=(value=toString(value)).length,firstCharCode=value.charCodeAt(0);return value.split("").reduce((function(result,char,index){var charCode=value.charCodeAt(index);return 0===charCode?result+"�":127===charCode||charCode>=1&&charCode<=31||0===index&&charCode>=48&&charCode<=57||1===index&&charCode>=48&&charCode<=57&&45===firstCharCode?result+escapeChar("".concat(charCode.toString(16)," ")):0===index&&45===charCode&&1===length?result+escapeChar(char):charCode>=128||45===charCode||95===charCode||charCode>=48&&charCode<=57||charCode>=65&&charCode<=90||charCode>=97&&charCode<=122?result+char:result+escapeChar(char)}),"")},ALIGN_SELF_VALUES=["auto","start","end","center","baseline","stretch"],computeBreakpointClass=memoize((function(type,breakpoint,value){var className=type;if(!isUndefinedOrNull(value)&&!1!==value)return breakpoint&&(className+="-".concat(breakpoint)),"col"!==type||""!==value&&!0!==value?(className+="-".concat(value),lowerCase(className)):lowerCase(className)})),breakpointPropMap=create(null),BCol={name:"BCol",functional:!0,get props(){return delete this.props,this.props=(breakpoints=getBreakpointsUpCached().filter(identity),breakpointCol=breakpoints.reduce((function(props,breakpoint){return props[breakpoint]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props}),create(null)),breakpointOffset=breakpoints.reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"offset")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),breakpointOrder=breakpoints.reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"order")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),breakpointPropMap=assign(create(null),{col:keys(breakpointCol),offset:keys(breakpointOffset),order:keys(breakpointOrder)}),makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},breakpointCol),breakpointOffset),breakpointOrder),{},{alignSelf:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(ALIGN_SELF_VALUES,value)})),col:makeProp(PROP_TYPE_BOOLEAN,!1),cols:makeProp(PROP_TYPE_NUMBER_STRING),offset:makeProp(PROP_TYPE_NUMBER_STRING),order:makeProp(PROP_TYPE_NUMBER_STRING),tag:makeProp(PROP_TYPE_STRING,"div")})),"BCol"));var breakpoints,breakpointCol,breakpointOffset,breakpointOrder},render:function(h,_ref){var _classList$push,props=_ref.props,data=_ref.data,children=_ref.children,cols=props.cols,offset=props.offset,order=props.order,alignSelf=props.alignSelf,classList=[];for(var type in breakpointPropMap)for(var _keys=breakpointPropMap[type],i=0;i<_keys.length;i++){var c=computeBreakpointClass(type,_keys[i].replace(type,""),props[_keys[i]]);c&&classList.push(c)}var hasColClasses=classList.some((function(className){return RX_COL_CLASS.test(className)}));return classList.push((_defineProperty(_classList$push={col:props.col||!hasColClasses&&!cols},"col-".concat(cols),cols),_defineProperty(_classList$push,"offset-".concat(offset),offset),_defineProperty(_classList$push,"order-".concat(order),order),_defineProperty(_classList$push,"align-self-".concat(alignSelf),alignSelf),_classList$push)),h(props.tag,a(data,{class:classList}),children)}},INPUTS=["input","select","textarea"],INPUT_SELECTOR=INPUTS.map((function(v){return"".concat(v,":not([disabled])")})).join(),LEGEND_INTERACTIVE_ELEMENTS=[].concat(INPUTS,["a","button","label"]),BFormGroup={name:"BFormGroup",mixins:[idMixin,formStateMixin,normalizeSlotMixin],get props(){return delete this.props,this.props=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1u),getBreakpointsUpCached().reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"contentCols")]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props[suffixPropName(breakpoint,"labelAlign")]=makeProp(PROP_TYPE_STRING),props[suffixPropName(breakpoint,"labelCols")]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props}),create(null))),{},{description:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),feedbackAriaLive:makeProp(PROP_TYPE_STRING,"assertive"),invalidFeedback:makeProp(PROP_TYPE_STRING),label:makeProp(PROP_TYPE_STRING),labelClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),labelFor:makeProp(PROP_TYPE_STRING),labelSize:makeProp(PROP_TYPE_STRING),labelSrOnly:makeProp(PROP_TYPE_BOOLEAN,!1),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1),validFeedback:makeProp(PROP_TYPE_STRING),validated:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BFormGroup")},data:function(){return{ariaDescribedby:null}},computed:{contentColProps:function(){return this.getColProps(this.$props,"content")},labelAlignClasses:function(){return this.getAlignClasses(this.$props,"label")},labelColProps:function(){return this.getColProps(this.$props,"label")},isHorizontal:function(){return keys(this.contentColProps).length>0||keys(this.labelColProps).length>0}},watch:{ariaDescribedby:function(newValue,oldValue){newValue!==oldValue&&this.updateAriaDescribedby(newValue,oldValue)}},mounted:function(){var _this=this;this.$nextTick((function(){_this.updateAriaDescribedby(_this.ariaDescribedby)}))},methods:{getAlignClasses:function(props,prefix){return getBreakpointsUpCached().reduce((function(result,breakpoint){var propValue=props[suffixPropName(breakpoint,"".concat(prefix,"Align"))]||null;return propValue&&result.push(["text",breakpoint,propValue].filter(identity).join("-")),result}),[])},getColProps:function(props,prefix){return getBreakpointsUpCached().reduce((function(result,breakpoint){var propValue=props[suffixPropName(breakpoint,"".concat(prefix,"Cols"))];return isBoolean(propValue=""===propValue||(propValue||!1))||"auto"===propValue||(propValue=(propValue=toInteger(propValue,0))>0&&propValue),propValue&&(result[breakpoint||(isBoolean(propValue)?"col":"cols")]=propValue),result}),{})},updateAriaDescribedby:function(newValue,oldValue){var labelFor=this.labelFor;if(IS_BROWSER&&labelFor){var $input=select("#".concat(cssEscape(labelFor)),this.$refs.content);if($input){var attr="aria-describedby",newIds=(newValue||"").split(RX_SPACE_SPLIT),oldIds=(oldValue||"").split(RX_SPACE_SPLIT),ids=(getAttr($input,attr)||"").split(RX_SPACE_SPLIT).filter((function(id){return!arrayIncludes(oldIds,id)})).concat(newIds).filter((function(id,index,ids){return ids.indexOf(id)===index})).filter(identity).join(" ").trim();ids?setAttr($input,attr,ids):removeAttr($input,attr)}}},onLegendClick:function(event){if(!this.labelFor){var target=event.target,tagName=target?target.tagName:"";if(-1===LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName)){var inputs=selectAll(INPUT_SELECTOR,this.$refs.content).filter(isVisible);1===inputs.length&&attemptFocus(inputs[0])}}}},render:function(h){var state=this.computedState,feedbackAriaLive=this.feedbackAriaLive,isHorizontal=this.isHorizontal,labelFor=this.labelFor,normalizeSlot=this.normalizeSlot,safeId=this.safeId,tooltip=this.tooltip,id=safeId(),isFieldset=!labelFor,$label=h(),labelContent=normalizeSlot("label")||this.label,labelId=labelContent?safeId("_BV_label_"):null;if(labelContent||isHorizontal){var labelSize=this.labelSize,labelColProps=this.labelColProps,labelTag=isFieldset?"legend":"label";this.labelSrOnly?(labelContent&&($label=h(labelTag,{class:"sr-only",attrs:{id:labelId,for:labelFor||null}},[labelContent])),$label=h(isHorizontal?BCol:"div",{props:isHorizontal?labelColProps:{}},[$label])):$label=h(isHorizontal?BCol:labelTag,{on:isFieldset?{click:this.onLegendClick}:{},props:isHorizontal?_objectSpread2$3(_objectSpread2$3({},labelColProps),{},{tag:labelTag}):{},attrs:{id:labelId,for:labelFor||null,tabindex:isFieldset?"-1":null},class:[isFieldset?"bv-no-focus-ring":"",isHorizontal||isFieldset?"col-form-label":"",!isHorizontal&&isFieldset?"pt-0":"",isHorizontal||isFieldset?"":"d-block",labelSize?"col-form-label-".concat(labelSize):"",this.labelAlignClasses,this.labelClass]},[labelContent])}var $invalidFeedback=h(),invalidFeedbackContent=normalizeSlot("invalid-feedback")||this.invalidFeedback,invalidFeedbackId=invalidFeedbackContent?safeId("_BV_feedback_invalid_"):null;invalidFeedbackContent&&($invalidFeedback=h(BFormInvalidFeedback,{props:{ariaLive:feedbackAriaLive,id:invalidFeedbackId,state:state,tooltip:tooltip},attrs:{tabindex:invalidFeedbackContent?"-1":null}},[invalidFeedbackContent]));var $validFeedback=h(),validFeedbackContent=normalizeSlot("valid-feedback")||this.validFeedback,validFeedbackId=validFeedbackContent?safeId("_BV_feedback_valid_"):null;validFeedbackContent&&($validFeedback=h(BFormValidFeedback,{props:{ariaLive:feedbackAriaLive,id:validFeedbackId,state:state,tooltip:tooltip},attrs:{tabindex:validFeedbackContent?"-1":null}},[validFeedbackContent]));var $description=h(),descriptionContent=normalizeSlot("description")||this.description,descriptionId=descriptionContent?safeId("_BV_description_"):null;descriptionContent&&($description=h(BFormText,{attrs:{id:descriptionId,tabindex:"-1"}},[descriptionContent]));var ariaDescribedby=this.ariaDescribedby=[descriptionId,!1===state?invalidFeedbackId:null,!0===state?validFeedbackId:null].filter(identity).join(" ")||null,$content=h(isHorizontal?BCol:"div",{props:isHorizontal?this.contentColProps:{},ref:"content"},[normalizeSlot("default",{ariaDescribedby:ariaDescribedby,descriptionId:descriptionId,id:id,labelId:labelId})||h(),$invalidFeedback,$validFeedback,$description]);return h(isFieldset?"fieldset":isHorizontal?BFormRow:"div",{staticClass:"form-group",class:[{"was-validated":this.validated},this.stateClass],attrs:{id:id,disabled:isFieldset?this.disabled:null,role:isFieldset?null:"group","aria-invalid":this.computedAriaInvalid,"aria-labelledby":isFieldset&&isHorizontal?labelId:null}},isHorizontal&&isFieldset?[h(BFormRow,[$label,$content])]:[$label,$content])}},FormGroupPlugin=pluginFactory({components:{BFormGroup:BFormGroup,BFormFieldset:BFormGroup}}),formSelectionMixin=extend({computed:{selectionStart:{cache:!1,get:function(){return this.$refs.input.selectionStart},set:function(val){this.$refs.input.selectionStart=val}},selectionEnd:{cache:!1,get:function(){return this.$refs.input.selectionEnd},set:function(val){this.$refs.input.selectionEnd=val}},selectionDirection:{cache:!1,get:function(){return this.$refs.input.selectionDirection},set:function(val){this.$refs.input.selectionDirection=val}}},methods:{select:function(){var _this$$refs$input;(_this$$refs$input=this.$refs.input).select.apply(_this$$refs$input,arguments)},setSelectionRange:function(){var _this$$refs$input2;(_this$$refs$input2=this.$refs.input).setSelectionRange.apply(_this$$refs$input2,arguments)},setRangeText:function(){var _this$$refs$input3;(_this$$refs$input3=this.$refs.input).setRangeText.apply(_this$$refs$input3,arguments)}}}),_makeModelMixin$c=makeModelMixin("value",{type:PROP_TYPE_NUMBER_STRING,defaultValue:"",event:"update"}),modelMixin$b=_makeModelMixin$c.mixin,modelProps$b=_makeModelMixin$c.props,MODEL_PROP_NAME$b=_makeModelMixin$c.prop,MODEL_EVENT_NAME$b=_makeModelMixin$c.event,props$1l=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$b),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),autocomplete:makeProp(PROP_TYPE_STRING),debounce:makeProp(PROP_TYPE_NUMBER_STRING,0),formatter:makeProp(PROP_TYPE_FUNCTION),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),lazyFormatter:makeProp(PROP_TYPE_BOOLEAN,!1),number:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING),plaintext:makeProp(PROP_TYPE_BOOLEAN,!1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),trim:makeProp(PROP_TYPE_BOOLEAN,!1)})),"formTextControls"),formTextMixin=extend({mixins:[modelMixin$b],props:props$1l,data:function(){var value=this[MODEL_PROP_NAME$b];return{localValue:toString(value),vModelValue:this.modifyValue(value)}},computed:{computedClass:function(){var plaintext=this.plaintext,type=this.type,isRange="range"===type,isColor="color"===type;return[{"custom-range":isRange,"form-control-plaintext":plaintext&&!isRange&&!isColor,"form-control":isColor||!plaintext&&!isRange},this.sizeFormClass,this.stateClass]},computedDebounce:function(){return mathMax(toInteger(this.debounce,0),0)},hasFormatter:function(){return hasPropFunction(this.formatter)}},watch:_defineProperty({},MODEL_PROP_NAME$b,(function(newValue){var stringifyValue=toString(newValue),modifiedValue=this.modifyValue(newValue);stringifyValue===this.localValue&&modifiedValue===this.vModelValue||(this.clearDebounce(),this.localValue=stringifyValue,this.vModelValue=modifiedValue)})),created:function(){this.$_inputDebounceTimer=null},beforeDestroy:function(){this.clearDebounce()},methods:{clearDebounce:function(){clearTimeout(this.$_inputDebounceTimer),this.$_inputDebounceTimer=null},formatValue:function(value,event){var force=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return value=toString(value),!this.hasFormatter||this.lazyFormatter&&!force||(value=this.formatter(value,event)),value},modifyValue:function(value){return value=toString(value),this.trim&&(value=value.trim()),this.number&&(value=toFloat(value,value)),value},updateValue:function(value){var _this=this,force=arguments.length>1&&void 0!==arguments[1]&&arguments[1],lazy=this.lazy;if(!lazy||force){this.clearDebounce();var doUpdate=function(){if((value=_this.modifyValue(value))!==_this.vModelValue)_this.vModelValue=value,_this.$emit(MODEL_EVENT_NAME$b,value);else if(_this.hasFormatter){var $input=_this.$refs.input;$input&&value!==$input.value&&($input.value=value)}},debounce=this.computedDebounce;debounce>0&&!lazy&&!force?this.$_inputDebounceTimer=setTimeout(doUpdate,debounce):doUpdate()}},onInput:function(event){if(!event.target.composing){var value=event.target.value,formattedValue=this.formatValue(value,event);!1===formattedValue||event.defaultPrevented?stopEvent(event,{propagation:!1}):(this.localValue=formattedValue,this.updateValue(formattedValue),this.$emit("input",formattedValue))}},onChange:function(event){var value=event.target.value,formattedValue=this.formatValue(value,event);!1===formattedValue||event.defaultPrevented?stopEvent(event,{propagation:!1}):(this.localValue=formattedValue,this.updateValue(formattedValue,!0),this.$emit("change",formattedValue))},onBlur:function(event){var value=event.target.value,formattedValue=this.formatValue(value,event,!0);!1!==formattedValue&&(this.localValue=toString(this.modifyValue(formattedValue)),this.updateValue(formattedValue,!0)),this.$emit("blur",event)},focus:function(){this.disabled||attemptFocus(this.$el)},blur:function(){this.disabled||attemptBlur(this.$el)}}}),formValidityMixin=extend({computed:{validity:{cache:!1,get:function(){return this.$refs.input.validity}},validationMessage:{cache:!1,get:function(){return this.$refs.input.validationMessage}},willValidate:{cache:!1,get:function(){return this.$refs.input.willValidate}}},methods:{setCustomValidity:function(){var _this$$refs$input;return(_this$$refs$input=this.$refs.input).setCustomValidity.apply(_this$$refs$input,arguments)},checkValidity:function(){var _this$$refs$input2;return(_this$$refs$input2=this.$refs.input).checkValidity.apply(_this$$refs$input2,arguments)},reportValidity:function(){var _this$$refs$input3;return(_this$$refs$input3=this.$refs.input).reportValidity.apply(_this$$refs$input3,arguments)}}}),TYPES$1=["text","password","email","number","url","tel","search","range","color","date","time","datetime","datetime-local","month","week"],props$1k=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1x),props$1v),props$1u),props$1l),{},{list:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING),min:makeProp(PROP_TYPE_NUMBER_STRING),noWheel:makeProp(PROP_TYPE_BOOLEAN,!1),step:makeProp(PROP_TYPE_NUMBER_STRING),type:makeProp(PROP_TYPE_STRING,"text",(function(type){return arrayIncludes(TYPES$1,type)}))})),"BFormInput"),BFormInput=extend({name:"BFormInput",mixins:[listenersMixin,idMixin,formControlMixin,formSizeMixin,formStateMixin,formTextMixin,formSelectionMixin,formValidityMixin],props:props$1k,computed:{localType:function(){var type=this.type;return arrayIncludes(TYPES$1,type)?type:"text"},computedAttrs:function(){var type=this.localType,name=this.name,form=this.form,disabled=this.disabled,placeholder=this.placeholder,required=this.required,min=this.min,max=this.max,step=this.step;return{id:this.safeId(),name:name,form:form,type:type,disabled:disabled,placeholder:placeholder,required:required,autocomplete:this.autocomplete||null,readonly:this.readonly||this.plaintext,min:min,max:max,step:step,list:"password"!==type?this.list:null,"aria-required":required?"true":null,"aria-invalid":this.computedAriaInvalid}},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{input:this.onInput,change:this.onChange,blur:this.onBlur})}},watch:{noWheel:function(newValue){this.setWheelStopper(newValue)}},mounted:function(){this.setWheelStopper(this.noWheel)},deactivated:function(){this.setWheelStopper(!1)},activated:function(){this.setWheelStopper(this.noWheel)},beforeDestroy:function(){this.setWheelStopper(!1)},methods:{setWheelStopper:function(on){var input=this.$el;eventOnOff(on,input,"focus",this.onWheelFocus),eventOnOff(on,input,"blur",this.onWheelBlur),on||eventOff(document,"wheel",this.stopWheel)},onWheelFocus:function(){eventOn(document,"wheel",this.stopWheel)},onWheelBlur:function(){eventOff(document,"wheel",this.stopWheel)},stopWheel:function(event){stopEvent(event,{propagation:!1}),attemptBlur(this.$el)}},render:function(h){return h("input",{class:this.computedClass,attrs:this.computedAttrs,domProps:{value:this.localValue},on:this.computedListeners,ref:"input"})}}),FormInputPlugin=pluginFactory({components:{BFormInput:BFormInput,BInput:BFormInput}}),props$1j=makePropsConfigurable(props$1q,"BFormRadioGroup"),BFormRadioGroup=extend({name:"BFormRadioGroup",mixins:[formRadioCheckGroupMixin],provide:function(){var _this=this;return{getBvRadioGroup:function(){return _this}}},props:props$1j,computed:{isRadioGroup:function(){return!0}}}),FormRadioPlugin=pluginFactory({components:{BFormRadio:BFormRadio,BRadio:BFormRadio,BFormRadioGroup:BFormRadioGroup,BRadioGroup:BFormRadioGroup}}),_makeModelMixin$b=makeModelMixin("value",{type:PROP_TYPE_NUMBER_STRING,event:"change"}),modelMixin$a=_makeModelMixin$b.mixin,modelProps$a=_makeModelMixin$b.props,MODEL_PROP_NAME$a=_makeModelMixin$b.prop,MODEL_EVENT_NAME$a=_makeModelMixin$b.event,computeStars=function(stars){return mathMax(3,toInteger(stars,5))},clampValue=function(value,min,max){return mathMax(mathMin(value,max),min)},BVFormRatingStar=extend({name:"BVFormRatingStar",mixins:[normalizeSlotMixin],props:{disabled:makeProp(PROP_TYPE_BOOLEAN,!1),focused:makeProp(PROP_TYPE_BOOLEAN,!1),hasClear:makeProp(PROP_TYPE_BOOLEAN,!1),rating:makeProp(PROP_TYPE_NUMBER,0),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),star:makeProp(PROP_TYPE_NUMBER,0),variant:makeProp(PROP_TYPE_STRING)},methods:{onClick:function(event){this.disabled||this.readonly||(stopEvent(event,{propagation:!1}),this.$emit("selected",this.star))}},render:function(h){var rating=this.rating,star=this.star,focused=this.focused,hasClear=this.hasClear,variant=this.variant,disabled=this.disabled,readonly=this.readonly,minStar=hasClear?0:1,type=rating>=star?"full":rating>=star-.5?"half":"empty",slotScope={variant:variant,disabled:disabled,readonly:readonly};return h("span",{staticClass:"b-rating-star",class:{focused:focused&&rating===star||!toInteger(rating)&&star===minStar,"b-rating-star-empty":"empty"===type,"b-rating-star-half":"half"===type,"b-rating-star-full":"full"===type},attrs:{tabindex:disabled||readonly?null:"-1"},on:{click:this.onClick}},[h("span",{staticClass:"b-rating-icon"},[this.normalizeSlot(type,slotScope)])])}}),props$1i=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$a),omit(props$1x,["required","autofocus"])),props$1v),{},{color:makeProp(PROP_TYPE_STRING),iconClear:makeProp(PROP_TYPE_STRING,"x"),iconEmpty:makeProp(PROP_TYPE_STRING,"star"),iconFull:makeProp(PROP_TYPE_STRING,"star-fill"),iconHalf:makeProp(PROP_TYPE_STRING,"star-half"),inline:makeProp(PROP_TYPE_BOOLEAN,!1),locale:makeProp(PROP_TYPE_ARRAY_STRING),noBorder:makeProp(PROP_TYPE_BOOLEAN,!1),precision:makeProp(PROP_TYPE_NUMBER_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),showClear:makeProp(PROP_TYPE_BOOLEAN,!1),showValue:makeProp(PROP_TYPE_BOOLEAN,!1),showValueMax:makeProp(PROP_TYPE_BOOLEAN,!1),stars:makeProp(PROP_TYPE_NUMBER_STRING,5,(function(value){return toInteger(value)>=3})),variant:makeProp(PROP_TYPE_STRING)})),"BFormRating"),BFormRating=extend({name:"BFormRating",components:{BIconStar:BIconStar,BIconStarHalf:BIconStarHalf,BIconStarFill:BIconStarFill,BIconX:BIconX},mixins:[idMixin,modelMixin$a,formSizeMixin],props:props$1i,data:function(){var value=toFloat(this[MODEL_PROP_NAME$a],null),stars=computeStars(this.stars);return{localValue:isNull(value)?null:clampValue(value,0,stars),hasFocus:!1}},computed:{computedStars:function(){return computeStars(this.stars)},computedRating:function(){var value=toFloat(this.localValue,0),precision=toInteger(this.precision,3);return clampValue(toFloat(value.toFixed(precision)),0,this.computedStars)},computedLocale:function(){var locales=concat(this.locale).filter(identity);return new Intl.NumberFormat(locales).resolvedOptions().locale},isInteractive:function(){return!this.disabled&&!this.readonly},isRTL:function(){return isLocaleRTL(this.computedLocale)},formattedRating:function(){var precision=toInteger(this.precision),showValueMax=this.showValueMax,locale=this.computedLocale,formatOptions={notation:"standard",minimumFractionDigits:isNaN(precision)?0:precision,maximumFractionDigits:isNaN(precision)?3:precision},stars=this.computedStars.toLocaleString(locale),value=this.localValue;return value=isNull(value)?showValueMax?"-":"":value.toLocaleString(locale,formatOptions),showValueMax?"".concat(value,"/").concat(stars):value}},watch:(_watch$b={},_defineProperty(_watch$b,MODEL_PROP_NAME$a,(function(newValue,oldValue){if(newValue!==oldValue){var value=toFloat(newValue,null);this.localValue=isNull(value)?null:clampValue(value,0,this.computedStars)}})),_defineProperty(_watch$b,"localValue",(function(newValue,oldValue){newValue!==oldValue&&newValue!==(this.value||0)&&this.$emit(MODEL_EVENT_NAME$a,newValue||null)})),_defineProperty(_watch$b,"disabled",(function(newValue){newValue&&(this.hasFocus=!1,this.blur())})),_watch$b),methods:{focus:function(){this.disabled||attemptFocus(this.$el)},blur:function(){this.disabled||attemptBlur(this.$el)},onKeydown:function(event){var keyCode=event.keyCode;if(this.isInteractive&&arrayIncludes([CODE_LEFT,CODE_DOWN,CODE_RIGHT,CODE_UP],keyCode)){stopEvent(event,{propagation:!1});var value=toInteger(this.localValue,0),min=this.showClear?0:1,stars=this.computedStars,amountRtl=this.isRTL?-1:1;keyCode===CODE_LEFT?this.localValue=clampValue(value-amountRtl,min,stars)||null:keyCode===CODE_RIGHT?this.localValue=clampValue(value+amountRtl,min,stars):keyCode===CODE_DOWN?this.localValue=clampValue(value-1,min,stars)||null:keyCode===CODE_UP&&(this.localValue=clampValue(value+1,min,stars))}},onSelected:function(value){this.isInteractive&&(this.localValue=value)},onFocus:function(event){this.hasFocus=!!this.isInteractive&&"focus"===event.type},renderIcon:function(icon){return this.$createElement(BIcon,{props:{icon:icon,variant:this.disabled||this.color?null:this.variant||null}})},iconEmptyFn:function(){return this.renderIcon(this.iconEmpty)},iconHalfFn:function(){return this.renderIcon(this.iconHalf)},iconFullFn:function(){return this.renderIcon(this.iconFull)},iconClearFn:function(){return this.$createElement(BIcon,{props:{icon:this.iconClear}})}},render:function(h){var _this=this,disabled=this.disabled,readonly=this.readonly,name=this.name,form=this.form,inline=this.inline,variant=this.variant,color=this.color,noBorder=this.noBorder,hasFocus=this.hasFocus,computedRating=this.computedRating,computedStars=this.computedStars,formattedRating=this.formattedRating,showClear=this.showClear,isRTL=this.isRTL,isInteractive=this.isInteractive,$scopedSlots=this.$scopedSlots,$content=[];if(showClear&&!disabled&&!readonly){var $icon=h("span",{staticClass:"b-rating-icon"},[($scopedSlots["icon-clear"]||this.iconClearFn)()]);$content.push(h("span",{staticClass:"b-rating-star b-rating-star-clear flex-grow-1",class:{focused:hasFocus&&0===computedRating},attrs:{tabindex:isInteractive?"-1":null},on:{click:function(){return _this.onSelected(null)}},key:"clear"},[$icon]))}for(var index=0;index1&&void 0!==arguments[1]?arguments[1]:null;if(isPlainObject(option)){var value=get(option,this.valueField),text=get(option,this.textField),options=get(option,this.optionsField,null);return isNull(options)?{value:isUndefined(value)?key||text:value,text:String(isUndefined(text)?key:text),html:get(option,this.htmlField),disabled:Boolean(get(option,this.disabledField))}:{label:String(get(option,this.labelField)||text),options:this.normalizeOptions(options)}}return{value:key||option,text:String(option),disabled:!1}}}}),props$1f=makePropsConfigurable({disabled:makeProp(PROP_TYPE_BOOLEAN,!1),value:makeProp(undefined,void 0,!0)},"BFormSelectOption"),BFormSelectOption=extend({name:"BFormSelectOption",functional:!0,props:props$1f,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,value=props.value;return h("option",a(data,{attrs:{disabled:props.disabled},domProps:{value:value}}),children)}}),props$1e=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1D),{},{label:makeProp(PROP_TYPE_STRING,void 0,!0)})),"BFormSelectOptionGroup"),BFormSelectOptionGroup=extend({name:"BFormSelectOptionGroup",mixins:[normalizeSlotMixin,formOptionsMixin],props:props$1e,render:function(h){var label=this.label,$options=this.formOptions.map((function(option,index){var value=option.value,text=option.text,html=option.html,disabled=option.disabled;return h(BFormSelectOption,{attrs:{value:value,disabled:disabled},domProps:htmlOrText(html,text),key:"option_".concat(index)})}));return h("optgroup",{attrs:{label:label}},[this.normalizeSlot("first"),$options,this.normalizeSlot()])}}),props$1d=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1h),props$1x),props$1w),props$1v),props$1u),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),multiple:makeProp(PROP_TYPE_BOOLEAN,!1),selectSize:makeProp(PROP_TYPE_NUMBER,0)})),"BFormSelect"),BFormSelect=extend({name:"BFormSelect",mixins:[idMixin,mixin,formControlMixin,formSizeMixin,formStateMixin,formCustomMixin,optionsMixin,normalizeSlotMixin],props:props$1d,data:function(){return{localValue:this[prop]}},computed:{computedSelectSize:function(){return this.plain||0!==this.selectSize?this.selectSize:null},inputClass:function(){return[this.plain?"form-control":"custom-select",this.size&&this.plain?"form-control-".concat(this.size):null,this.size&&!this.plain?"custom-select-".concat(this.size):null,this.stateClass]}},watch:{value:function(newValue){this.localValue=newValue},localValue:function(){this.$emit(event,this.localValue)}},methods:{focus:function(){attemptFocus(this.$refs.input)},blur:function(){attemptBlur(this.$refs.input)},onChange:function(event){var _this=this,target=event.target,selectedValue=from(target.options).filter((function(o){return o.selected})).map((function(o){return"_value"in o?o._value:o.value}));this.localValue=target.multiple?selectedValue:selectedValue[0],this.$nextTick((function(){_this.$emit("change",_this.localValue)}))}},render:function(h){var name=this.name,disabled=this.disabled,required=this.required,size=this.computedSelectSize,value=this.localValue,$options=this.formOptions.map((function(option,index){var value=option.value,label=option.label,options=option.options,disabled=option.disabled,key="option_".concat(index);return isArray(options)?h(BFormSelectOptionGroup,{props:{label:label,options:options},key:key}):h(BFormSelectOption,{props:{value:value,disabled:disabled},domProps:htmlOrText(option.html,option.text),key:key})}));return h("select",{class:this.inputClass,attrs:{id:this.safeId(),name:name,form:this.form||null,multiple:this.multiple||null,size:size,disabled:disabled,required:required,"aria-required":required?"true":null,"aria-invalid":this.computedAriaInvalid},on:{change:this.onChange},directives:[{name:"model",value:value}],ref:"input"},[this.normalizeSlot("first"),$options,this.normalizeSlot()])}}),FormSelectPlugin=pluginFactory({components:{BFormSelect:BFormSelect,BFormSelectOption:BFormSelectOption,BFormSelectOptionGroup:BFormSelectOptionGroup,BSelect:BFormSelect,BSelectOption:BFormSelectOption,BSelectOptionGroup:BFormSelectOptionGroup}}),_makeModelMixin$9=makeModelMixin("value",{type:PROP_TYPE_BOOLEAN_NUMBER}),modelMixin$9=_makeModelMixin$9.mixin,modelProps$9=_makeModelMixin$9.props,MODEL_PROP_NAME$9=_makeModelMixin$9.prop,MODEL_EVENT_NAME$9=_makeModelMixin$9.event,KEY_CODES=[CODE_UP,CODE_DOWN,CODE_HOME,CODE_END,33,34],props$1c=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$9),omit(props$1x,["required","autofocus"])),props$1v),props$1u),{},{ariaControls:makeProp(PROP_TYPE_STRING),ariaLabel:makeProp(PROP_TYPE_STRING),formatterFn:makeProp(PROP_TYPE_FUNCTION),inline:makeProp(PROP_TYPE_BOOLEAN,!1),labelDecrement:makeProp(PROP_TYPE_STRING,"Decrement"),labelIncrement:makeProp(PROP_TYPE_STRING,"Increment"),locale:makeProp(PROP_TYPE_ARRAY_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,100),min:makeProp(PROP_TYPE_NUMBER_STRING,1),placeholder:makeProp(PROP_TYPE_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),repeatDelay:makeProp(PROP_TYPE_NUMBER_STRING,500),repeatInterval:makeProp(PROP_TYPE_NUMBER_STRING,100),repeatStepMultiplier:makeProp(PROP_TYPE_NUMBER_STRING,4),repeatThreshold:makeProp(PROP_TYPE_NUMBER_STRING,10),step:makeProp(PROP_TYPE_NUMBER_STRING,1),vertical:makeProp(PROP_TYPE_BOOLEAN,!1),wrap:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BFormSpinbutton"),BFormSpinbutton=extend({name:"BFormSpinbutton",mixins:[attrsMixin,idMixin,modelMixin$9,formSizeMixin,formStateMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$1c,data:function(){return{localValue:toFloat(this[MODEL_PROP_NAME$9],null),hasFocus:!1}},computed:{required:function(){return!1},spinId:function(){return this.safeId()},computedInline:function(){return this.inline&&!this.vertical},computedReadonly:function(){return this.readonly&&!this.disabled},computedRequired:function(){return this.required&&!this.computedReadonly&&!this.disabled},computedStep:function(){return toFloat(this.step,1)},computedMin:function(){return toFloat(this.min,1)},computedMax:function(){var max=toFloat(this.max,100),step=this.computedStep,min=this.computedMin;return mathFloor((max-min)/step)*step+min},computedDelay:function(){var delay=toInteger(this.repeatDelay,0);return delay>0?delay:500},computedInterval:function(){var interval=toInteger(this.repeatInterval,0);return interval>0?interval:100},computedThreshold:function(){return mathMax(toInteger(this.repeatThreshold,10),1)},computedStepMultiplier:function(){return mathMax(toInteger(this.repeatStepMultiplier,4),1)},computedPrecision:function(){var step=this.computedStep;return mathFloor(step)===step?0:(step.toString().split(".")[1]||"").length},computedMultiplier:function(){return mathPow(10,this.computedPrecision||0)},valueAsFixed:function(){var value=this.localValue;return isNull(value)?"":value.toFixed(this.computedPrecision)},computedLocale:function(){var locales=concat(this.locale).filter(identity);return new Intl.NumberFormat(locales).resolvedOptions().locale},computedRTL:function(){return isLocaleRTL(this.computedLocale)},defaultFormatter:function(){var precision=this.computedPrecision;return new Intl.NumberFormat(this.computedLocale,{style:"decimal",useGrouping:!1,minimumIntegerDigits:1,minimumFractionDigits:precision,maximumFractionDigits:precision,notation:"standard"}).format},computedFormatter:function(){var formatterFn=this.formatterFn;return hasPropFunction(formatterFn)?formatterFn:this.defaultFormatter},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{role:"group",lang:this.computedLocale,tabindex:this.disabled?null:"-1",title:this.ariaLabel})},computedSpinAttrs:function(){var spinId=this.spinId,value=this.localValue,required=this.computedRequired,disabled=this.disabled,state=this.state,computedFormatter=this.computedFormatter,hasValue=!isNull(value);return _objectSpread2$3(_objectSpread2$3({dir:this.computedRTL?"rtl":"ltr"},this.bvAttrs),{},{id:spinId,role:"spinbutton",tabindex:disabled?null:"0","aria-live":"off","aria-label":this.ariaLabel||null,"aria-controls":this.ariaControls||null,"aria-invalid":!1===state||!hasValue&&required?"true":null,"aria-required":required?"true":null,"aria-valuemin":toString(this.computedMin),"aria-valuemax":toString(this.computedMax),"aria-valuenow":hasValue?value:null,"aria-valuetext":hasValue?computedFormatter(value):null})}},watch:(_watch$a={},_defineProperty(_watch$a,MODEL_PROP_NAME$9,(function(value){this.localValue=toFloat(value,null)})),_defineProperty(_watch$a,"localValue",(function(value){this.$emit(MODEL_EVENT_NAME$9,value)})),_defineProperty(_watch$a,"disabled",(function(_disabled){_disabled&&this.clearRepeat()})),_defineProperty(_watch$a,"readonly",(function(_readonly){_readonly&&this.clearRepeat()})),_watch$a),created:function(){this.$_autoDelayTimer=null,this.$_autoRepeatTimer=null,this.$_keyIsDown=!1},beforeDestroy:function(){this.clearRepeat()},deactivated:function(){this.clearRepeat()},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.spinner)},blur:function(){this.disabled||attemptBlur(this.$refs.spinner)},emitChange:function(){this.$emit("change",this.localValue)},stepValue:function(direction){var value=this.localValue;if(!this.disabled&&!isNull(value)){var step=this.computedStep*direction,min=this.computedMin,max=this.computedMax,multiplier=this.computedMultiplier,wrap=this.wrap;value=mathRound((value-min)/step)*step+min+step,value=mathRound(value*multiplier)/multiplier,this.localValue=value>max?wrap?min:max:value0&&void 0!==arguments[0]?arguments[0]:1,value=this.localValue;isNull(value)?this.localValue=this.computedMin:this.stepValue(1*multiplier)},stepDown:function(){var multiplier=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,value=this.localValue;isNull(value)?this.localValue=this.wrap?this.computedMax:this.computedMin:this.stepValue(-1*multiplier)},onKeydown:function(event){var keyCode=event.keyCode,altKey=event.altKey,ctrlKey=event.ctrlKey,metaKey=event.metaKey;if(!(this.disabled||this.readonly||altKey||ctrlKey||metaKey)&&arrayIncludes(KEY_CODES,keyCode)){if(stopEvent(event,{propagation:!1}),this.$_keyIsDown)return;this.resetTimers(),arrayIncludes([CODE_UP,CODE_DOWN],keyCode)?(this.$_keyIsDown=!0,keyCode===CODE_UP?this.handleStepRepeat(event,this.stepUp):keyCode===CODE_DOWN&&this.handleStepRepeat(event,this.stepDown)):33===keyCode?this.stepUp(this.computedStepMultiplier):34===keyCode?this.stepDown(this.computedStepMultiplier):keyCode===CODE_HOME?this.localValue=this.computedMin:keyCode===CODE_END&&(this.localValue=this.computedMax)}},onKeyup:function(event){var keyCode=event.keyCode,altKey=event.altKey,ctrlKey=event.ctrlKey,metaKey=event.metaKey;this.disabled||this.readonly||altKey||ctrlKey||metaKey||arrayIncludes(KEY_CODES,keyCode)&&(stopEvent(event,{propagation:!1}),this.resetTimers(),this.$_keyIsDown=!1,this.emitChange())},handleStepRepeat:function(event,stepper){var _this=this,_ref=event||{},type=_ref.type,button=_ref.button;if(!this.disabled&&!this.readonly){if("mousedown"===type&&button)return;this.resetTimers(),stepper(1);var threshold=this.computedThreshold,multiplier=this.computedStepMultiplier,delay=this.computedDelay,interval=this.computedInterval;this.$_autoDelayTimer=setTimeout((function(){var count=0;_this.$_autoRepeatTimer=setInterval((function(){stepper(count0&&arr.indexOf(tag)===index}))},processEventValue=function(event){return isString(event)?event:isEvent(event)&&event.target.value||""},props$1a=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$8),props$1x),props$1v),props$1u),{},{addButtonText:makeProp(PROP_TYPE_STRING,"Add"),addButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),addOnChange:makeProp(PROP_TYPE_BOOLEAN,!1),duplicateTagText:makeProp(PROP_TYPE_STRING,"Duplicate tag(s)"),feedbackAriaLive:makeProp(PROP_TYPE_STRING,"assertive"),ignoreInputFocusSelector:makeProp(PROP_TYPE_ARRAY_STRING,DEFAULT_INPUT_FOCUS_SELECTOR),inputAttrs:makeProp(PROP_TYPE_OBJECT,{}),inputClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),inputId:makeProp(PROP_TYPE_STRING),inputType:makeProp(PROP_TYPE_STRING,"text",(function(value){return arrayIncludes(TYPES,value)})),invalidTagText:makeProp(PROP_TYPE_STRING,"Invalid tag(s)"),limit:makeProp(PROP_TYPE_NUMBER),limitTagsText:makeProp(PROP_TYPE_STRING,"Tag limit reached"),noAddOnEnter:makeProp(PROP_TYPE_BOOLEAN,!1),noOuterFocus:makeProp(PROP_TYPE_BOOLEAN,!1),noTagRemove:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING,"Add tag..."),removeOnDelete:makeProp(PROP_TYPE_BOOLEAN,!1),separator:makeProp(PROP_TYPE_ARRAY_STRING),tagClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tagPills:makeProp(PROP_TYPE_BOOLEAN,!1),tagRemoveLabel:makeProp(PROP_TYPE_STRING,"Remove tag"),tagRemovedLabel:makeProp(PROP_TYPE_STRING,"Tag removed"),tagValidator:makeProp(PROP_TYPE_FUNCTION),tagVariant:makeProp(PROP_TYPE_STRING,"secondary")})),"BFormTags"),BFormTags=extend({name:"BFormTags",mixins:[listenersMixin,idMixin,modelMixin$8,formControlMixin,formSizeMixin,formStateMixin,normalizeSlotMixin],props:props$1a,data:function(){return{hasFocus:!1,newTag:"",tags:[],removedTags:[],tagsState:{all:[],valid:[],invalid:[],duplicate:[]},focusState:null}},computed:{computedInputId:function(){return this.inputId||this.safeId("__input__")},computedInputType:function(){return arrayIncludes(TYPES,this.inputType)?this.inputType:"text"},computedInputAttrs:function(){var disabled=this.disabled,form=this.form;return _objectSpread2$3(_objectSpread2$3({},this.inputAttrs),{},{id:this.computedInputId,value:this.newTag,disabled:disabled,form:form})},computedInputHandlers:function(){return _objectSpread2$3(_objectSpread2$3({},omit(this.bvListeners,["focusin","focusout"])),{},{blur:this.onInputBlur,change:this.onInputChange,focus:this.onInputFocus,input:this.onInputInput,keydown:this.onInputKeydown,reset:this.reset})},computedSeparator:function(){return concat(this.separator).filter(isString).filter(identity).join("")},computedSeparatorRegExp:function(){var separator=this.computedSeparator;return separator?new RegExp("[".concat(escapeRegExp(separator).replace(RX_SPACES,"\\s"),"]+")):null},computedJoiner:function(){var joiner=this.computedSeparator.charAt(0);return" "!==joiner?"".concat(joiner," "):joiner},computeIgnoreInputFocusSelector:function(){return concat(this.ignoreInputFocusSelector).filter(identity).join(",").trim()},disableAddButton:function(){var _this=this,newTag=trim(this.newTag);return""===newTag||!this.splitTags(newTag).some((function(t){return!arrayIncludes(_this.tags,t)&&_this.validateTag(t)}))},duplicateTags:function(){return this.tagsState.duplicate},hasDuplicateTags:function(){return this.duplicateTags.length>0},invalidTags:function(){return this.tagsState.invalid},hasInvalidTags:function(){return this.invalidTags.length>0},isLimitReached:function(){var limit=this.limit;return isNumber(limit)&&limit>=0&&this.tags.length>=limit}},watch:(_watch$9={},_defineProperty(_watch$9,MODEL_PROP_NAME$8,(function(newValue){this.tags=cleanTags(newValue)})),_defineProperty(_watch$9,"tags",(function(newValue,oldValue){looseEqual(newValue,this[MODEL_PROP_NAME$8])||this.$emit(MODEL_EVENT_NAME$8,newValue),looseEqual(newValue,oldValue)||(newValue=concat(newValue).filter(identity),oldValue=concat(oldValue).filter(identity),this.removedTags=oldValue.filter((function(old){return!arrayIncludes(newValue,old)})))})),_defineProperty(_watch$9,"tagsState",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("tag-state",newValue.valid,newValue.invalid,newValue.duplicate)})),_watch$9),created:function(){this.tags=cleanTags(this[MODEL_PROP_NAME$8])},mounted:function(){var $form=closest("form",this.$el);$form&&eventOn($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},beforeDestroy:function(){var $form=closest("form",this.$el);$form&&eventOff($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},methods:{addTag:function(newTag){if(newTag=isString(newTag)?newTag:this.newTag,!this.disabled&&""!==trim(newTag)&&!this.isLimitReached){var parsed=this.parseTags(newTag);if(parsed.valid.length>0||0===parsed.all.length)if(matches(this.getInput(),"select"))this.newTag="";else{var invalidAndDuplicates=[].concat(_toConsumableArray$1(parsed.invalid),_toConsumableArray$1(parsed.duplicate));this.newTag=parsed.all.filter((function(tag){return arrayIncludes(invalidAndDuplicates,tag)})).join(this.computedJoiner).concat(invalidAndDuplicates.length>0?this.computedJoiner.charAt(0):"")}parsed.valid.length>0&&(this.tags=concat(this.tags,parsed.valid)),this.tagsState=parsed,this.focus()}},removeTag:function(tag){this.disabled||(this.tags=this.tags.filter((function(t){return t!==tag})))},reset:function(){var _this2=this;this.newTag="",this.tags=[],this.$nextTick((function(){_this2.removedTags=[],_this2.tagsState={all:[],valid:[],invalid:[],duplicate:[]}}))},onInputInput:function(event){if(!(this.disabled||isEvent(event)&&event.target.composing)){var newTag=processEventValue(event),separatorRe=this.computedSeparatorRegExp;this.newTag!==newTag&&(this.newTag=newTag),newTag=toString(newTag).replace(RX_TRIM_LEFT,""),separatorRe&&separatorRe.test(newTag.slice(-1))?this.addTag():this.tagsState=""===newTag?{all:[],valid:[],invalid:[],duplicate:[]}:this.parseTags(newTag)}},onInputChange:function(event){if(!this.disabled&&this.addOnChange){var newTag=processEventValue(event);this.newTag!==newTag&&(this.newTag=newTag),this.addTag()}},onInputKeydown:function(event){if(!this.disabled&&isEvent(event)){var keyCode=event.keyCode,value=event.target.value||"";this.noAddOnEnter||keyCode!==CODE_ENTER?!this.removeOnDelete||8!==keyCode&&46!==keyCode||""!==value||(stopEvent(event,{propagation:!1}),this.tags=this.tags.slice(0,-1)):(stopEvent(event,{propagation:!1}),this.addTag())}},onClick:function(event){var _this3=this,ignoreFocusSelector=this.computeIgnoreInputFocusSelector;ignoreFocusSelector&&closest(ignoreFocusSelector,event.target,!0)||this.$nextTick((function(){_this3.focus()}))},onInputFocus:function(event){var _this4=this;"out"!==this.focusState&&(this.focusState="in",this.$nextTick((function(){requestAF((function(){_this4.hasFocus&&(_this4.$emit("focus",event),_this4.focusState=null)}))})))},onInputBlur:function(event){var _this5=this;"in"!==this.focusState&&(this.focusState="out",this.$nextTick((function(){requestAF((function(){_this5.hasFocus||(_this5.$emit("blur",event),_this5.focusState=null)}))})))},onFocusin:function(event){this.hasFocus=!0,this.$emit("focusin",event)},onFocusout:function(event){this.hasFocus=!1,this.$emit("focusout",event)},handleAutofocus:function(){var _this6=this;this.$nextTick((function(){requestAF((function(){_this6.autofocus&&_this6.focus()}))}))},focus:function(){this.disabled||attemptFocus(this.getInput())},blur:function(){this.disabled||attemptBlur(this.getInput())},splitTags:function(newTag){newTag=toString(newTag);var separatorRe=this.computedSeparatorRegExp;return(separatorRe?newTag.split(separatorRe):[newTag]).map(trim).filter(identity)},parseTags:function(newTag){var _this7=this,tags=this.splitTags(newTag),parsed={all:tags,valid:[],invalid:[],duplicate:[]};return tags.forEach((function(tag){arrayIncludes(_this7.tags,tag)||arrayIncludes(parsed.valid,tag)?arrayIncludes(parsed.duplicate,tag)||parsed.duplicate.push(tag):_this7.validateTag(tag)?parsed.valid.push(tag):arrayIncludes(parsed.invalid,tag)||parsed.invalid.push(tag)})),parsed},validateTag:function(tag){var tagValidator=this.tagValidator;return!hasPropFunction(tagValidator)||tagValidator(tag)},getInput:function(){return select("#".concat(cssEscape(this.computedInputId)),this.$el)},defaultRender:function(_ref){var addButtonText=_ref.addButtonText,addButtonVariant=_ref.addButtonVariant,addTag=_ref.addTag,disableAddButton=_ref.disableAddButton,disabled=_ref.disabled,duplicateTagText=_ref.duplicateTagText,inputAttrs=_ref.inputAttrs,inputClass=_ref.inputClass,inputHandlers=_ref.inputHandlers,inputType=_ref.inputType,invalidTagText=_ref.invalidTagText,isDuplicate=_ref.isDuplicate,isInvalid=_ref.isInvalid,isLimitReached=_ref.isLimitReached,limitTagsText=_ref.limitTagsText,noTagRemove=_ref.noTagRemove,placeholder=_ref.placeholder,removeTag=_ref.removeTag,tagClass=_ref.tagClass,tagPills=_ref.tagPills,tagRemoveLabel=_ref.tagRemoveLabel,tagVariant=_ref.tagVariant,tags=_ref.tags,h=this.$createElement,$tags=tags.map((function(tag){return tag=toString(tag),h(BFormTag,{class:tagClass,props:{disabled:disabled,noRemove:noTagRemove,pill:tagPills,removeLabel:tagRemoveLabel,tag:"li",title:tag,variant:tagVariant},on:{remove:function(){return removeTag(tag)}},key:"tags_".concat(tag)},tag)})),invalidFeedbackId=invalidTagText&&isInvalid?this.safeId("__invalid_feedback__"):null,duplicateFeedbackId=duplicateTagText&&isDuplicate?this.safeId("__duplicate_feedback__"):null,limitFeedbackId=limitTagsText&&isLimitReached?this.safeId("__limit_feedback__"):null,ariaDescribedby=[inputAttrs["aria-describedby"],invalidFeedbackId,duplicateFeedbackId,limitFeedbackId].filter(identity).join(" "),$input=h("input",{staticClass:"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0",class:inputClass,style:{outline:0,minWidth:"5rem"},attrs:_objectSpread2$3(_objectSpread2$3({},inputAttrs),{},{"aria-describedby":ariaDescribedby||null,type:inputType,placeholder:placeholder||null}),domProps:{value:inputAttrs.value},on:inputHandlers,directives:[{name:"model",value:inputAttrs.value}],ref:"input"}),$button=h(BButton,{staticClass:"b-form-tags-button py-0",class:{invisible:disableAddButton},style:{fontSize:"90%"},props:{disabled:disableAddButton||isLimitReached,variant:addButtonVariant},on:{click:function(){return addTag()}},ref:"button"},[this.normalizeSlot("add-button-text")||addButtonText]),tagListId=this.safeId("__tag_list__"),$field=h("li",{staticClass:"b-form-tags-field flex-grow-1",attrs:{role:"none","aria-live":"off","aria-controls":tagListId},key:"tags_field"},[h("div",{staticClass:"d-flex",attrs:{role:"group"}},[$input,$button])]),$ul=h("ul",{staticClass:"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center",attrs:{id:tagListId},key:"tags_list"},[$tags,$field]),$feedback=h();if(invalidTagText||duplicateTagText||limitTagsText){var ariaLive=this.feedbackAriaLive,joiner=this.computedJoiner,$invalid=h();invalidFeedbackId&&($invalid=h(BFormInvalidFeedback,{props:{id:invalidFeedbackId,ariaLive:ariaLive,forceShow:!0},key:"tags_invalid_feedback"},[this.invalidTagText,": ",this.invalidTags.join(joiner)]));var $duplicate=h();duplicateFeedbackId&&($duplicate=h(BFormText,{props:{id:duplicateFeedbackId,ariaLive:ariaLive},key:"tags_duplicate_feedback"},[this.duplicateTagText,": ",this.duplicateTags.join(joiner)]));var $limit=h();limitFeedbackId&&($limit=h(BFormText,{props:{id:limitFeedbackId,ariaLive:ariaLive},key:"tags_limit_feedback"},[limitTagsText])),$feedback=h("div",{attrs:{"aria-live":"polite","aria-atomic":"true"},key:"tags_feedback"},[$invalid,$duplicate,$limit])}return[$ul,$feedback]}},render:function(h){var name=this.name,disabled=this.disabled,required=this.required,form=this.form,tags=this.tags,computedInputId=this.computedInputId,hasFocus=this.hasFocus,noOuterFocus=this.noOuterFocus,scope=_objectSpread2$3({tags:tags.slice(),inputAttrs:this.computedInputAttrs,inputType:this.computedInputType,inputHandlers:this.computedInputHandlers,removeTag:this.removeTag,addTag:this.addTag,reset:this.reset,inputId:computedInputId,isInvalid:this.hasInvalidTags,invalidTags:this.invalidTags.slice(),isDuplicate:this.hasDuplicateTags,duplicateTags:this.duplicateTags.slice(),isLimitReached:this.isLimitReached,disableAddButton:this.disableAddButton},pick$1(this.$props,["addButtonText","addButtonVariant","disabled","duplicateTagText","form","inputClass","invalidTagText","limit","limitTagsText","noTagRemove","placeholder","required","separator","size","state","tagClass","tagPills","tagRemoveLabel","tagVariant"])),$content=this.normalizeSlot("default",scope)||this.defaultRender(scope),$output=h("output",{staticClass:"sr-only",attrs:{id:this.safeId("__selected_tags__"),role:"status",for:computedInputId,"aria-live":hasFocus?"polite":"off","aria-atomic":"true","aria-relevant":"additions text"}},this.tags.join(", ")),$removed=h("div",{staticClass:"sr-only",attrs:{id:this.safeId("__removed_tags__"),role:"status","aria-live":hasFocus?"assertive":"off","aria-atomic":"true"}},this.removedTags.length>0?"(".concat(this.tagRemovedLabel,") ").concat(this.removedTags.join(", ")):""),$hidden=h();if(name&&!disabled){var hasTags=tags.length>0;$hidden=(hasTags?tags:[""]).map((function(tag){return h("input",{class:{"sr-only":!hasTags},attrs:{type:hasTags?"hidden":"text",value:tag,required:required,name:name,form:form},key:"tag_input_".concat(tag)})}))}return h("div",{staticClass:"b-form-tags form-control h-auto",class:[{focus:hasFocus&&!noOuterFocus&&!disabled,disabled:disabled},this.sizeFormClass,this.stateClass],attrs:{id:this.safeId(),role:"group",tabindex:disabled||noOuterFocus?null:"-1","aria-describedby":this.safeId("__selected_tags__")},on:{click:this.onClick,focusin:this.onFocusin,focusout:this.onFocusout}},[$output,$removed,$content,$hidden])}}),FormTagsPlugin=pluginFactory({components:{BFormTags:BFormTags,BTags:BFormTags,BFormTag:BFormTag,BTag:BFormTag}}),props$19=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1x),props$1v),props$1u),props$1l),{},{maxRows:makeProp(PROP_TYPE_NUMBER_STRING),noAutoShrink:makeProp(PROP_TYPE_BOOLEAN,!1),noResize:makeProp(PROP_TYPE_BOOLEAN,!1),rows:makeProp(PROP_TYPE_NUMBER_STRING,2),wrap:makeProp(PROP_TYPE_STRING,"soft")})),"BFormTextarea"),BFormTextarea=extend({name:"BFormTextarea",directives:{"b-visible":VBVisible},mixins:[listenersMixin,idMixin,listenOnRootMixin,formControlMixin,formSizeMixin,formStateMixin,formTextMixin,formSelectionMixin,formValidityMixin],props:props$19,data:function(){return{heightInPx:null}},computed:{type:function(){return null},computedStyle:function(){var styles={resize:!this.computedRows||this.noResize?"none":null};return this.computedRows||(styles.height=this.heightInPx,styles.overflowY="scroll"),styles},computedMinRows:function(){return mathMax(toInteger(this.rows,2),2)},computedMaxRows:function(){return mathMax(this.computedMinRows,toInteger(this.maxRows,0))},computedRows:function(){return this.computedMinRows===this.computedMaxRows?this.computedMinRows:null},computedAttrs:function(){var disabled=this.disabled,required=this.required;return{id:this.safeId(),name:this.name||null,form:this.form||null,disabled:disabled,placeholder:this.placeholder||null,required:required,autocomplete:this.autocomplete||null,readonly:this.readonly||this.plaintext,rows:this.computedRows,wrap:this.wrap||null,"aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid}},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{input:this.onInput,change:this.onChange,blur:this.onBlur})}},watch:{localValue:function(){this.setHeight()}},mounted:function(){this.setHeight()},methods:{visibleCallback:function(visible){visible&&this.$nextTick(this.setHeight)},setHeight:function(){var _this=this;this.$nextTick((function(){requestAF((function(){_this.heightInPx=_this.computeHeight()}))}))},computeHeight:function(){if(this.$isServer||!isNull(this.computedRows))return null;var el=this.$el;if(!isVisible(el))return null;var computedStyle=getCS(el),lineHeight=toFloat(computedStyle.lineHeight,1),border=toFloat(computedStyle.borderTopWidth,0)+toFloat(computedStyle.borderBottomWidth,0),padding=toFloat(computedStyle.paddingTop,0)+toFloat(computedStyle.paddingBottom,0),offset=border+padding,minHeight=lineHeight*this.computedMinRows+offset,oldHeight=getStyle(el,"height")||computedStyle.height;setStyle(el,"height","auto");var scrollHeight=el.scrollHeight;setStyle(el,"height",oldHeight);var contentRows=mathMax((scrollHeight-padding)/lineHeight,2),rows=mathMin(mathMax(contentRows,this.computedMinRows),this.computedMaxRows),height=mathMax(mathCeil(rows*lineHeight+offset),minHeight);return this.noAutoShrink&&toFloat(oldHeight,0)>height?oldHeight:"".concat(height,"px")}},render:function(h){return h("textarea",{class:this.computedClass,style:this.computedStyle,directives:[{name:"b-visible",value:this.visibleCallback,modifiers:{640:!0}}],attrs:this.computedAttrs,domProps:{value:this.localValue},on:this.computedListeners,ref:"input"})}}),FormTextareaPlugin=pluginFactory({components:{BFormTextarea:BFormTextarea,BTextarea:BFormTextarea}}),_makeModelMixin$7=makeModelMixin("value",{type:PROP_TYPE_STRING,defaultValue:""}),modelMixin$7=_makeModelMixin$7.mixin,modelProps$7=_makeModelMixin$7.props,MODEL_PROP_NAME$7=_makeModelMixin$7.prop,MODEL_EVENT_NAME$7=_makeModelMixin$7.event,padLeftZeros=function(value){return"00".concat(value||"").slice(-2)},parseHMS=function(value){value=toString(value);var hh=null,mm=null,ss=null;if(RX_TIME.test(value)){var _value$split$map2=_slicedToArray(value.split(":").map((function(v){return toInteger(v,null)})),3);hh=_value$split$map2[0],mm=_value$split$map2[1],ss=_value$split$map2[2]}return{hours:isUndefinedOrNull(hh)?null:hh,minutes:isUndefinedOrNull(mm)?null:mm,seconds:isUndefinedOrNull(ss)?null:ss,ampm:isUndefinedOrNull(hh)||hh<12?0:1}},props$18=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$7),pick$1(props$1c,["labelIncrement","labelDecrement"])),{},{ariaLabelledby:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),footerTag:makeProp(PROP_TYPE_STRING,"footer"),headerTag:makeProp(PROP_TYPE_STRING,"header"),hidden:makeProp(PROP_TYPE_BOOLEAN,!1),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),hour12:makeProp(PROP_TYPE_BOOLEAN,null),labelAm:makeProp(PROP_TYPE_STRING,"AM"),labelAmpm:makeProp(PROP_TYPE_STRING,"AM/PM"),labelHours:makeProp(PROP_TYPE_STRING,"Hours"),labelMinutes:makeProp(PROP_TYPE_STRING,"Minutes"),labelNoTimeSelected:makeProp(PROP_TYPE_STRING,"No time selected"),labelPm:makeProp(PROP_TYPE_STRING,"PM"),labelSeconds:makeProp(PROP_TYPE_STRING,"Seconds"),labelSelected:makeProp(PROP_TYPE_STRING,"Selected time"),locale:makeProp(PROP_TYPE_ARRAY_STRING),minutesStep:makeProp(PROP_TYPE_NUMBER_STRING,1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),secondsStep:makeProp(PROP_TYPE_NUMBER_STRING,1),showSeconds:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BTime"),BTime=extend({name:"BTime",mixins:[idMixin,modelMixin$7,normalizeSlotMixin],props:props$18,data:function(){var parsed=parseHMS(this[MODEL_PROP_NAME$7]||"");return{modelHours:parsed.hours,modelMinutes:parsed.minutes,modelSeconds:parsed.seconds,modelAmpm:parsed.ampm,isLive:!1}},computed:{computedHMS:function(){return function(_ref){var hours=_ref.hours,minutes=_ref.minutes,seconds=_ref.seconds,requireSeconds=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return isNull(hours)||isNull(minutes)||requireSeconds&&isNull(seconds)?"":[hours,minutes,requireSeconds?seconds:0].map(padLeftZeros).join(":")}({hours:this.modelHours,minutes:this.modelMinutes,seconds:this.modelSeconds},this.showSeconds)},resolvedOptions:function(){var locale=concat(this.locale).filter(identity),options={hour:"numeric",minute:"numeric",second:"numeric"};isUndefinedOrNull(this.hour12)||(options.hour12=!!this.hour12);var resolved=new Intl.DateTimeFormat(locale,options).resolvedOptions(),hour12=resolved.hour12||!1,hourCycle=resolved.hourCycle||(hour12?"h12":"h23");return{locale:resolved.locale,hour12:hour12,hourCycle:hourCycle}},computedLocale:function(){return this.resolvedOptions.locale},computedLang:function(){return(this.computedLocale||"").replace(/-u-.*$/,"")},computedRTL:function(){return isLocaleRTL(this.computedLang)},computedHourCycle:function(){return this.resolvedOptions.hourCycle},is12Hour:function(){return!!this.resolvedOptions.hour12},context:function(){return{locale:this.computedLocale,isRTL:this.computedRTL,hourCycle:this.computedHourCycle,hour12:this.is12Hour,hours:this.modelHours,minutes:this.modelMinutes,seconds:this.showSeconds?this.modelSeconds:0,value:this.computedHMS,formatted:this.formattedTimeString}},valueId:function(){return this.safeId()||null},computedAriaLabelledby:function(){return[this.ariaLabelledby,this.valueId].filter(identity).join(" ")||null},timeFormatter:function(){var options={hour12:this.is12Hour,hourCycle:this.computedHourCycle,hour:"numeric",minute:"numeric",timeZone:"UTC"};return this.showSeconds&&(options.second="numeric"),createDateFormatter(this.computedLocale,options)},numberFormatter:function(){return new Intl.NumberFormat(this.computedLocale,{style:"decimal",minimumIntegerDigits:2,minimumFractionDigits:0,maximumFractionDigits:0,notation:"standard"}).format},formattedTimeString:function(){var hours=this.modelHours,minutes=this.modelMinutes,seconds=this.showSeconds&&this.modelSeconds||0;return this.computedHMS?this.timeFormatter(createDate(Date.UTC(0,0,1,hours,minutes,seconds))):this.labelNoTimeSelected||" "},spinScopedSlots:function(){var h=this.$createElement;return{increment:function(_ref2){var hasFocus=_ref2.hasFocus;return h(BIconChevronUp,{props:{scale:hasFocus?1.5:1.25},attrs:{"aria-hidden":"true"}})},decrement:function(_ref3){var hasFocus=_ref3.hasFocus;return h(BIconChevronUp,{props:{flipV:!0,scale:hasFocus?1.5:1.25},attrs:{"aria-hidden":"true"}})}}}},watch:(_watch$8={},_defineProperty(_watch$8,MODEL_PROP_NAME$7,(function(newValue,oldValue){if(newValue!==oldValue&&!looseEqual(parseHMS(newValue),parseHMS(this.computedHMS))){var _parseHMS=parseHMS(newValue),hours=_parseHMS.hours,minutes=_parseHMS.minutes,seconds=_parseHMS.seconds,ampm=_parseHMS.ampm;this.modelHours=hours,this.modelMinutes=minutes,this.modelSeconds=seconds,this.modelAmpm=ampm}})),_defineProperty(_watch$8,"computedHMS",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(MODEL_EVENT_NAME$7,newValue)})),_defineProperty(_watch$8,"context",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("context",newValue)})),_defineProperty(_watch$8,"modelAmpm",(function(newValue,oldValue){var _this=this;if(newValue!==oldValue){var hours=isNull(this.modelHours)?0:this.modelHours;this.$nextTick((function(){0===newValue&&hours>11?_this.modelHours=hours-12:1===newValue&&hours<12&&(_this.modelHours=hours+12)}))}})),_defineProperty(_watch$8,"modelHours",(function(newHours,oldHours){newHours!==oldHours&&(this.modelAmpm=newHours>11?1:0)})),_watch$8),created:function(){var _this2=this;this.$nextTick((function(){_this2.$emit("context",_this2.context)}))},mounted:function(){this.setLive(!0)},activated:function(){this.setLive(!0)},deactivated:function(){this.setLive(!1)},beforeDestroy:function(){this.setLive(!1)},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.spinners[0])},blur:function(){if(!this.disabled){var activeElement=getActiveElement();contains(this.$el,activeElement)&&attemptBlur(activeElement)}},formatHours:function(hh){var hourCycle=this.computedHourCycle;return hh=0===(hh=this.is12Hour&&hh>12?hh-12:hh)&&"h12"===hourCycle?12:0===hh&&"h24"===hourCycle?24:12===hh&&"h11"===hourCycle?0:hh,this.numberFormatter(hh)},formatMinutes:function(mm){return this.numberFormatter(mm)},formatSeconds:function(ss){return this.numberFormatter(ss)},formatAmpm:function(ampm){return 0===ampm?this.labelAm:1===ampm?this.labelPm:""},setHours:function(value){this.modelHours=value},setMinutes:function(value){this.modelMinutes=value},setSeconds:function(value){this.modelSeconds=value},setAmpm:function(value){this.modelAmpm=value},onSpinLeftRight:function(){var event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},type=event.type,keyCode=event.keyCode;if(!this.disabled&&"keydown"===type&&(keyCode===CODE_LEFT||keyCode===CODE_RIGHT)){stopEvent(event);var spinners=this.$refs.spinners||[],index=spinners.map((function(cmp){return!!cmp.hasFocus})).indexOf(!0);index=(index+=keyCode===CODE_LEFT?-1:1)>=spinners.length?0:index<0?spinners.length-1:index,attemptFocus(spinners[index])}},setLive:function(on){var _this3=this;on?this.$nextTick((function(){requestAF((function(){_this3.isLive=!0}))})):this.isLive=!1}},render:function(h){var _this4=this;if(this.hidden)return h();var disabled=this.disabled,readonly=this.readonly,locale=this.computedLocale,ariaLabelledby=this.computedAriaLabelledby,labelIncrement=this.labelIncrement,labelDecrement=this.labelDecrement,valueId=this.valueId,focusHandler=this.focus,spinIds=[],makeSpinbutton=function(handler,key,classes){var spinbuttonProps=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},id=_this4.safeId("_spinbutton_".concat(key,"_"))||null;return spinIds.push(id),h(BFormSpinbutton,_defineProperty({class:classes,props:_objectSpread2$3({id:id,placeholder:"--",vertical:!0,required:!0,disabled:disabled,readonly:readonly,locale:locale,labelIncrement:labelIncrement,labelDecrement:labelDecrement,wrap:!0,ariaControls:valueId,min:0},spinbuttonProps),scopedSlots:_this4.spinScopedSlots,on:{change:handler},key:key,ref:"spinners"},REF_FOR_KEY,!0))},makeColon=function(){return h("div",{staticClass:"d-flex flex-column",class:{"text-muted":disabled||readonly},attrs:{"aria-hidden":"true"}},[h(BIconCircleFill,{props:{shiftV:4,scale:.5}}),h(BIconCircleFill,{props:{shiftV:-4,scale:.5}})])},$spinners=[];$spinners.push(makeSpinbutton(this.setHours,"hours","b-time-hours",{value:this.modelHours,max:23,step:1,formatterFn:this.formatHours,ariaLabel:this.labelHours})),$spinners.push(makeColon()),$spinners.push(makeSpinbutton(this.setMinutes,"minutes","b-time-minutes",{value:this.modelMinutes,max:59,step:this.minutesStep||1,formatterFn:this.formatMinutes,ariaLabel:this.labelMinutes})),this.showSeconds&&($spinners.push(makeColon()),$spinners.push(makeSpinbutton(this.setSeconds,"seconds","b-time-seconds",{value:this.modelSeconds,max:59,step:this.secondsStep||1,formatterFn:this.formatSeconds,ariaLabel:this.labelSeconds}))),this.isLive&&this.is12Hour&&$spinners.push(makeSpinbutton(this.setAmpm,"ampm","b-time-ampm",{value:this.modelAmpm,max:1,formatterFn:this.formatAmpm,ariaLabel:this.labelAmpm,required:!1})),$spinners=h("div",{staticClass:"d-flex align-items-center justify-content-center mx-auto",attrs:{role:"group",tabindex:disabled||readonly?null:"-1","aria-labelledby":ariaLabelledby},on:{keydown:this.onSpinLeftRight,click:function(event){event.target===event.currentTarget&&focusHandler()}}},$spinners);var $value=h("output",{staticClass:"form-control form-control-sm text-center",class:{disabled:disabled||readonly},attrs:{id:valueId,role:"status",for:spinIds.filter(identity).join(" ")||null,tabindex:disabled?null:"-1","aria-live":this.isLive?"polite":"off","aria-atomic":"true"},on:{click:focusHandler,focus:focusHandler}},[h("bdi",this.formattedTimeString),this.computedHMS?h("span",{staticClass:"sr-only"}," (".concat(this.labelSelected,") ")):""]),$header=h(this.headerTag,{staticClass:"b-time-header",class:{"sr-only":this.hideHeader}},[$value]),$content=this.normalizeSlot(),$footer=$content?h(this.footerTag,{staticClass:"b-time-footer"},$content):h();return h("div",{staticClass:"b-time d-inline-flex flex-column text-center",attrs:{role:"group",lang:this.computedLang||null,"aria-labelledby":ariaLabelledby||null,"aria-disabled":disabled?"true":null,"aria-readonly":readonly&&!disabled?"true":null}},[$header,$spinners,$footer])}}),_makeModelMixin$6=makeModelMixin("value",{type:PROP_TYPE_STRING,defaultValue:""}),modelMixin$6=_makeModelMixin$6.mixin,modelProps$6=_makeModelMixin$6.props,MODEL_PROP_NAME$6=_makeModelMixin$6.prop,MODEL_EVENT_NAME$6=_makeModelMixin$6.event,timeProps=omit(props$18,["hidden","id","value"]),formBtnLabelControlProps=omit(props$1o,["formattedValue","id","lang","rtl","value"]),props$17=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$6),timeProps),formBtnLabelControlProps),{},{closeButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),labelCloseButton:makeProp(PROP_TYPE_STRING,"Close"),labelNowButton:makeProp(PROP_TYPE_STRING,"Select now"),labelResetButton:makeProp(PROP_TYPE_STRING,"Reset"),noCloseButton:makeProp(PROP_TYPE_BOOLEAN,!1),nowButton:makeProp(PROP_TYPE_BOOLEAN,!1),nowButtonVariant:makeProp(PROP_TYPE_STRING,"outline-primary"),resetButton:makeProp(PROP_TYPE_BOOLEAN,!1),resetButtonVariant:makeProp(PROP_TYPE_STRING,"outline-danger"),resetValue:makeProp(PROP_TYPE_DATE_STRING)})),"BFormTimepicker"),BFormTimepicker=extend({name:"BFormTimepicker",mixins:[idMixin,modelMixin$6],props:props$17,data:function(){return{localHMS:this[MODEL_PROP_NAME$6]||"",localLocale:null,isRTL:!1,formattedValue:"",isVisible:!1}},computed:{computedLang:function(){return(this.localLocale||"").replace(/-u-.*$/i,"")||null}},watch:(_watch$7={},_defineProperty(_watch$7,MODEL_PROP_NAME$6,(function(newValue){this.localHMS=newValue||""})),_defineProperty(_watch$7,"localHMS",(function(newValue){this.isVisible&&this.$emit(MODEL_EVENT_NAME$6,newValue||"")})),_watch$7),methods:{focus:function(){this.disabled||attemptFocus(this.$refs.control)},blur:function(){this.disabled||attemptBlur(this.$refs.control)},setAndClose:function(value){var _this=this;this.localHMS=value,this.$nextTick((function(){_this.$refs.control.hide(!0)}))},onInput:function(hms){this.localHMS!==hms&&(this.localHMS=hms)},onContext:function(ctx){var isRTL=ctx.isRTL,locale=ctx.locale,value=ctx.value,formatted=ctx.formatted;this.isRTL=isRTL,this.localLocale=locale,this.formattedValue=formatted,this.localHMS=value||"",this.$emit("context",ctx)},onNowButton:function(){var now=new Date,value=[now.getHours(),now.getMinutes(),this.showSeconds?now.getSeconds():0].map((function(v){return"00".concat(v||"").slice(-2)})).join(":");this.setAndClose(value)},onResetButton:function(){this.setAndClose(this.resetValue)},onCloseButton:function(){this.$refs.control.hide(!0)},onShow:function(){this.isVisible=!0},onShown:function(){var _this2=this;this.$nextTick((function(){attemptFocus(_this2.$refs.time),_this2.$emit("shown")}))},onHidden:function(){this.isVisible=!1,this.$emit("hidden")},defaultButtonFn:function(_ref){var isHovered=_ref.isHovered,hasFocus=_ref.hasFocus;return this.$createElement(isHovered||hasFocus?BIconClockFill:BIconClock,{attrs:{"aria-hidden":"true"}})}},render:function(h){var localHMS=this.localHMS,disabled=this.disabled,readonly=this.readonly,$props=this.$props,placeholder=isUndefinedOrNull(this.placeholder)?this.labelNoTimeSelected:this.placeholder,$footer=[];if(this.nowButton){var label=this.labelNowButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled||readonly,variant:this.nowButtonVariant},attrs:{"aria-label":label||null},on:{click:this.onNowButton},key:"now-btn"},label))}if(this.resetButton){$footer.length>0&&$footer.push(h("span"," "));var _label=this.labelResetButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled||readonly,variant:this.resetButtonVariant},attrs:{"aria-label":_label||null},on:{click:this.onResetButton},key:"reset-btn"},_label))}if(!this.noCloseButton){$footer.length>0&&$footer.push(h("span"," "));var _label2=this.labelCloseButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled,variant:this.closeButtonVariant},attrs:{"aria-label":_label2||null},on:{click:this.onCloseButton},key:"close-btn"},_label2))}$footer.length>0&&($footer=[h("div",{staticClass:"b-form-date-controls d-flex flex-wrap",class:{"justify-content-between":$footer.length>1,"justify-content-end":$footer.length<2}},$footer)]);var $time=h(BTime,{staticClass:"b-form-time-control",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(timeProps,$props)),{},{value:localHMS,hidden:!this.isVisible}),on:{input:this.onInput,context:this.onContext},ref:"time"},$footer);return h(BVFormBtnLabelControl,{staticClass:"b-form-timepicker",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formBtnLabelControlProps,$props)),{},{id:this.safeId(),value:localHMS,formattedValue:localHMS?this.formattedValue:"",placeholder:placeholder,rtl:this.isRTL,lang:this.computedLang}),on:{show:this.onShow,shown:this.onShown,hidden:this.onHidden},scopedSlots:_defineProperty({},"button-content",this.$scopedSlots["button-content"]||this.defaultButtonFn),ref:"control"},[$time])}}),FormTimepickerPlugin=pluginFactory({components:{BFormTimepicker:BFormTimepicker,BTimepicker:BFormTimepicker}}),ImagePlugin=pluginFactory({components:{BImg:BImg,BImgLazy:BImgLazy}}),props$16=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroupText"),BInputGroupText=extend({name:"BInputGroupText",functional:!0,props:props$16,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"input-group-text"}),children)}}),props$15=makePropsConfigurable({append:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),isText:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroupAddon"),BInputGroupAddon=extend({name:"BInputGroupAddon",functional:!0,props:props$15,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,append=props.append;return h(props.tag,a(data,{class:{"input-group-append":append,"input-group-prepend":!append},attrs:{id:props.id}}),props.isText?[h(BInputGroupText,children)]:children)}}),props$14=makePropsConfigurable(omit(props$15,["append"]),"BInputGroupAppend"),BInputGroupAppend=extend({name:"BInputGroupAppend",functional:!0,props:props$14,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(BInputGroupAddon,a(data,{props:_objectSpread2$3(_objectSpread2$3({},props),{},{append:!0})}),children)}}),props$13=makePropsConfigurable(omit(props$15,["append"]),"BInputGroupPrepend"),BInputGroupPrepend=extend({name:"BInputGroupPrepend",functional:!0,props:props$13,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(BInputGroupAddon,a(data,{props:_objectSpread2$3(_objectSpread2$3({},props),{},{append:!1})}),children)}}),props$12=makePropsConfigurable({append:makeProp(PROP_TYPE_STRING),appendHtml:makeProp(PROP_TYPE_STRING),id:makeProp(PROP_TYPE_STRING),prepend:makeProp(PROP_TYPE_STRING),prependHtml:makeProp(PROP_TYPE_STRING),size:makeProp(PROP_TYPE_STRING),tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroup"),BInputGroup=extend({name:"BInputGroup",functional:!0,props:props$12,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,prepend=props.prepend,prependHtml=props.prependHtml,append=props.append,appendHtml=props.appendHtml,size=props.size,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$prepend=h(),hasPrependSlot=hasNormalizedSlot("prepend",$scopedSlots,$slots);(hasPrependSlot||prepend||prependHtml)&&($prepend=h(BInputGroupPrepend,[hasPrependSlot?normalizeSlot("prepend",slotScope,$scopedSlots,$slots):h(BInputGroupText,{domProps:htmlOrText(prependHtml,prepend)})]));var $append=h(),hasAppendSlot=hasNormalizedSlot("append",$scopedSlots,$slots);return(hasAppendSlot||append||appendHtml)&&($append=h(BInputGroupAppend,[hasAppendSlot?normalizeSlot("append",slotScope,$scopedSlots,$slots):h(BInputGroupText,{domProps:htmlOrText(appendHtml,append)})])),h(props.tag,a(data,{staticClass:"input-group",class:_defineProperty({},"input-group-".concat(size),size),attrs:{id:props.id||null,role:"group"}}),[$prepend,normalizeSlot("default",slotScope,$scopedSlots,$slots),$append])}}),InputGroupPlugin=pluginFactory({components:{BInputGroup:BInputGroup,BInputGroupAddon:BInputGroupAddon,BInputGroupPrepend:BInputGroupPrepend,BInputGroupAppend:BInputGroupAppend,BInputGroupText:BInputGroupText}}),props$11=makePropsConfigurable({fluid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BContainer"),BContainer=extend({name:"BContainer",functional:!0,props:props$11,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,fluid=props.fluid;return h(props.tag,a(data,{class:_defineProperty({container:!(fluid||""===fluid),"container-fluid":!0===fluid||""===fluid},"container-".concat(fluid),fluid&&!0!==fluid)}),children)}}),props$10=makePropsConfigurable({bgVariant:makeProp(PROP_TYPE_STRING),borderVariant:makeProp(PROP_TYPE_STRING),containerFluid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),fluid:makeProp(PROP_TYPE_BOOLEAN,!1),header:makeProp(PROP_TYPE_STRING),headerHtml:makeProp(PROP_TYPE_STRING),headerLevel:makeProp(PROP_TYPE_NUMBER_STRING,3),headerTag:makeProp(PROP_TYPE_STRING,"h1"),lead:makeProp(PROP_TYPE_STRING),leadHtml:makeProp(PROP_TYPE_STRING),leadTag:makeProp(PROP_TYPE_STRING,"p"),tag:makeProp(PROP_TYPE_STRING,"div"),textVariant:makeProp(PROP_TYPE_STRING)},"BJumbotron"),BJumbotron=extend({name:"BJumbotron",functional:!0,props:props$10,render:function(h,_ref){var _class2,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,header=props.header,headerHtml=props.headerHtml,lead=props.lead,leadHtml=props.leadHtml,textVariant=props.textVariant,bgVariant=props.bgVariant,borderVariant=props.borderVariant,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$header=h(),hasHeaderSlot=hasNormalizedSlot("header",$scopedSlots,$slots);if(hasHeaderSlot||header||headerHtml){var headerLevel=props.headerLevel;$header=h(props.headerTag,{class:_defineProperty({},"display-".concat(headerLevel),headerLevel),domProps:hasHeaderSlot?{}:htmlOrText(headerHtml,header)},normalizeSlot("header",slotScope,$scopedSlots,$slots))}var $lead=h(),hasLeadSlot=hasNormalizedSlot("lead",$scopedSlots,$slots);(hasLeadSlot||lead||leadHtml)&&($lead=h(props.leadTag,{staticClass:"lead",domProps:hasLeadSlot?{}:htmlOrText(leadHtml,lead)},normalizeSlot("lead",slotScope,$scopedSlots,$slots)));var $children=[$header,$lead,normalizeSlot("default",slotScope,$scopedSlots,$slots)];return props.fluid&&($children=[h(BContainer,{props:{fluid:props.containerFluid}},$children)]),h(props.tag,a(data,{staticClass:"jumbotron",class:(_class2={"jumbotron-fluid":props.fluid},_defineProperty(_class2,"text-".concat(textVariant),textVariant),_defineProperty(_class2,"bg-".concat(bgVariant),bgVariant),_defineProperty(_class2,"border-".concat(borderVariant),borderVariant),_defineProperty(_class2,"border",borderVariant),_class2)}),$children)}}),JumbotronPlugin=pluginFactory({components:{BJumbotron:BJumbotron}}),COMMON_ALIGNMENT=["start","end","center"],computeRowColsClass=memoize((function(breakpoint,cols){return(cols=trim(toString(cols)))?lowerCase(["row-cols",breakpoint,cols].filter(identity).join("-")):null})),computeRowColsBreakpoint=memoize((function(prop){return lowerCase(prop.replace("cols",""))})),rowColsPropList=[],BRow={name:"BRow",functional:!0,get props(){var rowColsProps;return delete this.props,this.props=(rowColsProps=getBreakpointsUpCached().reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"cols")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),rowColsPropList=keys(rowColsProps),makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},rowColsProps),{},{alignContent:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"between","around","stretch"),value)})),alignH:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"between","around"),value)})),alignV:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"baseline","stretch"),value)})),noGutters:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BRow")),this.props},render:function(h,_ref){var _classList$push,props=_ref.props,data=_ref.data,children=_ref.children,alignV=props.alignV,alignH=props.alignH,alignContent=props.alignContent,classList=[];return rowColsPropList.forEach((function(prop){var c=computeRowColsClass(computeRowColsBreakpoint(prop),props[prop]);c&&classList.push(c)})),classList.push((_defineProperty(_classList$push={"no-gutters":props.noGutters},"align-items-".concat(alignV),alignV),_defineProperty(_classList$push,"justify-content-".concat(alignH),alignH),_defineProperty(_classList$push,"align-content-".concat(alignContent),alignContent),_classList$push)),h(props.tag,a(data,{staticClass:"row",class:classList}),children)}},LayoutPlugin=pluginFactory({components:{BContainer:BContainer,BRow:BRow,BCol:BCol,BFormRow:BFormRow}}),LinkPlugin=pluginFactory({components:{BLink:BLink}}),props$$=makePropsConfigurable({flush:makeProp(PROP_TYPE_BOOLEAN,!1),horizontal:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BListGroup"),BListGroup=extend({name:"BListGroup",functional:!0,props:props$$,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,horizontal=""===props.horizontal||props.horizontal;horizontal=!props.flush&&horizontal;var componentData={staticClass:"list-group",class:_defineProperty({"list-group-flush":props.flush,"list-group-horizontal":!0===horizontal},"list-group-horizontal-".concat(horizontal),isString(horizontal))};return h(props.tag,a(data,componentData),children)}}),actionTags=["a","router-link","button","b-link"],linkProps$3=omit(props$2f,["event","routerTag"]);delete linkProps$3.href.default,delete linkProps$3.to.default;var props$_=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$3),{},{action:makeProp(PROP_TYPE_BOOLEAN,!1),button:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),variant:makeProp(PROP_TYPE_STRING)})),"BListGroupItem"),BListGroupItem=extend({name:"BListGroupItem",functional:!0,props:props$_,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,children=_ref.children,button=props.button,variant=props.variant,active=props.active,disabled=props.disabled,link=isLink$1(props),tag=button?"button":link?BLink:props.tag,action=!!(props.action||link||button||arrayIncludes(actionTags,props.tag)),attrs={},itemProps={};return isTag(tag,"button")?(data.attrs&&data.attrs.type||(attrs.type="button"),props.disabled&&(attrs.disabled=!0)):itemProps=pluckProps(linkProps$3,props),h(tag,a(data,{attrs:attrs,props:itemProps,staticClass:"list-group-item",class:(_class={},_defineProperty(_class,"list-group-item-".concat(variant),variant),_defineProperty(_class,"list-group-item-action",action),_defineProperty(_class,"active",active),_defineProperty(_class,"disabled",disabled),_class)}),children)}}),ListGroupPlugin=pluginFactory({components:{BListGroup:BListGroup,BListGroupItem:BListGroupItem}}),props$Z=makePropsConfigurable({right:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),verticalAlign:makeProp(PROP_TYPE_STRING,"top")},"BMediaAside"),BMediaAside=extend({name:"BMediaAside",functional:!0,props:props$Z,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,verticalAlign=props.verticalAlign,align="top"===verticalAlign?"start":"bottom"===verticalAlign?"end":verticalAlign;return h(props.tag,a(data,{staticClass:"media-aside",class:_defineProperty({"media-aside-right":props.right},"align-self-".concat(align),align)}),children)}}),props$Y=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BMediaBody"),BMediaBody=extend({name:"BMediaBody",functional:!0,props:props$Y,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"media-body"}),children)}}),props$X=makePropsConfigurable({noBody:makeProp(PROP_TYPE_BOOLEAN,!1),rightAlign:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),verticalAlign:makeProp(PROP_TYPE_STRING,"top")},"BMedia"),BMedia=extend({name:"BMedia",functional:!0,props:props$X,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,children=_ref.children,noBody=props.noBody,rightAlign=props.rightAlign,verticalAlign=props.verticalAlign,$children=noBody?children:[];if(!noBody){var slotScope={},$slots=slots(),$scopedSlots=scopedSlots||{};$children.push(h(BMediaBody,normalizeSlot("default",slotScope,$scopedSlots,$slots)));var $aside=normalizeSlot("aside",slotScope,$scopedSlots,$slots);$aside&&$children[rightAlign?"push":"unshift"](h(BMediaAside,{props:{right:rightAlign,verticalAlign:verticalAlign}},$aside))}return h(props.tag,a(data,{staticClass:"media"}),$children)}}),MediaPlugin=pluginFactory({components:{BMedia:BMedia,BMediaAside:BMediaAside,BMediaBody:BMediaBody}}),PROP$1="$_documentListeners",listenOnDocumentMixin=extend({created:function(){this[PROP$1]={}},beforeDestroy:function(){var _this=this;keys(this[PROP$1]||{}).forEach((function(event){_this[PROP$1][event].forEach((function(callback){_this.listenOffDocument(event,callback)}))})),this[PROP$1]=null},methods:{registerDocumentListener:function(event,callback){this[PROP$1]&&(this[PROP$1][event]=this[PROP$1][event]||[],arrayIncludes(this[PROP$1][event],callback)||this[PROP$1][event].push(callback))},unregisterDocumentListener:function(event,callback){this[PROP$1]&&this[PROP$1][event]&&(this[PROP$1][event]=this[PROP$1][event].filter((function(cb){return cb!==callback})))},listenDocument:function(on,event,callback){on?this.listenOnDocument(event,callback):this.listenOffDocument(event,callback)},listenOnDocument:function(event,callback){IS_BROWSER&&(eventOn(document,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.registerDocumentListener(event,callback))},listenOffDocument:function(event,callback){IS_BROWSER&&eventOff(document,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.unregisterDocumentListener(event,callback)}}}),PROP="$_windowListeners",listenOnWindowMixin=extend({created:function(){this[PROP]={}},beforeDestroy:function(){var _this=this;keys(this[PROP]||{}).forEach((function(event){_this[PROP][event].forEach((function(callback){_this.listenOffWindow(event,callback)}))})),this[PROP]=null},methods:{registerWindowListener:function(event,callback){this[PROP]&&(this[PROP][event]=this[PROP][event]||[],arrayIncludes(this[PROP][event],callback)||this[PROP][event].push(callback))},unregisterWindowListener:function(event,callback){this[PROP]&&this[PROP][event]&&(this[PROP][event]=this[PROP][event].filter((function(cb){return cb!==callback})))},listenWindow:function(on,event,callback){on?this.listenOnWindow(event,callback):this.listenOffWindow(event,callback)},listenOnWindow:function(event,callback){IS_BROWSER&&(eventOn(window,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.registerWindowListener(event,callback))},listenOffWindow:function(event,callback){IS_BROWSER&&eventOff(window,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.unregisterWindowListener(event,callback)}}}),useParentMixin=extend({computed:{bvParent:function(){return this.$parent||this.$root===this&&this.$options.bvParent}}}),getScopeId=function(vm){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return vm&&vm.$options._scopeId||defaultValue},scopedStyleMixin=extend({mixins:[useParentMixin],computed:{scopedStyleAttrs:function(){var scopeId=getScopeId(this.bvParent);return scopeId?_defineProperty({},scopeId,""):{}}}}),createNewChildComponent=function(parent,Component){var config=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},bvEventRoot=parent.$root?parent.$root.$options.bvEventRoot||parent.$root:null;return new Component(_objectSpread2$3(_objectSpread2$3({},config),{},{parent:parent,bvParent:parent,bvEventRoot:bvEventRoot}))},BVTransporterTarget=extend({abstract:!0,name:"BVTransporterTarget",props:{nodes:makeProp(PROP_TYPE_ARRAY_FUNCTION)},data:function(vm){return{updatedNodes:vm.nodes}},destroyed:function(){var el;(el=this.$el)&&el.parentNode&&el.parentNode.removeChild(el)},render:function(h){var updatedNodes=this.updatedNodes,$nodes=isFunction$1(updatedNodes)?updatedNodes({}):updatedNodes;return($nodes=concat($nodes).filter(identity))&&$nodes.length>0&&!$nodes[0].text?$nodes[0]:h()}}),props$W={container:makeProp([HTMLElement,PROP_TYPE_STRING],"body"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},BVTransporterVue2=extend({name:"BVTransporter",mixins:[normalizeSlotMixin],props:props$W,watch:{disabled:{immediate:!0,handler:function(disabled){disabled?this.unmountTarget():this.$nextTick(this.mountTarget)}}},created:function(){this.$_defaultFn=null,this.$_target=null},beforeMount:function(){this.mountTarget()},updated:function(){this.updateTarget()},beforeDestroy:function(){this.unmountTarget(),this.$_defaultFn=null},methods:{getContainer:function(){if(IS_BROWSER){var container=this.container;return isString(container)?select(container):container}return null},mountTarget:function(){if(!this.$_target){var $container=this.getContainer();if($container){var $el=document.createElement("div");$container.appendChild($el),this.$_target=createNewChildComponent(this,BVTransporterTarget,{el:$el,propsData:{nodes:concat(this.normalizeSlot())}})}}},updateTarget:function(){if(IS_BROWSER&&this.$_target){var defaultFn=this.$scopedSlots.default;this.disabled||(defaultFn&&this.$_defaultFn!==defaultFn?this.$_target.updatedNodes=defaultFn:defaultFn||(this.$_target.updatedNodes=this.$slots.default)),this.$_defaultFn=defaultFn}},unmountTarget:function(){this.$_target&&this.$_target.$destroy(),this.$_target=null}},render:function(h){if(this.disabled){var $nodes=concat(this.normalizeSlot()).filter(identity);if($nodes.length>0&&!$nodes[0].text)return $nodes[0]}return h()}}),BVTransporterVue3=extend({name:"BVTransporter",mixins:[normalizeSlotMixin],props:props$W,render:function(h){if(this.disabled){var $nodes=concat(this.normalizeSlot()).filter(identity);if($nodes.length>0)return $nodes[0]}return h(Vue__default.default.Teleport,{to:this.container},this.normalizeSlot())}}),BVTransporter=isVue3?BVTransporterVue3:BVTransporterVue2,BvModalEvent=function(_BvEvent){_inherits(BvModalEvent,_BvEvent);var _super=_createSuper(BvModalEvent);function BvModalEvent(type){var _this,eventInit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _classCallCheck(this,BvModalEvent),_this=_super.call(this,type,eventInit),defineProperties(_assertThisInitialized(_this),{trigger:{enumerable:!0,configurable:!1,writable:!1}}),_this}return _createClass(BvModalEvent,null,[{key:"Defaults",get:function(){return _objectSpread2$3(_objectSpread2$3({},_get(_getPrototypeOf(BvModalEvent),"Defaults",this)),{},{trigger:null})}}]),BvModalEvent}(BvEvent),modalManager=new(extend({data:function(){return{modals:[],baseZIndex:null,scrollbarWidth:null,isBodyOverflowing:!1}},computed:{modalCount:function(){return this.modals.length},modalsAreOpen:function(){return this.modalCount>0}},watch:{modalCount:function(newCount,oldCount){IS_BROWSER&&(this.getScrollbarWidth(),newCount>0&&0===oldCount?(this.checkScrollbar(),this.setScrollbar(),addClass(document.body,"modal-open")):0===newCount&&oldCount>0&&(this.resetScrollbar(),removeClass(document.body,"modal-open")),setAttr(document.body,"data-modal-open-count",String(newCount)))},modals:function(newValue){var _this=this;this.checkScrollbar(),requestAF((function(){_this.updateModals(newValue||[])}))}},methods:{registerModal:function(modal){modal&&-1===this.modals.indexOf(modal)&&this.modals.push(modal)},unregisterModal:function(modal){var index=this.modals.indexOf(modal);index>-1&&(this.modals.splice(index,1),modal._isBeingDestroyed||modal._isDestroyed||this.resetModal(modal))},getBaseZIndex:function(){if(IS_BROWSER&&isNull(this.baseZIndex)){var div=document.createElement("div");addClass(div,"modal-backdrop"),addClass(div,"d-none"),setStyle(div,"display","none"),document.body.appendChild(div),this.baseZIndex=toInteger(getCS(div).zIndex,1040),document.body.removeChild(div)}return this.baseZIndex||1040},getScrollbarWidth:function(){if(IS_BROWSER&&isNull(this.scrollbarWidth)){var div=document.createElement("div");addClass(div,"modal-scrollbar-measure"),document.body.appendChild(div),this.scrollbarWidth=getBCR(div).width-div.clientWidth,document.body.removeChild(div)}return this.scrollbarWidth||0},updateModals:function(modals){var _this2=this,baseZIndex=this.getBaseZIndex(),scrollbarWidth=this.getScrollbarWidth();modals.forEach((function(modal,index){modal.zIndex=baseZIndex+index,modal.scrollbarWidth=scrollbarWidth,modal.isTop=index===_this2.modals.length-1,modal.isBodyOverflowing=_this2.isBodyOverflowing}))},resetModal:function(modal){modal&&(modal.zIndex=this.getBaseZIndex(),modal.isTop=!0,modal.isBodyOverflowing=!1)},checkScrollbar:function(){var _getBCR=getBCR(document.body),left=_getBCR.left,right=_getBCR.right;this.isBodyOverflowing=left+right0&&void 0!==arguments[0]&&arguments[0];this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on&&(this.$_observer=observeDom(this.$refs.content,this.checkModalOverflow.bind(this),OBSERVER_CONFIG))},updateModel:function(value){value!==this[MODEL_PROP_NAME$5]&&this.$emit(MODEL_EVENT_NAME$5,value)},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvModalEvent(type,_objectSpread2$3(_objectSpread2$3({cancelable:!1,target:this.$refs.modal||this.$el||null,relatedTarget:null,trigger:null},options),{},{vueTarget:this,componentId:this.modalId}))},show:function(){if(!this.isVisible&&!this.isOpening)if(this.isClosing)this.$once("hidden",this.show);else{this.isOpening=!0,this.$_returnFocus=this.$_returnFocus||this.getActiveElement();var showEvent=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(showEvent),showEvent.defaultPrevented||this.isVisible)return this.isOpening=!1,void this.updateModel(!1);this.doShow()}},hide:function(){var trigger=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(this.isVisible&&!this.isClosing){this.isClosing=!0;var hideEvent=this.buildEvent("hide",{cancelable:"FORCE"!==trigger,trigger:trigger||null});if("ok"===trigger?this.$emit("ok",hideEvent):"cancel"===trigger?this.$emit("cancel",hideEvent):"headerclose"===trigger&&this.$emit("close",hideEvent),this.emitEvent(hideEvent),hideEvent.defaultPrevented||!this.isVisible)return this.isClosing=!1,void this.updateModel(!0);this.setObserver(!1),this.isVisible=!1,this.updateModel(!1)}},toggle:function(triggerEl){triggerEl&&(this.$_returnFocus=triggerEl),this.isVisible?this.hide("toggle"):this.show()},getActiveElement:function(){var activeElement=getActiveElement(IS_BROWSER?[document.body]:[]);return activeElement&&activeElement.focus?activeElement:null},doShow:function(){var _this=this;modalManager.modalsAreOpen&&this.noStacking?this.listenOnRootOnce(getRootEventName("BModal","hidden"),this.doShow):(modalManager.registerModal(this),this.isHidden=!1,this.$nextTick((function(){_this.isVisible=!0,_this.isOpening=!1,_this.updateModel(!0),_this.$nextTick((function(){_this.setObserver(!0)}))})))},onBeforeEnter:function(){this.isTransitioning=!0,this.setResizeEvent(!0)},onEnter:function(){var _this2=this;this.isBlock=!0,requestAF((function(){requestAF((function(){_this2.isShow=!0}))}))},onAfterEnter:function(){var _this3=this;this.checkModalOverflow(),this.isTransitioning=!1,requestAF((function(){_this3.emitEvent(_this3.buildEvent("shown")),_this3.setEnforceFocus(!0),_this3.$nextTick((function(){_this3.focusFirst()}))}))},onBeforeLeave:function(){this.isTransitioning=!0,this.setResizeEvent(!1),this.setEnforceFocus(!1)},onLeave:function(){this.isShow=!1},onAfterLeave:function(){var _this4=this;this.isBlock=!1,this.isTransitioning=!1,this.isModalOverflowing=!1,this.isHidden=!0,this.$nextTick((function(){_this4.isClosing=!1,modalManager.unregisterModal(_this4),_this4.returnFocusTo(),_this4.emitEvent(_this4.buildEvent("hidden"))}))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BModal",type),bvEvent,bvEvent.componentId),this.$emit(type,bvEvent)},onDialogMousedown:function(){var _this5=this,modal=this.$refs.modal;eventOn(modal,"mouseup",(function onceModalMouseup(event){eventOff(modal,"mouseup",onceModalMouseup,EVENT_OPTIONS_NO_CAPTURE),event.target===modal&&(_this5.ignoreBackdropClick=!0)}),EVENT_OPTIONS_NO_CAPTURE)},onClickOut:function(event){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:this.isVisible&&!this.noCloseOnBackdrop&&contains(document.body,event.target)&&(contains(this.$refs.content,event.target)||this.hide("backdrop"))},onOk:function(){this.hide("ok")},onCancel:function(){this.hide("cancel")},onClose:function(){this.hide("headerclose")},onEsc:function(event){27===event.keyCode&&this.isVisible&&!this.noCloseOnEsc&&this.hide("esc")},focusHandler:function(event){var content=this.$refs.content,target=event.target;if(!(this.noEnforceFocus||!this.isTop||!this.isVisible||!content||document===target||contains(content,target)||this.computeIgnoreEnforceFocusSelector&&closest(this.computeIgnoreEnforceFocusSelector,target,!0))){var tabables=getTabables(this.$refs.content),bottomTrap=this.$refs["bottom-trap"],topTrap=this.$refs["top-trap"];if(bottomTrap&&target===bottomTrap){if(attemptFocus(tabables[0]))return}else if(topTrap&&target===topTrap&&attemptFocus(tabables[tabables.length-1]))return;attemptFocus(content,{preventScroll:!0})}},setEnforceFocus:function(on){this.listenDocument(on,"focusin",this.focusHandler)},setResizeEvent:function(on){this.listenWindow(on,"resize",this.checkModalOverflow),this.listenWindow(on,"orientationchange",this.checkModalOverflow)},showHandler:function(id,triggerEl){id===this.modalId&&(this.$_returnFocus=triggerEl||this.getActiveElement(),this.show())},hideHandler:function(id){id===this.modalId&&this.hide("event")},toggleHandler:function(id,triggerEl){id===this.modalId&&this.toggle(triggerEl)},modalListener:function(bvEvent){this.noStacking&&bvEvent.vueTarget!==this&&this.hide()},focusFirst:function(){var _this6=this;IS_BROWSER&&requestAF((function(){var modal=_this6.$refs.modal,content=_this6.$refs.content,activeElement=_this6.getActiveElement();if(modal&&content&&(!activeElement||!contains(content,activeElement))){var ok=_this6.$refs["ok-button"],cancel=_this6.$refs["cancel-button"],close=_this6.$refs["close-button"],autoFocus=_this6.autoFocusButton,el="ok"===autoFocus&&ok?ok.$el||ok:"cancel"===autoFocus&&cancel?cancel.$el||cancel:"headerclose"===autoFocus&&close?close.$el||close:content;attemptFocus(el),el===content&&_this6.$nextTick((function(){modal.scrollTop=0}))}}))},returnFocusTo:function(){var el=this.returnFocus||this.$_returnFocus||null;this.$_returnFocus=null,this.$nextTick((function(){(el=isString(el)?select(el):el)&&(el=el.$el||el,attemptFocus(el))}))},checkModalOverflow:function(){if(this.isVisible){var modal=this.$refs.modal;this.isModalOverflowing=modal.scrollHeight>document.documentElement.clientHeight}},makeModal:function(h){var $header=h();if(!this.hideHeader){var $modalHeader=this.normalizeSlot("modal-header",this.slotScope);if(!$modalHeader){var $closeButton=h();this.hideHeaderClose||($closeButton=h(BButtonClose,{props:{content:this.headerCloseContent,disabled:this.isTransitioning,ariaLabel:this.headerCloseLabel,textVariant:this.headerCloseVariant||this.headerTextVariant},on:{click:this.onClose},ref:"close-button"},[this.normalizeSlot("modal-header-close")])),$modalHeader=[h(this.titleTag,{staticClass:"modal-title",class:this.titleClasses,attrs:{id:this.modalTitleId},domProps:this.hasNormalizedSlot("modal-title")?{}:htmlOrText(this.titleHtml,this.title)},this.normalizeSlot("modal-title",this.slotScope)),$closeButton]}$header=h(this.headerTag,{staticClass:"modal-header",class:this.headerClasses,attrs:{id:this.modalHeaderId},ref:"header"},[$modalHeader])}var $body=h("div",{staticClass:"modal-body",class:this.bodyClasses,attrs:{id:this.modalBodyId},ref:"body"},this.normalizeSlot("default",this.slotScope)),$footer=h();if(!this.hideFooter){var $modalFooter=this.normalizeSlot("modal-footer",this.slotScope);if(!$modalFooter){var $cancelButton=h();this.okOnly||($cancelButton=h(BButton,{props:{variant:this.cancelVariant,size:this.buttonSize,disabled:this.cancelDisabled||this.busy||this.isTransitioning},domProps:this.hasNormalizedSlot("modal-cancel")?{}:htmlOrText(this.cancelTitleHtml,this.cancelTitle),on:{click:this.onCancel},ref:"cancel-button"},this.normalizeSlot("modal-cancel"))),$modalFooter=[$cancelButton,h(BButton,{props:{variant:this.okVariant,size:this.buttonSize,disabled:this.okDisabled||this.busy||this.isTransitioning},domProps:this.hasNormalizedSlot("modal-ok")?{}:htmlOrText(this.okTitleHtml,this.okTitle),on:{click:this.onOk},ref:"ok-button"},this.normalizeSlot("modal-ok"))]}$footer=h(this.footerTag,{staticClass:"modal-footer",class:this.footerClasses,attrs:{id:this.modalFooterId},ref:"footer"},[$modalFooter])}var $modalContent=h("div",{staticClass:"modal-content",class:this.contentClass,attrs:{id:this.modalContentId,tabindex:"-1"},ref:"content"},[$header,$body,$footer]),$tabTrapTop=h(),$tabTrapBottom=h();this.isVisible&&!this.noEnforceFocus&&($tabTrapTop=h("span",{attrs:{tabindex:"0"},ref:"top-trap"}),$tabTrapBottom=h("span",{attrs:{tabindex:"0"},ref:"bottom-trap"}));var $modalDialog=h("div",{staticClass:"modal-dialog",class:this.dialogClasses,on:{mousedown:this.onDialogMousedown},ref:"dialog"},[$tabTrapTop,$modalContent,$tabTrapBottom]),$modal=h("div",{staticClass:"modal",class:this.modalClasses,style:this.modalStyles,attrs:this.computedModalAttrs,on:{keydown:this.onEsc,click:this.onClickOut},directives:[{name:"show",value:this.isVisible}],ref:"modal"},[$modalDialog]);$modal=h("transition",{props:{enterClass:"",enterToClass:"",enterActiveClass:"",leaveClass:"",leaveActiveClass:"",leaveToClass:""},on:{beforeEnter:this.onBeforeEnter,enter:this.onEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,leave:this.onLeave,afterLeave:this.onAfterLeave}},[$modal]);var $backdrop=h();return!this.hideBackdrop&&this.isVisible&&($backdrop=h("div",{staticClass:"modal-backdrop",attrs:{id:this.modalBackdropId}},this.normalizeSlot("modal-backdrop"))),$backdrop=h(BVTransition,{props:{noFade:this.noFade}},[$backdrop]),h("div",{style:this.modalOuterStyle,attrs:this.computedAttrs,key:"modal-outer-".concat(this._uid)},[$modal,$backdrop])}},render:function(h){return this.static?this.lazy&&this.isHidden?h():this.makeModal(h):this.isHidden?h():h(BVTransporter,[this.makeModal(h)])}}),ROOT_ACTION_EVENT_NAME_SHOW=getRootActionEventName("BModal","show"),PROPERTY="__bv_modal_directive__",getTarget=function(_ref){var _ref$modifiers=_ref.modifiers,modifiers=void 0===_ref$modifiers?{}:_ref$modifiers,arg=_ref.arg,value=_ref.value;return isString(value)?value:isString(arg)?arg:keys(modifiers).reverse()[0]},getTriggerElement=function(el){return el&&matches(el,".dropdown-menu > li, li.nav-item")&&select("a, button",el)||el},setRole=function(trigger){trigger&&"BUTTON"!==trigger.tagName&&(hasAttr(trigger,"role")||setAttr(trigger,"role","button"),"A"===trigger.tagName||hasAttr(trigger,"tabindex")||setAttr(trigger,"tabindex","0"))},unbind=function(el){var oldProp=el[PROPERTY]||{},trigger=oldProp.trigger,handler=oldProp.handler;trigger&&handler&&(eventOff(trigger,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(trigger,"keydown",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)),delete el[PROPERTY]},componentUpdated=function(el,binding,vnode){var oldProp=el[PROPERTY]||{},target=getTarget(binding),trigger=getTriggerElement(el);target===oldProp.target&&trigger===oldProp.trigger||(unbind(el),function(el,binding,vnode){var target=getTarget(binding),trigger=getTriggerElement(el);if(target&&trigger){var handler=function(event){var currentTarget=event.currentTarget;if(!isDisabled(currentTarget)){var type=event.type,key=event.keyCode;"click"!==type&&("keydown"!==type||key!==CODE_ENTER&&key!==CODE_SPACE)||getEventRoot(getInstanceFromDirective(vnode,binding)).$emit(ROOT_ACTION_EVENT_NAME_SHOW,target,currentTarget)}};el[PROPERTY]={handler:handler,target:target,trigger:trigger},setRole(trigger),eventOn(trigger,"click",handler,EVENT_OPTIONS_PASSIVE),"BUTTON"!==trigger.tagName&&"button"===getAttr(trigger,"role")&&eventOn(trigger,"keydown",handler,EVENT_OPTIONS_PASSIVE)}}(el,binding,vnode)),setRole(trigger)},VBModal={inserted:componentUpdated,updated:function(){},componentUpdated:componentUpdated,unbind:unbind},BASE_PROPS$1=["id"].concat(_toConsumableArray$1(keys(omit(props$V,["busy","lazy","noStacking","static","visible"])))),defaultResolver=function(){},propsToSlots$1={msgBoxContent:"default",title:"modal-title",okTitle:"modal-ok",cancelTitle:"modal-cancel"},filterOptions$1=function(options){return BASE_PROPS$1.reduce((function(memo,key){return isUndefined(options[key])||(memo[key]=options[key]),memo}),{})},BVModalPlugin=pluginFactory({plugins:{plugin:function(Vue){var BMsgBox=Vue.extend({name:"BMsgBox",extends:BModal,mixins:[useParentMixin],destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var _this=this,handleDestroy=function(){_this.$nextTick((function(){requestAF((function(){_this.$destroy()}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy),this.$router&&this.$route&&this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY,this.$watch("$router",handleDestroy)),this.show()}}),makeMsgBox=function(parent,content){var options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},resolver=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(content&&!warnNoPromiseSupport("$bvModal")&&!warnNotClient("$bvModal")&&isFunction$1(resolver))return function(parent,props){var resolver=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultResolver;if(!warnNotClient("$bvModal")&&!warnNoPromiseSupport("$bvModal")){var msgBox=createNewChildComponent(parent,BMsgBox,{propsData:_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},filterOptions$1(getComponentConfig("BModal"))),{},{hideHeaderClose:!0,hideHeader:!(props.title||props.titleHtml)},omit(props,keys(propsToSlots$1))),{},{lazy:!1,busy:!1,visible:!1,noStacking:!1,noEnforceFocus:!1})});return keys(propsToSlots$1).forEach((function(prop){isUndefined(props[prop])||(msgBox.$slots[propsToSlots$1[prop]]=concat(props[prop]))})),new Promise((function(resolve,reject){var resolved=!1;msgBox.$once(HOOK_EVENT_NAME_DESTROYED,(function(){resolved||reject(new Error("BootstrapVue MsgBox destroyed before resolve"))})),msgBox.$on("hide",(function(bvModalEvent){if(!bvModalEvent.defaultPrevented){var result=resolver(bvModalEvent);bvModalEvent.defaultPrevented||(resolved=!0,resolve(result))}}));var div=document.createElement("div");document.body.appendChild(div),msgBox.$mount(div)}))}}(parent,_objectSpread2$3(_objectSpread2$3({},filterOptions$1(options)),{},{msgBoxContent:content}),resolver)},BvModal=function(){function BvModal(vm){_classCallCheck(this,BvModal),assign(this,{_vm:vm,_root:getEventRoot(vm)}),defineProperties(this,{_vm:{enumerable:!0,configurable:!1,writable:!1},_root:{enumerable:!0,configurable:!1,writable:!1}})}return _createClass(BvModal,[{key:"show",value:function(id){if(id&&this._root){for(var _this$_root,_len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];(_this$_root=this._root).$emit.apply(_this$_root,[getRootActionEventName("BModal","show"),id].concat(args))}}},{key:"hide",value:function(id){if(id&&this._root){for(var _this$_root2,_len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];(_this$_root2=this._root).$emit.apply(_this$_root2,[getRootActionEventName("BModal","hide"),id].concat(args))}}},{key:"msgBoxOk",value:function(message){var props=_objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{okOnly:!0,okDisabled:!1,hideFooter:!1,msgBoxContent:message});return makeMsgBox(this._vm,message,props,(function(){return!0}))}},{key:"msgBoxConfirm",value:function(message){var props=_objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{okOnly:!1,okDisabled:!1,cancelDisabled:!1,hideFooter:!1});return makeMsgBox(this._vm,message,props,(function(bvModalEvent){var trigger=bvModalEvent.trigger;return"ok"===trigger||"cancel"!==trigger&&null}))}}]),BvModal}();Vue.mixin({beforeCreate:function(){this._bv__modal=new BvModal(this)}}),hasOwnProperty(Vue.prototype,"$bvModal")||defineProperty$1(Vue.prototype,"$bvModal",{get:function(){return this&&this._bv__modal||warn('"'.concat("$bvModal",'" must be accessed from a Vue instance "this" context.'),"BModal"),this._bv__modal}})}}}),ModalPlugin=pluginFactory({components:{BModal:BModal},directives:{VBModal:VBModal},plugins:{BVModalPlugin:BVModalPlugin}}),props$U=makePropsConfigurable({align:makeProp(PROP_TYPE_STRING),cardHeader:makeProp(PROP_TYPE_BOOLEAN,!1),fill:makeProp(PROP_TYPE_BOOLEAN,!1),justified:makeProp(PROP_TYPE_BOOLEAN,!1),pills:makeProp(PROP_TYPE_BOOLEAN,!1),small:makeProp(PROP_TYPE_BOOLEAN,!1),tabs:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"ul"),vertical:makeProp(PROP_TYPE_BOOLEAN,!1)},"BNav"),BNav=extend({name:"BNav",functional:!0,props:props$U,render:function(h,_ref){var _class,value,props=_ref.props,data=_ref.data,children=_ref.children,tabs=props.tabs,pills=props.pills,vertical=props.vertical,align=props.align,cardHeader=props.cardHeader;return h(props.tag,a(data,{staticClass:"nav",class:(_class={"nav-tabs":tabs,"nav-pills":pills&&!tabs,"card-header-tabs":!vertical&&cardHeader&&tabs,"card-header-pills":!vertical&&cardHeader&&pills&&!tabs,"flex-column":vertical,"nav-fill":!vertical&&props.fill,"nav-justified":!vertical&&props.justified},_defineProperty(_class,(value=align,"justify-content-".concat(value="left"===value?"start":"right"===value?"end":value)),!vertical&&align),_defineProperty(_class,"small",props.small),_class)}),children)}}),linkProps$2=omit(props$2f,["event","routerTag"]),props$T=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$2),{},{linkAttrs:makeProp(PROP_TYPE_OBJECT,{}),linkClasses:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),"BNavItem"),BNavItem=extend({name:"BNavItem",functional:!0,props:props$T,render:function(h,_ref){var props=_ref.props,data=_ref.data,listeners=_ref.listeners,children=_ref.children;return h("li",a(omit(data,["on"]),{staticClass:"nav-item"}),[h(BLink,{staticClass:"nav-link",class:props.linkClasses,attrs:props.linkAttrs,props:pluckProps(linkProps$2,props),on:listeners},children)])}}),BNavText=extend({name:"BNavText",functional:!0,props:{},render:function(h,_ref){var data=_ref.data,children=_ref.children;return h("li",a(data,{staticClass:"navbar-text"}),children)}}),formProps=omit(props$1I,["inline"]),props$R=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},formProps),{},{formClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),"BNavForm"),BNavForm=extend({name:"BNavForm",functional:!0,props:props$R,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,listeners=_ref.listeners,$form=h(BForm,{class:props.formClass,props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formProps,props)),{},{inline:!0}),attrs:data.attrs,on:listeners},children);return h("li",a(omit(data,["attrs","on"]),{staticClass:"form-inline"}),[$form])}}),props$Q=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),pick$1(props$1N,[].concat(_toConsumableArray$1(keys(props$1O)),["html","lazy","menuClass","noCaret","role","text","toggleClass"])))),"BNavItemDropdown"),BNavItemDropdown=extend({name:"BNavItemDropdown",mixins:[idMixin,dropdownMixin,normalizeSlotMixin],props:props$Q,computed:{toggleId:function(){return this.safeId("_BV_toggle_")},menuId:function(){return this.safeId("_BV_toggle_menu_")},dropdownClasses:function(){return[this.directionClass,this.boundaryClass,{show:this.visible}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-no-caret":this.noCaret}]}},render:function(h){var toggleId=this.toggleId,menuId=this.menuId,visible=this.visible,hide=this.hide,$toggle=h(BLink,{staticClass:"nav-link dropdown-toggle",class:this.toggleClasses,props:{href:"#".concat(this.id||""),disabled:this.disabled},attrs:{id:toggleId,role:"button","aria-haspopup":"true","aria-expanded":visible?"true":"false","aria-controls":menuId},on:{mousedown:this.onMousedown,click:this.toggle,keydown:this.toggle},ref:"toggle"},[this.normalizeSlot(["button-content","text"])||h("span",{domProps:htmlOrText(this.html,this.text)})]),$menu=h("ul",{staticClass:"dropdown-menu",class:this.menuClasses,attrs:{tabindex:"-1","aria-labelledby":toggleId,id:menuId},on:{keydown:this.onKeydown},ref:"menu"},!this.lazy||visible?this.normalizeSlot("default",{hide:hide}):[h()]);return h("li",{staticClass:"nav-item b-nav-dropdown dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[$toggle,$menu])}}),NavPlugin=pluginFactory({components:{BNav:BNav,BNavItem:BNavItem,BNavText:BNavText,BNavForm:BNavForm,BNavItemDropdown:BNavItemDropdown,BNavItemDd:BNavItemDropdown,BNavDropdown:BNavItemDropdown,BNavDd:BNavItemDropdown},plugins:{DropdownPlugin:DropdownPlugin}}),props$P=makePropsConfigurable({fixed:makeProp(PROP_TYPE_STRING),print:makeProp(PROP_TYPE_BOOLEAN,!1),sticky:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"nav"),toggleable:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),type:makeProp(PROP_TYPE_STRING,"light"),variant:makeProp(PROP_TYPE_STRING)},"BNavbar"),BNavbar=extend({name:"BNavbar",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvNavbar:function(){return _this}}},props:props$P,computed:{breakpointClass:function(){var toggleable=this.toggleable,xs=getBreakpoints()[0],breakpoint=null;return toggleable&&isString(toggleable)&&toggleable!==xs?breakpoint="navbar-expand-".concat(toggleable):!1===toggleable&&(breakpoint="navbar-expand"),breakpoint}},render:function(h){var _ref,tag=this.tag,type=this.type,variant=this.variant,fixed=this.fixed;return h(tag,{staticClass:"navbar",class:[(_ref={"d-print":this.print,"sticky-top":this.sticky},_defineProperty(_ref,"navbar-".concat(type),type),_defineProperty(_ref,"bg-".concat(variant),variant),_defineProperty(_ref,"fixed-".concat(fixed),fixed),_ref),this.breakpointClass],attrs:{role:isTag(tag,"nav")?null:"navigation"}},[this.normalizeSlot()])}}),props$O=makePropsConfigurable(pick$1(props$U,["tag","fill","justified","align","small"]),"BNavbarNav"),BNavbarNav=extend({name:"BNavbarNav",functional:!0,props:props$O,render:function(h,_ref){var _class,value,props=_ref.props,data=_ref.data,children=_ref.children,align=props.align;return h(props.tag,a(data,{staticClass:"navbar-nav",class:(_class={"nav-fill":props.fill,"nav-justified":props.justified},_defineProperty(_class,(value=align,"justify-content-".concat(value="left"===value?"start":"right"===value?"end":value)),align),_defineProperty(_class,"small",props.small),_class)}),children)}}),linkProps$1=omit(props$2f,["event","routerTag"]);linkProps$1.href.default=void 0,linkProps$1.to.default=void 0;var _watch$6,_makePropsConfigurabl,_watch$5,_watch$4,props$N=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$1),{},{tag:makeProp(PROP_TYPE_STRING,"div")})),"BNavbarBrand"),BNavbarBrand=extend({name:"BNavbarBrand",functional:!0,props:props$N,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,isLink=props.to||props.href;return h(isLink?BLink:props.tag,a(data,{staticClass:"navbar-brand",props:isLink?pluckProps(linkProps$1,props):{}}),children)}}),ROOT_EVENT_NAME_STATE$1=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$1=getRootEventName("BCollapse","sync-state"),props$M=makePropsConfigurable({disabled:makeProp(PROP_TYPE_BOOLEAN,!1),label:makeProp(PROP_TYPE_STRING,"Toggle navigation"),target:makeProp(PROP_TYPE_ARRAY_STRING,void 0,!0)},"BNavbarToggle"),BNavbarToggle=extend({name:"BNavbarToggle",directives:{VBToggle:VBToggle},mixins:[listenOnRootMixin,normalizeSlotMixin],props:props$M,data:function(){return{toggleState:!1}},created:function(){this.listenOnRoot(ROOT_EVENT_NAME_STATE$1,this.handleStateEvent),this.listenOnRoot(ROOT_EVENT_NAME_SYNC_STATE$1,this.handleStateEvent)},methods:{onClick:function(event){this.disabled||this.$emit("click",event)},handleStateEvent:function(id,state){id===this.target&&(this.toggleState=state)}},render:function(h){var disabled=this.disabled;return h("button",{staticClass:"navbar-toggler",class:{disabled:disabled},directives:[{name:"VBToggle",value:this.target}],attrs:{type:"button",disabled:disabled,"aria-label":this.label},on:{click:this.onClick}},[this.normalizeSlot("default",{expanded:this.toggleState})||h("span",{staticClass:"".concat("navbar-toggler","-icon")})])}}),NavbarPlugin=pluginFactory({components:{BNavbar:BNavbar,BNavbarNav:BNavbarNav,BNavbarBrand:BNavbarBrand,BNavbarToggle:BNavbarToggle,BNavToggle:BNavbarToggle},plugins:{NavPlugin:NavPlugin,CollapsePlugin:CollapsePlugin,DropdownPlugin:DropdownPlugin}}),props$L=makePropsConfigurable({label:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING,"status"),small:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"span"),type:makeProp(PROP_TYPE_STRING,"border"),variant:makeProp(PROP_TYPE_STRING)},"BSpinner"),BSpinner=extend({name:"BSpinner",functional:!0,props:props$L,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$label=normalizeSlot("label",{},scopedSlots||{},$slots)||props.label;return $label&&($label=h("span",{staticClass:"sr-only"},$label)),h(props.tag,a(data,{attrs:{role:$label?props.role||"status":null,"aria-hidden":$label?null:"true"},class:(_class={},_defineProperty(_class,"spinner-".concat(props.type),props.type),_defineProperty(_class,"spinner-".concat(props.type,"-sm"),props.small),_defineProperty(_class,"text-".concat(props.variant),props.variant),_class)}),[$label||h()])}}),POSITION_COVER={top:0,left:0,bottom:0,right:0},props$K=makePropsConfigurable({bgColor:makeProp(PROP_TYPE_STRING),blur:makeProp(PROP_TYPE_STRING,"2px"),fixed:makeProp(PROP_TYPE_BOOLEAN,!1),noCenter:makeProp(PROP_TYPE_BOOLEAN,!1),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noWrap:makeProp(PROP_TYPE_BOOLEAN,!1),opacity:makeProp(PROP_TYPE_NUMBER_STRING,.85,(function(value){var number=toFloat(value,0);return number>=0&&number<=1})),overlayTag:makeProp(PROP_TYPE_STRING,"div"),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),show:makeProp(PROP_TYPE_BOOLEAN,!1),spinnerSmall:makeProp(PROP_TYPE_BOOLEAN,!1),spinnerType:makeProp(PROP_TYPE_STRING,"border"),spinnerVariant:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING,"light"),wrapTag:makeProp(PROP_TYPE_STRING,"div"),zIndex:makeProp(PROP_TYPE_NUMBER_STRING,10)},"BOverlay"),BOverlay=extend({name:"BOverlay",mixins:[normalizeSlotMixin],props:props$K,computed:{computedRounded:function(){var rounded=this.rounded;return!0===rounded||""===rounded?"rounded":rounded?"rounded-".concat(rounded):""},computedVariant:function(){var variant=this.variant;return variant&&!this.bgColor?"bg-".concat(variant):""},slotScope:function(){return{spinnerType:this.spinnerType||null,spinnerVariant:this.spinnerVariant||null,spinnerSmall:this.spinnerSmall}}},methods:{defaultOverlayFn:function(_ref){var spinnerType=_ref.spinnerType,spinnerVariant=_ref.spinnerVariant,spinnerSmall=_ref.spinnerSmall;return this.$createElement(BSpinner,{props:{type:spinnerType,variant:spinnerVariant,small:spinnerSmall}})}},render:function(h){var _this=this,show=this.show,fixed=this.fixed,noFade=this.noFade,noWrap=this.noWrap,slotScope=this.slotScope,$overlay=h();if(show){var $background=h("div",{staticClass:"position-absolute",class:[this.computedVariant,this.computedRounded],style:_objectSpread2$3(_objectSpread2$3({},POSITION_COVER),{},{opacity:this.opacity,backgroundColor:this.bgColor||null,backdropFilter:this.blur?"blur(".concat(this.blur,")"):null})}),$content=h("div",{staticClass:"position-absolute",style:this.noCenter?_objectSpread2$3({},POSITION_COVER):{top:"50%",left:"50%",transform:"translateX(-50%) translateY(-50%)"}},[this.normalizeSlot("overlay",slotScope)||this.defaultOverlayFn(slotScope)]);$overlay=h(this.overlayTag,{staticClass:"b-overlay",class:{"position-absolute":!noWrap||noWrap&&!fixed,"position-fixed":noWrap&&fixed},style:_objectSpread2$3(_objectSpread2$3({},POSITION_COVER),{},{zIndex:this.zIndex||10}),on:{click:function(event){return _this.$emit("click",event)}},key:"overlay"},[$background,$content])}return $overlay=h(BVTransition,{props:{noFade:noFade,appear:!0},on:{"after-enter":function(){return _this.$emit("shown")},"after-leave":function(){return _this.$emit("hidden")}}},[$overlay]),noWrap?$overlay:h(this.wrapTag,{staticClass:"b-overlay-wrap position-relative",attrs:{"aria-busy":show?"true":null}},noWrap?[$overlay]:[this.normalizeSlot(),$overlay])}}),OverlayPlugin=pluginFactory({components:{BOverlay:BOverlay}}),_makeModelMixin$4=makeModelMixin("value",{type:PROP_TYPE_BOOLEAN_NUMBER_STRING,defaultValue:null,validator:function(value){return!(!isNull(value)&&toInteger(value,0)<1)||(warn('"v-model" value must be a number greater than "0"',"BPagination"),!1)}}),modelMixin$4=_makeModelMixin$4.mixin,modelProps$4=_makeModelMixin$4.props,MODEL_PROP_NAME$4=_makeModelMixin$4.prop,MODEL_EVENT_NAME$4=_makeModelMixin$4.event,sanitizeLimit=function(value){var limit=toInteger(value)||1;return limit<1?5:limit},sanitizeCurrentPage=function(val,numberOfPages){var page=toInteger(val)||1;return page>numberOfPages?numberOfPages:page<1?1:page},onSpaceKey=function(event){if(event.keyCode===CODE_SPACE)return stopEvent(event,{immediatePropagation:!0}),event.currentTarget.click(),!1},props$J=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$4),{},{align:makeProp(PROP_TYPE_STRING,"left"),ariaLabel:makeProp(PROP_TYPE_STRING,"Pagination"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),ellipsisClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),ellipsisText:makeProp(PROP_TYPE_STRING,"…"),firstClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),firstNumber:makeProp(PROP_TYPE_BOOLEAN,!1),firstText:makeProp(PROP_TYPE_STRING,"«"),hideEllipsis:makeProp(PROP_TYPE_BOOLEAN,!1),hideGotoEndButtons:makeProp(PROP_TYPE_BOOLEAN,!1),labelFirstPage:makeProp(PROP_TYPE_STRING,"Go to first page"),labelLastPage:makeProp(PROP_TYPE_STRING,"Go to last page"),labelNextPage:makeProp(PROP_TYPE_STRING,"Go to next page"),labelPage:makeProp(PROP_TYPE_FUNCTION_STRING,"Go to page"),labelPrevPage:makeProp(PROP_TYPE_STRING,"Go to previous page"),lastClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),lastNumber:makeProp(PROP_TYPE_BOOLEAN,!1),lastText:makeProp(PROP_TYPE_STRING,"»"),limit:makeProp(PROP_TYPE_NUMBER_STRING,5,(function(value){return!(toInteger(value,0)<1)||(warn('Prop "limit" must be a number greater than "0"',"BPagination"),!1)})),nextClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),nextText:makeProp(PROP_TYPE_STRING,"›"),pageClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),pills:makeProp(PROP_TYPE_BOOLEAN,!1),prevClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),prevText:makeProp(PROP_TYPE_STRING,"‹"),size:makeProp(PROP_TYPE_STRING)})),"pagination"),paginationMixin$1=extend({mixins:[modelMixin$4,normalizeSlotMixin],props:props$J,data:function(){var currentPage=toInteger(this[MODEL_PROP_NAME$4],0);return{currentPage:currentPage=currentPage>0?currentPage:-1,localNumberOfPages:1,localLimit:5}},computed:{btnSize:function(){var size=this.size;return size?"pagination-".concat(size):""},alignment:function(){var align=this.align;return"center"===align?"justify-content-center":"end"===align||"right"===align?"justify-content-end":"fill"===align?"text-center":""},styleClass:function(){return this.pills?"b-pagination-pills":""},computedCurrentPage:function(){return sanitizeCurrentPage(this.currentPage,this.localNumberOfPages)},paginationParams:function(){var limit=this.localLimit,numberOfPages=this.localNumberOfPages,currentPage=this.computedCurrentPage,hideEllipsis=this.hideEllipsis,firstNumber=this.firstNumber,lastNumber=this.lastNumber,showFirstDots=!1,showLastDots=!1,numberOfLinks=limit,startNumber=1;numberOfPages<=limit?numberOfLinks=numberOfPages:currentPage3?(hideEllipsis&&!lastNumber||(showLastDots=!0,numberOfLinks=limit-(firstNumber?0:1)),numberOfLinks=mathMin(numberOfLinks,limit)):numberOfPages-currentPage+23?(hideEllipsis&&!firstNumber||(showFirstDots=!0,numberOfLinks=limit-(lastNumber?0:1)),startNumber=numberOfPages-numberOfLinks+1):(limit>3&&(numberOfLinks=limit-(hideEllipsis?0:2),showFirstDots=!(hideEllipsis&&!firstNumber),showLastDots=!(hideEllipsis&&!lastNumber)),startNumber=currentPage-mathFloor(numberOfLinks/2)),startNumber<1?(startNumber=1,showFirstDots=!1):startNumber>numberOfPages-numberOfLinks&&(startNumber=numberOfPages-numberOfLinks+1,showLastDots=!1),showFirstDots&&firstNumber&&startNumber<4&&(numberOfLinks+=2,startNumber=1,showFirstDots=!1);var lastPageNumber=startNumber+numberOfLinks-1;return showLastDots&&lastNumber&&lastPageNumber>numberOfPages-3&&(numberOfLinks+=lastPageNumber===numberOfPages-2?2:3,showLastDots=!1),limit<=3&&(firstNumber&&1===startNumber?numberOfLinks=mathMin(numberOfLinks+1,numberOfPages,limit+1):lastNumber&&numberOfPages===startNumber+numberOfLinks-1&&(startNumber=mathMax(startNumber-1,1),numberOfLinks=mathMin(numberOfPages-startNumber+1,numberOfPages,limit+1))),{showFirstDots:showFirstDots,showLastDots:showLastDots,numberOfLinks:numberOfLinks=mathMin(numberOfLinks,numberOfPages-startNumber+1),startNumber:startNumber}},pageList:function(){var _this$paginationParam=this.paginationParams,numberOfLinks=_this$paginationParam.numberOfLinks,startNumber=_this$paginationParam.startNumber,currentPage=this.computedCurrentPage,pages=function(startNumber,numberOfPages){return createArray(numberOfPages,(function(_,i){return{number:startNumber+i,classes:null}}))}(startNumber,numberOfLinks);if(pages.length>3){var idx=currentPage-startNumber,classes="bv-d-xs-down-none";if(0===idx)for(var i=3;iidx+1;_i3--)pages[_i3].classes=classes}}return pages}},watch:(_watch$6={},_defineProperty(_watch$6,MODEL_PROP_NAME$4,(function(newValue,oldValue){newValue!==oldValue&&(this.currentPage=sanitizeCurrentPage(newValue,this.localNumberOfPages))})),_defineProperty(_watch$6,"currentPage",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(MODEL_EVENT_NAME$4,newValue>0?newValue:null)})),_defineProperty(_watch$6,"limit",(function(newValue,oldValue){newValue!==oldValue&&(this.localLimit=sanitizeLimit(newValue))})),_watch$6),created:function(){var _this=this;this.localLimit=sanitizeLimit(this.limit),this.$nextTick((function(){_this.currentPage=_this.currentPage>_this.localNumberOfPages?_this.localNumberOfPages:_this.currentPage}))},methods:{handleKeyNav:function(event){var keyCode=event.keyCode,shiftKey=event.shiftKey;this.isNav||(keyCode===CODE_LEFT||keyCode===CODE_UP?(stopEvent(event,{propagation:!1}),shiftKey?this.focusFirst():this.focusPrev()):keyCode!==CODE_RIGHT&&keyCode!==CODE_DOWN||(stopEvent(event,{propagation:!1}),shiftKey?this.focusLast():this.focusNext()))},getButtons:function(){return selectAll("button.page-link, a.page-link",this.$el).filter((function(btn){return isVisible(btn)}))},focusCurrent:function(){var _this2=this;this.$nextTick((function(){var btn=_this2.getButtons().find((function(el){return toInteger(getAttr(el,"aria-posinset"),0)===_this2.computedCurrentPage}));attemptFocus(btn)||_this2.focusFirst()}))},focusFirst:function(){var _this3=this;this.$nextTick((function(){var btn=_this3.getButtons().find((function(el){return!isDisabled(el)}));attemptFocus(btn)}))},focusLast:function(){var _this4=this;this.$nextTick((function(){var btn=_this4.getButtons().reverse().find((function(el){return!isDisabled(el)}));attemptFocus(btn)}))},focusPrev:function(){var _this5=this;this.$nextTick((function(){var buttons=_this5.getButtons(),index=buttons.indexOf(getActiveElement());index>0&&!isDisabled(buttons[index-1])&&attemptFocus(buttons[index-1])}))},focusNext:function(){var _this6=this;this.$nextTick((function(){var buttons=_this6.getButtons(),index=buttons.indexOf(getActiveElement());indexnumberOfPages,pageNumber=linkTo<1?1:linkTo>numberOfPages?numberOfPages:linkTo,scope={disabled:isDisabled,page:pageNumber,index:pageNumber-1},$btnContent=_this7.normalizeSlot(btnSlot,scope)||toString(btnText)||h(),$inner=h(isDisabled?"span":isNav?BLink:"button",{staticClass:"page-link",class:{"flex-grow-1":!isNav&&!isDisabled&&fill},props:isDisabled||!isNav?{}:_this7.linkProps(linkTo),attrs:{role:isNav?null:"menuitem",type:isNav||isDisabled?null:"button",tabindex:isDisabled||isNav?null:"-1","aria-label":ariaLabel,"aria-controls":safeVueInstance(_this7).ariaControls||null,"aria-disabled":isDisabled?"true":null},on:isDisabled?{}:{"!click":function(event){_this7.onClick(event,linkTo)},keydown:onSpaceKey}},[$btnContent]);return h("li",{key:key,staticClass:"page-item",class:[{disabled:isDisabled,"flex-fill":fill,"d-flex":fill&&!isNav&&!isDisabled},btnClass],attrs:{role:isNav?null:"presentation","aria-hidden":isDisabled?"true":null}},[$inner])},makeEllipsis=function(isLast){return h("li",{staticClass:"page-item",class:["disabled","bv-d-xs-down-none",fill?"flex-fill":"",_this7.ellipsisClass],attrs:{role:"separator"},key:"ellipsis-".concat(isLast?"last":"first")},[h("span",{staticClass:"page-link"},[_this7.normalizeSlot("ellipsis-text")||toString(_this7.ellipsisText)||h()])])},makePageButton=function(page,idx){var pageNumber=page.number,active=isActivePage(pageNumber)&&!noCurrentPage,tabIndex=disabled?null:active||noCurrentPage&&0===idx?"0":"-1",attrs={role:isNav?null:"menuitemradio",type:isNav||disabled?null:"button","aria-disabled":disabled?"true":null,"aria-controls":safeVueInstance(_this7).ariaControls||null,"aria-label":hasPropFunction(labelPage)?labelPage(pageNumber):"".concat(isFunction$1(labelPage)?labelPage():labelPage," ").concat(pageNumber),"aria-checked":isNav?null:active?"true":"false","aria-current":isNav&&active?"page":null,"aria-posinset":isNav?null:pageNumber,"aria-setsize":isNav?null:numberOfPages,tabindex:isNav?null:tabIndex},btnContent=toString(_this7.makePage(pageNumber)),scope={page:pageNumber,index:pageNumber-1,content:btnContent,active:active,disabled:disabled},$inner=h(disabled?"span":isNav?BLink:"button",{props:disabled||!isNav?{}:_this7.linkProps(pageNumber),staticClass:"page-link",class:{"flex-grow-1":!isNav&&!disabled&&fill},attrs:attrs,on:disabled?{}:{"!click":function(event){_this7.onClick(event,pageNumber)},keydown:onSpaceKey}},[_this7.normalizeSlot("page",scope)||btnContent]);return h("li",{staticClass:"page-item",class:[{disabled:disabled,active:active,"flex-fill":fill,"d-flex":fill&&!isNav&&!disabled},page.classes,_this7.pageClass],attrs:{role:isNav?null:"presentation"},key:"page-".concat(pageNumber)},[$inner])},$firstPageBtn=h();this.firstNumber||this.hideGotoEndButtons||($firstPageBtn=makeEndBtn(1,this.labelFirstPage,"first-text",this.firstText,this.firstClass,1,"pagination-goto-first")),$buttons.push($firstPageBtn),$buttons.push(makeEndBtn(currentPage-1,this.labelPrevPage,"prev-text",this.prevText,this.prevClass,1,"pagination-goto-prev")),$buttons.push(this.firstNumber&&1!==pageNumbers[0]?makePageButton({number:1},0):h()),$buttons.push(showFirstDots?makeEllipsis(!1):h()),this.pageList.forEach((function(page,idx){var offset=showFirstDots&&_this7.firstNumber&&1!==pageNumbers[0]?1:0;$buttons.push(makePageButton(page,idx+offset))})),$buttons.push(showLastDots?makeEllipsis(!0):h()),$buttons.push(this.lastNumber&&pageNumbers[pageNumbers.length-1]!==numberOfPages?makePageButton({number:numberOfPages},-1):h()),$buttons.push(makeEndBtn(currentPage+1,this.labelNextPage,"next-text",this.nextText,this.nextClass,numberOfPages,"pagination-goto-next"));var $lastPageBtn=h();this.lastNumber||this.hideGotoEndButtons||($lastPageBtn=makeEndBtn(numberOfPages,this.labelLastPage,"last-text",this.lastText,this.lastClass,numberOfPages,"pagination-goto-last")),$buttons.push($lastPageBtn);var $pagination=h("ul",{staticClass:"pagination",class:["b-pagination",this.btnSize,this.alignment,this.styleClass],attrs:{role:isNav?null:"menubar","aria-disabled":disabled?"true":"false","aria-label":isNav?null:ariaLabel||null},on:isNav?{}:{keydown:this.handleKeyNav},ref:"ul"},$buttons);return isNav?h("nav",{attrs:{"aria-disabled":disabled?"true":null,"aria-hidden":disabled?"true":"false","aria-label":isNav&&ariaLabel||null}},[$pagination]):$pagination}}),sanitizePerPage=function(value){return mathMax(toInteger(value)||20,1)},sanitizeTotalRows=function(value){return mathMax(toInteger(value)||0,0)},props$I=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$J),{},{ariaControls:makeProp(PROP_TYPE_STRING),perPage:makeProp(PROP_TYPE_NUMBER_STRING,20),totalRows:makeProp(PROP_TYPE_NUMBER_STRING,0)})),"BPagination"),BPagination=extend({name:"BPagination",mixins:[paginationMixin$1],props:props$I,computed:{numberOfPages:function(){var result=mathCeil(sanitizeTotalRows(this.totalRows)/sanitizePerPage(this.perPage));return result<1?1:result},pageSizeNumberOfPages:function(){return{perPage:sanitizePerPage(this.perPage),totalRows:sanitizeTotalRows(this.totalRows),numberOfPages:this.numberOfPages}}},watch:{pageSizeNumberOfPages:function(newValue,oldValue){isUndefinedOrNull(oldValue)||(newValue.perPage!==oldValue.perPage&&newValue.totalRows===oldValue.totalRows||newValue.numberOfPages!==oldValue.numberOfPages&&this.currentPage>newValue.numberOfPages)&&(this.currentPage=1),this.localNumberOfPages=newValue.numberOfPages}},created:function(){var _this=this;this.localNumberOfPages=this.numberOfPages;var currentPage=toInteger(this[MODEL_PROP_NAME$4],0);currentPage>0?this.currentPage=currentPage:this.$nextTick((function(){_this.currentPage=0}))},methods:{onClick:function(event,pageNumber){var _this2=this;if(pageNumber!==this.currentPage){var target=event.target,clickEvent=new BvEvent("page-click",{cancelable:!0,vueTarget:this,target:target});this.$emit(clickEvent.type,clickEvent,pageNumber),clickEvent.defaultPrevented||(this.currentPage=pageNumber,this.$emit("change",this.currentPage),this.$nextTick((function(){isVisible(target)&&_this2.$el.contains(target)?attemptFocus(target):_this2.focusCurrent()})))}},makePage:function(pageNum){return pageNum},linkProps:function(){return{}}}}),PaginationPlugin=pluginFactory({components:{BPagination:BPagination}}),_linkProps=omit(props$2f,["event","routerTag"]),props$H=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$J),_linkProps),{},{baseUrl:makeProp(PROP_TYPE_STRING,"/"),linkGen:makeProp(PROP_TYPE_FUNCTION),noPageDetect:makeProp(PROP_TYPE_BOOLEAN,!1),numberOfPages:makeProp(PROP_TYPE_NUMBER_STRING,1,(function(value){return!(toInteger(value,0)<1)||(warn('Prop "number-of-pages" must be a number greater than "0"',"BPaginationNav"),!1)})),pageGen:makeProp(PROP_TYPE_FUNCTION),pages:makeProp(PROP_TYPE_ARRAY),useRouter:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BPaginationNav"),BPaginationNav=extend({name:"BPaginationNav",mixins:[paginationMixin$1],props:props$H,computed:{isNav:function(){return!0},computedValue:function(){var value=toInteger(this.value,0);return value<1?null:value}},watch:{numberOfPages:function(){var _this=this;this.$nextTick((function(){_this.setNumberOfPages()}))},pages:function(){var _this2=this;this.$nextTick((function(){_this2.setNumberOfPages()}))}},created:function(){this.setNumberOfPages()},mounted:function(){var _this3=this;this.$router&&this.$watch("$route",(function(){_this3.$nextTick((function(){requestAF((function(){_this3.guessCurrentPage()}))}))}))},methods:{setNumberOfPages:function(){var value,_this4=this;isArray(this.pages)&&this.pages.length>0?this.localNumberOfPages=this.pages.length:this.localNumberOfPages=(value=this.numberOfPages,mathMax(toInteger(value,0),1)),this.$nextTick((function(){_this4.guessCurrentPage()}))},onClick:function(event,pageNumber){var _this5=this;if(pageNumber!==this.currentPage){var target=event.currentTarget||event.target,clickEvent=new BvEvent("page-click",{cancelable:!0,vueTarget:this,target:target});this.$emit(clickEvent.type,clickEvent,pageNumber),clickEvent.defaultPrevented||(requestAF((function(){_this5.currentPage=pageNumber,_this5.$emit("change",pageNumber)})),this.$nextTick((function(){attemptBlur(target)})))}},getPageInfo:function(pageNumber){if(!isArray(this.pages)||0===this.pages.length||isUndefined(this.pages[pageNumber-1])){var link="".concat(this.baseUrl).concat(pageNumber);return{link:this.useRouter?{path:link}:link,text:toString(pageNumber)}}var info=this.pages[pageNumber-1];if(isObject(info)){var _link=info.link;return{link:isObject(_link)?_link:this.useRouter?{path:_link}:_link,text:toString(info.text||pageNumber)}}return{link:toString(info),text:toString(pageNumber)}},makePage:function(pageNumber){var pageGen=this.pageGen,info=this.getPageInfo(pageNumber);return hasPropFunction(pageGen)?pageGen(pageNumber,info):info.text},makeLink:function(pageNumber){var linkGen=this.linkGen,info=this.getPageInfo(pageNumber);return hasPropFunction(linkGen)?linkGen(pageNumber,info):info.link},linkProps:function(pageNumber){var props=pluckProps(_linkProps,this),link=this.makeLink(pageNumber);return this.useRouter||isObject(link)?props.to=link:props.href=link,props},resolveLink:function(){var link,to=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{(link=document.createElement("a")).href=computeHref({to:to},"a","/","/"),document.body.appendChild(link);var _link2=link,pathname=_link2.pathname,hash=_link2.hash,search=_link2.search;return document.body.removeChild(link),{path:pathname,hash:hash,query:parseQuery(search)}}catch(e){try{link&&link.parentNode&&link.parentNode.removeChild(link)}catch(_unused){}return{}}},resolveRoute:function(){var to=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{var route=this.$router.resolve(to,this.$route).route;return{path:route.path,hash:route.hash,query:route.query}}catch(e){return{}}},guessCurrentPage:function(){var $router=this.$router,$route=this.$route,guess=this.computedValue;if(!this.noPageDetect&&!guess&&(IS_BROWSER||!IS_BROWSER&&$router))for(var currentRoute=$router&&$route?{path:$route.path,hash:$route.hash,query:$route.query}:{},loc=IS_BROWSER?window.location||document.location:null,currentLink=loc?{path:loc.pathname,hash:loc.hash,query:parseQuery(loc.search)}:{},pageNumber=1;!guess&&pageNumber<=this.localNumberOfPages;pageNumber++){var to=this.makeLink(pageNumber);guess=$router&&(isObject(to)||this.useRouter)?looseEqual(this.resolveRoute(to),currentRoute)?pageNumber:null:IS_BROWSER?looseEqual(this.resolveLink(to),currentLink)?pageNumber:null:-1}this.currentPage=guess>0?guess:0}}}),PaginationNavPlugin=pluginFactory({components:{BPaginationNav:BPaginationNav}}),AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",TOPLEFT:"top",TOPRIGHT:"top",RIGHTTOP:"right",RIGHTBOTTOM:"right",BOTTOMLEFT:"bottom",BOTTOMRIGHT:"bottom",LEFTTOP:"left",LEFTBOTTOM:"left"},OffsetMap={AUTO:0,TOPLEFT:-1,TOP:0,TOPRIGHT:1,RIGHTTOP:-1,RIGHT:0,RIGHTBOTTOM:1,BOTTOMLEFT:-1,BOTTOM:0,BOTTOMRIGHT:1,LEFTTOP:-1,LEFT:0,LEFTBOTTOM:1},props$G={arrowPadding:makeProp(PROP_TYPE_NUMBER_STRING,6),boundary:makeProp([HTMLElement,PROP_TYPE_STRING],"scrollParent"),boundaryPadding:makeProp(PROP_TYPE_NUMBER_STRING,5),fallbackPlacement:makeProp(PROP_TYPE_ARRAY_STRING,"flip"),offset:makeProp(PROP_TYPE_NUMBER_STRING,0),placement:makeProp(PROP_TYPE_STRING,"top"),target:makeProp([HTMLElement,SVGElement])},BVPopper=extend({name:"BVPopper",mixins:[useParentMixin],props:props$G,data:function(){return{noFade:!1,localShow:!0,attachment:this.getAttachment(this.placement)}},computed:{templateType:function(){return"unknown"},popperConfig:function(){var _this=this,placement=this.placement;return{placement:this.getAttachment(placement),modifiers:{offset:{offset:this.getOffset(placement)},flip:{behavior:this.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{padding:this.boundaryPadding,boundariesElement:this.boundary}},onCreate:function(data){data.originalPlacement!==data.placement&&_this.popperPlacementChange(data)},onUpdate:function(data){_this.popperPlacementChange(data)}}}},created:function(){var _this2=this;this.$_popper=null,this.localShow=!0,this.$on("show",(function(el){_this2.popperCreate(el)}));var handleDestroy=function(){_this2.$nextTick((function(){requestAF((function(){_this2.$destroy()}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy)},beforeMount:function(){this.attachment=this.getAttachment(this.placement)},updated:function(){this.updatePopper()},beforeDestroy:function(){this.destroyPopper()},destroyed:function(){var el=this.$el;el&&el.parentNode&&el.parentNode.removeChild(el)},methods:{hide:function(){this.localShow=!1},getAttachment:function(placement){return AttachmentMap[String(placement).toUpperCase()]||"auto"},getOffset:function(placement){if(!this.offset){var arrow=this.$refs.arrow||select(".arrow",this.$el),arrowOffset=toFloat(getCS(arrow).width,0)+toFloat(this.arrowPadding,0);switch(OffsetMap[String(placement).toUpperCase()]||0){case 1:return"+50%p - ".concat(arrowOffset,"px");case-1:return"-50%p + ".concat(arrowOffset,"px");default:return 0}}return this.offset},popperCreate:function(el){this.destroyPopper(),this.$_popper=new Popper(this.target,el,this.popperConfig)},destroyPopper:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},updatePopper:function(){this.$_popper&&this.$_popper.scheduleUpdate()},popperPlacementChange:function(data){this.attachment=this.getAttachment(data.placement)},renderTemplate:function(h){return h("div")}},render:function(h){var _this3=this,noFade=this.noFade;return h(BVTransition,{props:{appear:!0,noFade:noFade},on:{beforeEnter:function(el){return _this3.$emit("show",el)},afterEnter:function(el){return _this3.$emit("shown",el)},beforeLeave:function(el){return _this3.$emit("hide",el)},afterLeave:function(el){return _this3.$emit("hidden",el)}}},[this.localShow?this.renderTemplate(h):h()])}}),props$F={html:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING)},BVTooltipTemplate=extend({name:"BVTooltipTemplate",extends:BVPopper,mixins:[scopedStyleMixin],props:props$F,data:function(){return{title:"",content:"",variant:null,customClass:null,interactive:!0}},computed:{templateType:function(){return"tooltip"},templateClasses:function(){var _ref,variant=this.variant,attachment=this.attachment,templateType=this.templateType;return[(_ref={noninteractive:!this.interactive},_defineProperty(_ref,"b-".concat(templateType,"-").concat(variant),variant),_defineProperty(_ref,"bs-".concat(templateType,"-").concat(attachment),attachment),_ref),this.customClass]},templateAttributes:function(){var id=this.id;return _objectSpread2$3(_objectSpread2$3({},this.bvParent.bvParent.$attrs),{},{id:id,role:"tooltip",tabindex:"-1"},this.scopedStyleAttrs)},templateListeners:function(){var _this=this;return{mouseenter:function(event){_this.$emit("mouseenter",event)},mouseleave:function(event){_this.$emit("mouseleave",event)},focusin:function(event){_this.$emit("focusin",event)},focusout:function(event){_this.$emit("focusout",event)}}}},methods:{renderTemplate:function(h){var title=this.title,$title=isFunction$1(title)?title({}):title,domProps=this.html&&!isFunction$1(title)?{innerHTML:title}:{};return h("div",{staticClass:"tooltip b-tooltip",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[h("div",{staticClass:"arrow",ref:"arrow"}),h("div",{staticClass:"tooltip-inner",domProps:domProps},[$title])])}}}),MODAL_SELECTOR=".modal-content",ROOT_EVENT_NAME_MODAL_HIDDEN=getRootEventName("BModal","hidden"),CONTAINER_SELECTOR=[MODAL_SELECTOR,".b-sidebar"].join(", "),templateData={title:"",content:"",variant:null,customClass:null,triggers:"",placement:"auto",fallbackPlacement:"flip",target:null,container:null,noFade:!1,boundary:"scrollParent",boundaryPadding:5,offset:0,delay:0,arrowPadding:6,interactive:!0,disabled:!1,id:null,html:!1},BVTooltip=extend({name:"BVTooltip",mixins:[listenOnRootMixin,useParentMixin],data:function(){return _objectSpread2$3(_objectSpread2$3({},templateData),{},{activeTrigger:{hover:!1,click:!1,focus:!1},localShow:!1})},computed:{templateType:function(){return"tooltip"},computedId:function(){return this.id||"__bv_".concat(this.templateType,"_").concat(this._uid,"__")},computedDelay:function(){var delay={show:0,hide:0};return isPlainObject(this.delay)?(delay.show=mathMax(toInteger(this.delay.show,0),0),delay.hide=mathMax(toInteger(this.delay.hide,0),0)):(isNumber(this.delay)||isString(this.delay))&&(delay.show=delay.hide=mathMax(toInteger(this.delay,0),0)),delay},computedTriggers:function(){return concat(this.triggers).filter(identity).join(" ").trim().toLowerCase().split(/\s+/).sort()},isWithActiveTrigger:function(){for(var trigger in this.activeTrigger)if(this.activeTrigger[trigger])return!0;return!1},computedTemplateData:function(){return{title:this.title,content:this.content,variant:this.variant,customClass:this.customClass,noFade:this.noFade,interactive:this.interactive}}},watch:{computedTriggers:function(newTriggers,oldTriggers){var _this=this;looseEqual(newTriggers,oldTriggers)||this.$nextTick((function(){_this.unListen(),oldTriggers.forEach((function(trigger){arrayIncludes(newTriggers,trigger)||_this.activeTrigger[trigger]&&(_this.activeTrigger[trigger]=!1)})),_this.listen()}))},computedTemplateData:function(){this.handleTemplateUpdate()},title:function(newValue,oldValue){newValue===oldValue||newValue||this.hide()},disabled:function(newValue){newValue?this.disable():this.enable()}},created:function(){var _this2=this;this.$_tip=null,this.$_hoverTimeout=null,this.$_hoverState="",this.$_visibleInterval=null,this.$_enabled=!this.disabled,this.$_noop=noop.bind(this),this.bvParent&&this.bvParent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY,(function(){_this2.$nextTick((function(){requestAF((function(){_this2.$destroy()}))}))})),this.$nextTick((function(){var target=_this2.getTarget();target&&contains(document.body,target)?(_this2.scopeId=getScopeId(_this2.bvParent),_this2.listen()):warn(isString(_this2.target)?'Unable to find target element by ID "#'.concat(_this2.target,'" in document.'):"The provided target is no valid HTML element.",_this2.templateType)}))},updated:function(){this.$nextTick(this.handleTemplateUpdate)},deactivated:function(){this.forceHide()},beforeDestroy:function(){this.unListen(),this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.clearVisibilityInterval(),this.destroyTemplate(),this.$_noop=null},methods:{getTemplate:function(){return BVTooltipTemplate},updateData:function(){var _this3=this,data=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},titleUpdated=!1;keys(templateData).forEach((function(prop){isUndefined(data[prop])||_this3[prop]===data[prop]||(_this3[prop]=data[prop],"title"===prop&&(titleUpdated=!0))})),titleUpdated&&this.localShow&&this.fixTitle()},createTemplateAndShow:function(){var container=this.getContainer(),Template=this.getTemplate(),$tip=this.$_tip=createNewChildComponent(this,Template,{propsData:{id:this.computedId,html:this.html,placement:this.placement,fallbackPlacement:this.fallbackPlacement,target:this.getPlacementTarget(),boundary:this.getBoundary(),offset:toInteger(this.offset,0),arrowPadding:toInteger(this.arrowPadding,0),boundaryPadding:toInteger(this.boundaryPadding,0)}});this.handleTemplateUpdate(),$tip.$once("show",this.onTemplateShow),$tip.$once("shown",this.onTemplateShown),$tip.$once("hide",this.onTemplateHide),$tip.$once("hidden",this.onTemplateHidden),$tip.$once(HOOK_EVENT_NAME_DESTROYED,this.destroyTemplate),$tip.$on("focusin",this.handleEvent),$tip.$on("focusout",this.handleEvent),$tip.$on("mouseenter",this.handleEvent),$tip.$on("mouseleave",this.handleEvent),$tip.$mount(container.appendChild(document.createElement("div")))},hideTemplate:function(){this.$_tip&&this.$_tip.hide(),this.clearActiveTriggers(),this.$_hoverState=""},destroyTemplate:function(){this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.$_hoverState="",this.clearActiveTriggers(),this.localPlacementTarget=null;try{this.$_tip.$destroy()}catch(_unused){}this.$_tip=null,this.removeAriaDescribedby(),this.restoreTitle(),this.localShow=!1},getTemplateElement:function(){return this.$_tip?this.$_tip.$el:null},handleTemplateUpdate:function(){var _this4=this,$tip=this.$_tip;if($tip){["title","content","variant","customClass","noFade","interactive"].forEach((function(prop){$tip[prop]!==_this4[prop]&&($tip[prop]=_this4[prop])}))}},show:function(){var target=this.getTarget();if(target&&contains(document.body,target)&&isVisible(target)&&!this.dropdownOpen()&&(!isUndefinedOrNull(this.title)&&""!==this.title||!isUndefinedOrNull(this.content)&&""!==this.content)&&!this.$_tip&&!this.localShow){this.localShow=!0;var showEvent=this.buildEvent("show",{cancelable:!0});this.emitEvent(showEvent),showEvent.defaultPrevented?this.destroyTemplate():(this.fixTitle(),this.addAriaDescribedby(),this.createTemplateAndShow())}},hide:function(){var force=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.getTemplateElement()&&this.localShow){var hideEvent=this.buildEvent("hide",{cancelable:!force});this.emitEvent(hideEvent),hideEvent.defaultPrevented||this.hideTemplate()}else this.restoreTitle()},forceHide:function(){this.getTemplateElement()&&this.localShow&&(this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.$_hoverState="",this.clearActiveTriggers(),this.$_tip&&(this.$_tip.noFade=!0),this.hide(!0))},enable:function(){this.$_enabled=!0,this.emitEvent(this.buildEvent("enabled"))},disable:function(){this.$_enabled=!1,this.emitEvent(this.buildEvent("disabled"))},onTemplateShow:function(){this.setWhileOpenListeners(!0)},onTemplateShown:function(){var prevHoverState=this.$_hoverState;this.$_hoverState="","out"===prevHoverState&&this.leave(null),this.emitEvent(this.buildEvent("shown"))},onTemplateHide:function(){this.setWhileOpenListeners(!1)},onTemplateHidden:function(){this.destroyTemplate(),this.emitEvent(this.buildEvent("hidden"))},getTarget:function(){var target=this.target;return isString(target)?target=getById(target.replace(/^#/,"")):isFunction$1(target)?target=target():target&&(target=target.$el||target),isElement(target)?target:null},getPlacementTarget:function(){return this.getTarget()},getTargetId:function(){var target=this.getTarget();return target&&target.id?target.id:null},getContainer:function(){var container=!!this.container&&(this.container.$el||this.container),body=document.body,target=this.getTarget();return!1===container?closest(CONTAINER_SELECTOR,target)||body:isString(container)&&getById(container.replace(/^#/,""))||body},getBoundary:function(){return this.boundary?this.boundary.$el||this.boundary:"scrollParent"},isInModal:function(){var target=this.getTarget();return target&&closest(MODAL_SELECTOR,target)},isDropdown:function(){var target=this.getTarget();return target&&hasClass(target,"dropdown")},dropdownOpen:function(){var target=this.getTarget();return this.isDropdown()&&target&&select(".dropdown-menu.show",target)},clearHoverTimeout:function(){clearTimeout(this.$_hoverTimeout),this.$_hoverTimeout=null},clearVisibilityInterval:function(){clearInterval(this.$_visibleInterval),this.$_visibleInterval=null},clearActiveTriggers:function(){for(var trigger in this.activeTrigger)this.activeTrigger[trigger]=!1},addAriaDescribedby:function(){var target=this.getTarget(),desc=getAttr(target,"aria-describedby")||"";desc=desc.split(/\s+/).concat(this.computedId).join(" ").trim(),setAttr(target,"aria-describedby",desc)},removeAriaDescribedby:function(){var _this5=this,target=this.getTarget(),desc=getAttr(target,"aria-describedby")||"";(desc=desc.split(/\s+/).filter((function(d){return d!==_this5.computedId})).join(" ").trim())?setAttr(target,"aria-describedby",desc):removeAttr(target,"aria-describedby")},fixTitle:function(){var target=this.getTarget();if(hasAttr(target,"title")){var title=getAttr(target,"title");setAttr(target,"title",""),title&&setAttr(target,"data-original-title",title)}},restoreTitle:function(){var target=this.getTarget();if(hasAttr(target,"data-original-title")){var title=getAttr(target,"data-original-title");removeAttr(target,"data-original-title"),title&&setAttr(target,"title",title)}},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvEvent(type,_objectSpread2$3({cancelable:!1,target:this.getTarget(),relatedTarget:this.getTemplateElement()||null,componentId:this.computedId,vueTarget:this},options))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName(this.templateType,type),bvEvent),this.$emit(type,bvEvent)},listen:function(){var _this6=this,el=this.getTarget();el&&(this.setRootListener(!0),this.computedTriggers.forEach((function(trigger){"click"===trigger?eventOn(el,"click",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE):"focus"===trigger?(eventOn(el,"focusin",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE),eventOn(el,"focusout",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE)):"blur"===trigger?eventOn(el,"focusout",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE):"hover"===trigger&&(eventOn(el,"mouseenter",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE),eventOn(el,"mouseleave",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE))}),this))},unListen:function(){var _this7=this,target=this.getTarget();this.setRootListener(!1),["click","focusin","focusout","mouseenter","mouseleave"].forEach((function(event){target&&eventOff(target,event,_this7.handleEvent,EVENT_OPTIONS_NO_CAPTURE)}),this)},setRootListener:function(on){var method=on?"listenOnRoot":"listenOffRoot",type=this.templateType;this[method](getRootActionEventName(type,"hide"),this.doHide),this[method](getRootActionEventName(type,"show"),this.doShow),this[method](getRootActionEventName(type,"disable"),this.doDisable),this[method](getRootActionEventName(type,"enable"),this.doEnable)},setWhileOpenListeners:function(on){this.setModalListener(on),this.setDropdownListener(on),this.visibleCheck(on),this.setOnTouchStartListener(on)},visibleCheck:function(on){var _this8=this;this.clearVisibilityInterval();var target=this.getTarget();on&&(this.$_visibleInterval=setInterval((function(){!_this8.getTemplateElement()||!_this8.localShow||target.parentNode&&isVisible(target)||_this8.forceHide()}),100))},setModalListener:function(on){this.isInModal()&&this[on?"listenOnRoot":"listenOffRoot"](ROOT_EVENT_NAME_MODAL_HIDDEN,this.forceHide)},setOnTouchStartListener:function(on){var _this9=this;"ontouchstart"in document.documentElement&&from(document.body.children).forEach((function(el){eventOnOff(on,el,"mouseover",_this9.$_noop)}))},setDropdownListener:function(on){var target=this.getTarget();if(target&&this.bvEventRoot&&this.isDropdown){var instance=function(element){if(!isVue3)return element.__vue__;for(var currentElement=element;currentElement;){if(registry.has(currentElement))return registry.get(currentElement);currentElement=currentElement.parentNode}return null}(target);instance&&instance[on?"$on":"$off"]("shown",this.forceHide)}},handleEvent:function(event){var target=this.getTarget();if(target&&!isDisabled(target)&&this.$_enabled&&!this.dropdownOpen()){var type=event.type,triggers=this.computedTriggers;if("click"===type&&arrayIncludes(triggers,"click"))this.click(event);else if("mouseenter"===type&&arrayIncludes(triggers,"hover"))this.enter(event);else if("focusin"===type&&arrayIncludes(triggers,"focus"))this.enter(event);else if("focusout"===type&&(arrayIncludes(triggers,"focus")||arrayIncludes(triggers,"blur"))||"mouseleave"===type&&arrayIncludes(triggers,"hover")){var tip=this.getTemplateElement(),eventTarget=event.target,relatedTarget=event.relatedTarget;if(tip&&contains(tip,eventTarget)&&contains(target,relatedTarget)||tip&&contains(target,eventTarget)&&contains(tip,relatedTarget)||tip&&contains(tip,eventTarget)&&contains(tip,relatedTarget)||contains(target,eventTarget)&&contains(target,relatedTarget))return;this.leave(event)}}},doHide:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.forceHide()},doShow:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.show()},doDisable:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.disable()},doEnable:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.enable()},click:function(event){this.$_enabled&&!this.dropdownOpen()&&(attemptFocus(event.currentTarget),this.activeTrigger.click=!this.activeTrigger.click,this.isWithActiveTrigger?this.enter(null):this.leave(null))},toggle:function(){this.$_enabled&&!this.dropdownOpen()&&(this.localShow?this.leave(null):this.enter(null))},enter:function(){var _this10=this,event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;event&&(this.activeTrigger["focusin"===event.type?"focus":"hover"]=!0),this.localShow||"in"===this.$_hoverState?this.$_hoverState="in":(this.clearHoverTimeout(),this.$_hoverState="in",this.computedDelay.show?(this.fixTitle(),this.$_hoverTimeout=setTimeout((function(){"in"===_this10.$_hoverState?_this10.show():_this10.localShow||_this10.restoreTitle()}),this.computedDelay.show)):this.show())},leave:function(){var _this11=this,event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;event&&(this.activeTrigger["focusout"===event.type?"focus":"hover"]=!1,"focusout"===event.type&&arrayIncludes(this.computedTriggers,"blur")&&(this.activeTrigger.click=!1,this.activeTrigger.hover=!1)),this.isWithActiveTrigger||(this.clearHoverTimeout(),this.$_hoverState="out",this.computedDelay.hide?this.$_hoverTimeout=setTimeout((function(){"out"===_this11.$_hoverState&&_this11.hide()}),this.computedDelay.hide):this.hide())}}}),props$E=makePropsConfigurable((_defineProperty(_makePropsConfigurabl={boundary:makeProp([HTMLElement,PROP_TYPE_OBJECT,PROP_TYPE_STRING],"scrollParent"),boundaryPadding:makeProp(PROP_TYPE_NUMBER_STRING,50),container:makeProp([HTMLElement,PROP_TYPE_OBJECT,PROP_TYPE_STRING]),customClass:makeProp(PROP_TYPE_STRING),delay:makeProp(PROP_TYPE_NUMBER_OBJECT_STRING,50)},"disabled",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"fallbackPlacement",makeProp(PROP_TYPE_ARRAY_STRING,"flip")),_defineProperty(_makePropsConfigurabl,"id",makeProp(PROP_TYPE_STRING)),_defineProperty(_makePropsConfigurabl,"noFade",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"noninteractive",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"offset",makeProp(PROP_TYPE_NUMBER_STRING,0)),_defineProperty(_makePropsConfigurabl,"placement",makeProp(PROP_TYPE_STRING,"top")),_defineProperty(_makePropsConfigurabl,"show",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"target",makeProp([HTMLElement,SVGElement,PROP_TYPE_FUNCTION,PROP_TYPE_OBJECT,PROP_TYPE_STRING],void 0,!0)),_defineProperty(_makePropsConfigurabl,"title",makeProp(PROP_TYPE_STRING)),_defineProperty(_makePropsConfigurabl,"triggers",makeProp(PROP_TYPE_ARRAY_STRING,"hover focus")),_defineProperty(_makePropsConfigurabl,"variant",makeProp(PROP_TYPE_STRING)),_makePropsConfigurabl),"BTooltip"),BTooltip=extend({name:"BTooltip",mixins:[normalizeSlotMixin,useParentMixin],inheritAttrs:!1,props:props$E,data:function(){return{localShow:this.show,localTitle:"",localContent:""}},computed:{templateData:function(){return _objectSpread2$3({title:this.localTitle,content:this.localContent,interactive:!this.noninteractive},pick$1(this.$props,["boundary","boundaryPadding","container","customClass","delay","fallbackPlacement","id","noFade","offset","placement","target","target","triggers","variant","disabled"]))},templateTitleContent:function(){return{title:this.title,content:this.content}}},watch:(_watch$5={},_defineProperty(_watch$5,"show",(function(newValue,oldValue){newValue!==oldValue&&newValue!==this.localShow&&this.$_toolpop&&(newValue?this.$_toolpop.show():this.$_toolpop.forceHide())})),_defineProperty(_watch$5,"disabled",(function(newValue){newValue?this.doDisable():this.doEnable()})),_defineProperty(_watch$5,"localShow",(function(newValue){this.$emit("update:show",newValue)})),_defineProperty(_watch$5,"templateData",(function(){var _this=this;this.$nextTick((function(){_this.$_toolpop&&_this.$_toolpop.updateData(_this.templateData)}))})),_defineProperty(_watch$5,"templateTitleContent",(function(){this.$nextTick(this.updateContent)})),_watch$5),created:function(){this.$_toolpop=null},updated:function(){this.$nextTick(this.updateContent)},beforeDestroy:function(){this.$off("open",this.doOpen),this.$off("close",this.doClose),this.$off("disable",this.doDisable),this.$off("enable",this.doEnable),this.$_toolpop&&(this.$_toolpop.$destroy(),this.$_toolpop=null)},mounted:function(){var _this2=this;this.$nextTick((function(){var Component=_this2.getComponent();_this2.updateContent();var scopeId=getScopeId(_this2)||getScopeId(_this2.bvParent),$toolpop=_this2.$_toolpop=createNewChildComponent(_this2,Component,{_scopeId:scopeId||void 0});$toolpop.updateData(_this2.templateData),$toolpop.$on("show",_this2.onShow),$toolpop.$on("shown",_this2.onShown),$toolpop.$on("hide",_this2.onHide),$toolpop.$on("hidden",_this2.onHidden),$toolpop.$on("disabled",_this2.onDisabled),$toolpop.$on("enabled",_this2.onEnabled),_this2.disabled&&_this2.doDisable(),_this2.$on("open",_this2.doOpen),_this2.$on("close",_this2.doClose),_this2.$on("disable",_this2.doDisable),_this2.$on("enable",_this2.doEnable),_this2.localShow&&$toolpop.show()}))},methods:{getComponent:function(){return BVTooltip},updateContent:function(){this.setTitle(this.normalizeSlot()||this.title)},setTitle:function(value){value=isUndefinedOrNull(value)?"":value,this.localTitle!==value&&(this.localTitle=value)},setContent:function(value){value=isUndefinedOrNull(value)?"":value,this.localContent!==value&&(this.localContent=value)},onShow:function(bvEvent){this.$emit("show",bvEvent),bvEvent&&(this.localShow=!bvEvent.defaultPrevented)},onShown:function(bvEvent){this.localShow=!0,this.$emit("shown",bvEvent)},onHide:function(bvEvent){this.$emit("hide",bvEvent)},onHidden:function(bvEvent){this.$emit("hidden",bvEvent),this.localShow=!1},onDisabled:function(bvEvent){bvEvent&&"disabled"===bvEvent.type&&(this.$emit("update:disabled",!0),this.$emit("disabled",bvEvent))},onEnabled:function(bvEvent){bvEvent&&"enabled"===bvEvent.type&&(this.$emit("update:disabled",!1),this.$emit("enabled",bvEvent))},doOpen:function(){!this.localShow&&this.$_toolpop&&this.$_toolpop.show()},doClose:function(){this.localShow&&this.$_toolpop&&this.$_toolpop.hide()},doDisable:function(){this.$_toolpop&&this.$_toolpop.disable()},doEnable:function(){this.$_toolpop&&this.$_toolpop.enable()}},render:function(h){return h()}}),BVPopoverTemplate=extend({name:"BVPopoverTemplate",extends:BVTooltipTemplate,computed:{templateType:function(){return"popover"}},methods:{renderTemplate:function(h){var title=this.title,content=this.content,$title=isFunction$1(title)?title({}):title,$content=isFunction$1(content)?content({}):content,titleDomProps=this.html&&!isFunction$1(title)?{innerHTML:title}:{},contentDomProps=this.html&&!isFunction$1(content)?{innerHTML:content}:{};return h("div",{staticClass:"popover b-popover",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[h("div",{staticClass:"arrow",ref:"arrow"}),isUndefinedOrNull($title)||""===$title?h():h("h3",{staticClass:"popover-header",domProps:titleDomProps},[$title]),isUndefinedOrNull($content)||""===$content?h():h("div",{staticClass:"popover-body",domProps:contentDomProps},[$content])])}}}),BVPopover=extend({name:"BVPopover",extends:BVTooltip,computed:{templateType:function(){return"popover"}},methods:{getTemplate:function(){return BVPopoverTemplate}}}),props$D=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$E),{},{content:makeProp(PROP_TYPE_STRING),placement:makeProp(PROP_TYPE_STRING,"right"),triggers:makeProp(PROP_TYPE_ARRAY_STRING,"click")})),"BPopover"),BPopover=extend({name:"BPopover",extends:BTooltip,inheritAttrs:!1,props:props$D,methods:{getComponent:function(){return BVPopover},updateContent:function(){this.setContent(this.normalizeSlot()||this.content),this.setTitle(this.normalizeSlot("title")||this.title)}}}),BV_POPOVER="__BV_Popover__",validTriggers$1={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},htmlRE$1=/^html$/i,noFadeRE$1=/^nofade$/i,placementRE$1=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,boundaryRE$1=/^(window|viewport|scrollParent)$/i,delayRE$1=/^d\d+$/i,delayShowRE$1=/^ds\d+$/i,delayHideRE$1=/^dh\d+$/i,offsetRE$2=/^o-?\d+$/i,variantRE$1=/^v-.+$/i,spacesRE$1=/\s+/,applyPopover=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings,vnode){var config={title:void 0,content:void 0,trigger:"",placement:"right",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,disabled:!1,id:null,html:!1,delay:getComponentConfig("BPopover","delay",50),boundary:String(getComponentConfig("BPopover","boundary","scrollParent")),boundaryPadding:toInteger(getComponentConfig("BPopover","boundaryPadding",5),0),variant:getComponentConfig("BPopover","variant"),customClass:getComponentConfig("BPopover","customClass")};if(isString(bindings.value)||isNumber(bindings.value)||isFunction$1(bindings.value)?config.content=bindings.value:isPlainObject(bindings.value)&&(config=_objectSpread2$3(_objectSpread2$3({},config),bindings.value)),bindings.arg&&(config.container="#".concat(bindings.arg)),isUndefined(config.title)){var data=vnode.data||{};config.title=data.attrs&&!isUndefinedOrNull(data.attrs.title)?data.attrs.title:void 0}isPlainObject(config.delay)||(config.delay={show:toInteger(config.delay,0),hide:toInteger(config.delay,0)}),keys(bindings.modifiers).forEach((function(mod){if(htmlRE$1.test(mod))config.html=!0;else if(noFadeRE$1.test(mod))config.animation=!1;else if(placementRE$1.test(mod))config.placement=mod;else if(boundaryRE$1.test(mod))mod="scrollparent"===mod?"scrollParent":mod,config.boundary=mod;else if(delayRE$1.test(mod)){var delay=toInteger(mod.slice(1),0);config.delay.show=delay,config.delay.hide=delay}else delayShowRE$1.test(mod)?config.delay.show=toInteger(mod.slice(2),0):delayHideRE$1.test(mod)?config.delay.hide=toInteger(mod.slice(2),0):offsetRE$2.test(mod)?config.offset=toInteger(mod.slice(1),0):variantRE$1.test(mod)&&(config.variant=mod.slice(2)||null)}));var selectedTriggers={};return concat(config.trigger||"").filter(identity).join(" ").trim().toLowerCase().split(spacesRE$1).forEach((function(trigger){validTriggers$1[trigger]&&(selectedTriggers[trigger]=!0)})),keys(bindings.modifiers).forEach((function(mod){mod=mod.toLowerCase(),validTriggers$1[mod]&&(selectedTriggers[mod]=!0)})),config.trigger=keys(selectedTriggers).join(" "),"blur"===config.trigger&&(config.trigger="focus"),config.trigger||(config.trigger="click"),config}(bindings,vnode);if(!el[BV_POPOVER]){var parent=getInstanceFromDirective(vnode,bindings);el[BV_POPOVER]=createNewChildComponent(parent,BVPopover,{_scopeId:getScopeId(parent,void 0)}),el[BV_POPOVER].__bv_prev_data__={},el[BV_POPOVER].$on("show",(function(){var data={};isFunction$1(config.title)&&(data.title=config.title(el)),isFunction$1(config.content)&&(data.content=config.content(el)),keys(data).length>0&&el[BV_POPOVER].updateData(data)}))}var data={title:config.title,content:config.content,triggers:config.trigger,placement:config.placement,fallbackPlacement:config.fallbackPlacement,variant:config.variant,customClass:config.customClass,container:config.container,boundary:config.boundary,delay:config.delay,offset:config.offset,noFade:!config.animation,id:config.id,disabled:config.disabled,html:config.html},oldData=el[BV_POPOVER].__bv_prev_data__;if(el[BV_POPOVER].__bv_prev_data__=data,!looseEqual(data,oldData)){var newData={target:el};keys(data).forEach((function(prop){data[prop]!==oldData[prop]&&(newData[prop]="title"!==prop&&"content"!==prop||!isFunction$1(data[prop])?data[prop]:data[prop](el))})),el[BV_POPOVER].updateData(newData)}}},VBPopoverPlugin=pluginFactory({directives:{VBPopover:{bind:function(el,bindings,vnode){applyPopover(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){nextTick((function(){applyPopover(el,bindings,vnode)}))},unbind:function(el){!function(el){el[BV_POPOVER]&&(el[BV_POPOVER].$destroy(),el[BV_POPOVER]=null),delete el[BV_POPOVER]}(el)}}}}),PopoverPlugin=pluginFactory({components:{BPopover:BPopover},plugins:{VBPopoverPlugin:VBPopoverPlugin}}),props$C=makePropsConfigurable({animated:makeProp(PROP_TYPE_BOOLEAN,null),label:makeProp(PROP_TYPE_STRING),labelHtml:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,null),precision:makeProp(PROP_TYPE_NUMBER_STRING,null),showProgress:makeProp(PROP_TYPE_BOOLEAN,null),showValue:makeProp(PROP_TYPE_BOOLEAN,null),striped:makeProp(PROP_TYPE_BOOLEAN,null),value:makeProp(PROP_TYPE_NUMBER_STRING,0),variant:makeProp(PROP_TYPE_STRING)},"BProgressBar"),BProgressBar=extend({name:"BProgressBar",mixins:[normalizeSlotMixin],inject:{getBvProgress:{default:function(){return function(){return{}}}}},props:props$C,computed:{bvProgress:function(){return this.getBvProgress()},progressBarClasses:function(){var computedAnimated=this.computedAnimated,computedVariant=this.computedVariant;return[computedVariant?"bg-".concat(computedVariant):"",this.computedStriped||computedAnimated?"progress-bar-striped":"",computedAnimated?"progress-bar-animated":""]},progressBarStyles:function(){return{width:this.computedValue/this.computedMax*100+"%"}},computedValue:function(){return toFloat(this.value,0)},computedMax:function(){var max=toFloat(this.max)||toFloat(this.bvProgress.max,0);return max>0?max:100},computedPrecision:function(){return mathMax(toInteger(this.precision,toInteger(this.bvProgress.precision,0)),0)},computedProgress:function(){var precision=this.computedPrecision,p=mathPow(10,precision);return toFixed(100*p*this.computedValue/this.computedMax/p,precision)},computedVariant:function(){return this.variant||this.bvProgress.variant},computedStriped:function(){return isBoolean(this.striped)?this.striped:this.bvProgress.striped||!1},computedAnimated:function(){return isBoolean(this.animated)?this.animated:this.bvProgress.animated||!1},computedShowProgress:function(){return isBoolean(this.showProgress)?this.showProgress:this.bvProgress.showProgress||!1},computedShowValue:function(){return isBoolean(this.showValue)?this.showValue:this.bvProgress.showValue||!1}},render:function(h){var $children,label=this.label,labelHtml=this.labelHtml,computedValue=this.computedValue,computedPrecision=this.computedPrecision,domProps={};return this.hasNormalizedSlot()?$children=this.normalizeSlot():label||labelHtml?domProps=htmlOrText(labelHtml,label):this.computedShowProgress?$children=this.computedProgress:this.computedShowValue&&($children=toFixed(computedValue,computedPrecision)),h("div",{staticClass:"progress-bar",class:this.progressBarClasses,style:this.progressBarStyles,attrs:{role:"progressbar","aria-valuemin":"0","aria-valuemax":toString(this.computedMax),"aria-valuenow":toFixed(computedValue,computedPrecision)},domProps:domProps},$children)}}),progressBarProps=omit(props$C,["label","labelHtml"]),props$B=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},progressBarProps),{},{animated:makeProp(PROP_TYPE_BOOLEAN,!1),height:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,100),precision:makeProp(PROP_TYPE_NUMBER_STRING,0),showProgress:makeProp(PROP_TYPE_BOOLEAN,!1),showValue:makeProp(PROP_TYPE_BOOLEAN,!1),striped:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BProgress"),ProgressPlugin=pluginFactory({components:{BProgress:extend({name:"BProgress",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvProgress:function(){return _this}}},props:props$B,computed:{progressHeight:function(){return{height:this.height||null}}},render:function(h){var $childNodes=this.normalizeSlot();return $childNodes||($childNodes=h(BProgressBar,{props:pluckProps(progressBarProps,this.$props)})),h("div",{staticClass:"progress",style:this.progressHeight},[$childNodes])}}),BProgressBar:BProgressBar}}),ROOT_ACTION_EVENT_NAME_REQUEST_STATE=getRootActionEventName("BCollapse","request-state"),ROOT_ACTION_EVENT_NAME_TOGGLE=getRootActionEventName("BCollapse","toggle"),ROOT_EVENT_NAME_STATE=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE=getRootEventName("BCollapse","sync-state"),_makeModelMixin$3=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1,event:"change"}),modelMixin$3=_makeModelMixin$3.mixin,modelProps$3=_makeModelMixin$3.props,MODEL_PROP_NAME$3=_makeModelMixin$3.prop,MODEL_EVENT_NAME$3=_makeModelMixin$3.event,props$A=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$3),{},{ariaLabel:makeProp(PROP_TYPE_STRING),ariaLabelledby:makeProp(PROP_TYPE_STRING),backdrop:makeProp(PROP_TYPE_BOOLEAN,!1),backdropVariant:makeProp(PROP_TYPE_STRING,"dark"),bgVariant:makeProp(PROP_TYPE_STRING,"light"),bodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),closeLabel:makeProp(PROP_TYPE_STRING),footerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),footerTag:makeProp(PROP_TYPE_STRING,"footer"),headerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerTag:makeProp(PROP_TYPE_STRING,"header"),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnBackdrop:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnEsc:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnRouteChange:makeProp(PROP_TYPE_BOOLEAN,!1),noEnforceFocus:makeProp(PROP_TYPE_BOOLEAN,!1),noHeader:makeProp(PROP_TYPE_BOOLEAN,!1),noHeaderClose:makeProp(PROP_TYPE_BOOLEAN,!1),noSlide:makeProp(PROP_TYPE_BOOLEAN,!1),right:makeProp(PROP_TYPE_BOOLEAN,!1),shadow:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),sidebarClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tag:makeProp(PROP_TYPE_STRING,"div"),textVariant:makeProp(PROP_TYPE_STRING,"dark"),title:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING),zIndex:makeProp(PROP_TYPE_NUMBER_STRING)})),"BSidebar"),renderHeader=function(h,ctx){if(ctx.noHeader)return h();var $content=ctx.normalizeSlot("header",ctx.slotScope);if(!$content){var $title=function(h,ctx){var title=ctx.normalizeSlot("title",ctx.slotScope)||ctx.title;return title?h("strong",{attrs:{id:ctx.safeId("__title__")}},[title]):h("span")}(h,ctx),$close=function(h,ctx){if(ctx.noHeaderClose)return h();var closeLabel=ctx.closeLabel,textVariant=ctx.textVariant,hide=ctx.hide;return h(BButtonClose,{props:{ariaLabel:closeLabel,textVariant:textVariant},on:{click:hide},ref:"close-button"},[ctx.normalizeSlot("header-close")||h(BIconX)])}(h,ctx);$content=ctx.right?[$close,$title]:[$title,$close]}return h(ctx.headerTag,{staticClass:"".concat("b-sidebar","-header"),class:ctx.headerClass,key:"header"},$content)},renderBody=function(h,ctx){return h("div",{staticClass:"".concat("b-sidebar","-body"),class:ctx.bodyClass,key:"body"},[ctx.normalizeSlot("default",ctx.slotScope)])},renderFooter=function(h,ctx){var $footer=ctx.normalizeSlot("footer",ctx.slotScope);return $footer?h(ctx.footerTag,{staticClass:"".concat("b-sidebar","-footer"),class:ctx.footerClass,key:"footer"},[$footer]):h()},renderContent=function(h,ctx){var $header=renderHeader(h,ctx);return ctx.lazy&&!ctx.isOpen?$header:[$header,renderBody(h,ctx),renderFooter(h,ctx)]},renderBackdrop=function(h,ctx){if(!ctx.backdrop)return h();var backdropVariant=ctx.backdropVariant;return h("div",{directives:[{name:"show",value:ctx.localShow}],staticClass:"b-sidebar-backdrop",class:_defineProperty({},"bg-".concat(backdropVariant),backdropVariant),on:{click:ctx.onBackdropClick}})},BSidebar=extend({name:"BSidebar",mixins:[attrsMixin,idMixin,modelMixin$3,listenOnRootMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$A,data:function(){var visible=!!this[MODEL_PROP_NAME$3];return{localShow:visible,isOpen:visible}},computed:{transitionProps:function(){return this.noSlide?{css:!0}:{css:!0,enterClass:"",enterActiveClass:"slide",enterToClass:"show",leaveClass:"show",leaveActiveClass:"slide",leaveToClass:""}},slotScope:function(){return{hide:this.hide,right:this.right,visible:this.localShow}},hasTitle:function(){var $scopedSlots=this.$scopedSlots,$slots=this.$slots;return!(this.noHeader||this.hasNormalizedSlot("header")||!this.normalizeSlot("title",this.slotScope,$scopedSlots,$slots)&&!this.title)},titleId:function(){return this.hasTitle?this.safeId("__title__"):null},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{id:this.safeId(),tabindex:"-1",role:"dialog","aria-modal":this.backdrop?"true":"false","aria-hidden":this.localShow?null:"true","aria-label":this.ariaLabel||null,"aria-labelledby":this.ariaLabelledby||this.titleId||null})}},watch:(_watch$4={},_defineProperty(_watch$4,MODEL_PROP_NAME$3,(function(newValue,oldValue){newValue!==oldValue&&(this.localShow=newValue)})),_defineProperty(_watch$4,"localShow",(function(newValue,oldValue){newValue!==oldValue&&(this.emitState(newValue),this.$emit(MODEL_EVENT_NAME$3,newValue))})),_defineProperty(_watch$4,"$route",(function(){var newValue=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},oldValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.noCloseOnRouteChange||newValue.fullPath===oldValue.fullPath||this.hide()})),_watch$4),created:function(){this.$_returnFocusEl=null},mounted:function(){var _this=this;this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE,this.handleToggle),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE,this.handleSync),this.$nextTick((function(){_this.emitState(_this.localShow)}))},activated:function(){this.emitSync()},beforeDestroy:function(){this.localShow=!1,this.$_returnFocusEl=null},methods:{hide:function(){this.localShow=!1},emitState:function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.localShow;this.emitOnRoot(ROOT_EVENT_NAME_STATE,this.safeId(),state)},emitSync:function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.localShow;this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE,this.safeId(),state)},handleToggle:function(id){id&&id===this.safeId()&&(this.localShow=!this.localShow)},handleSync:function(id){var _this2=this;id&&id===this.safeId()&&this.$nextTick((function(){_this2.emitSync(_this2.localShow)}))},onKeydown:function(event){var keyCode=event.keyCode;!this.noCloseOnEsc&&27===keyCode&&this.localShow&&this.hide()},onBackdropClick:function(){this.localShow&&!this.noCloseOnBackdrop&&this.hide()},onTopTrapFocus:function(){var tabables=getTabables(this.$refs.content);this.enforceFocus(tabables.reverse()[0])},onBottomTrapFocus:function(){var tabables=getTabables(this.$refs.content);this.enforceFocus(tabables[0])},onBeforeEnter:function(){this.$_returnFocusEl=getActiveElement(IS_BROWSER?[document.body]:[]),this.isOpen=!0},onAfterEnter:function(el){contains(el,getActiveElement())||this.enforceFocus(el),this.$emit("shown")},onAfterLeave:function(){this.enforceFocus(this.$_returnFocusEl),this.$_returnFocusEl=null,this.isOpen=!1,this.$emit("hidden")},enforceFocus:function(el){this.noEnforceFocus||attemptFocus(el)}},render:function(h){var _ref,bgVariant=this.bgVariant,width=this.width,textVariant=this.textVariant,localShow=this.localShow,shadow=""===this.shadow||this.shadow,$sidebar=h(this.tag,{staticClass:"b-sidebar",class:[(_ref={shadow:!0===shadow},_defineProperty(_ref,"shadow-".concat(shadow),shadow&&!0!==shadow),_defineProperty(_ref,"".concat("b-sidebar","-right"),this.right),_defineProperty(_ref,"bg-".concat(bgVariant),bgVariant),_defineProperty(_ref,"text-".concat(textVariant),textVariant),_ref),this.sidebarClass],style:{width:width},attrs:this.computedAttrs,directives:[{name:"show",value:localShow}],ref:"content"},[renderContent(h,this)]);$sidebar=h("transition",{props:this.transitionProps,on:{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,afterLeave:this.onAfterLeave}},[$sidebar]);var $backdrop=h(BVTransition,{props:{noFade:this.noSlide}},[renderBackdrop(h,this)]),$tabTrapTop=h(),$tabTrapBottom=h();return this.backdrop&&localShow&&($tabTrapTop=h("div",{attrs:{tabindex:"0"},on:{focus:this.onTopTrapFocus}}),$tabTrapBottom=h("div",{attrs:{tabindex:"0"},on:{focus:this.onBottomTrapFocus}})),h("div",{staticClass:"b-sidebar-outer",style:{zIndex:this.zIndex},attrs:{tabindex:"-1"},on:{keydown:this.onKeydown}},[$tabTrapTop,$sidebar,$tabTrapBottom,$backdrop])}}),SidebarPlugin=pluginFactory({components:{BSidebar:BSidebar},plugins:{VBTogglePlugin:VBTogglePlugin}}),props$z=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING,"wave"),height:makeProp(PROP_TYPE_STRING),size:makeProp(PROP_TYPE_STRING),type:makeProp(PROP_TYPE_STRING,"text"),variant:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING)},"BSkeleton"),BSkeleton=extend({name:"BSkeleton",functional:!0,props:props$z,render:function(h,_ref){var _class,data=_ref.data,props=_ref.props,size=props.size,animation=props.animation,variant=props.variant;return h("div",a(data,{staticClass:"b-skeleton",style:{width:size||props.width,height:size||props.height},class:(_class={},_defineProperty(_class,"b-skeleton-".concat(props.type),!0),_defineProperty(_class,"b-skeleton-animate-".concat(animation),animation),_defineProperty(_class,"bg-".concat(variant),variant),_class)}))}});makePropsConfigurable(omit(props$2h,["content","stacked"]),"BIconstack");var _props,_watch$3,_watch$2,_objectSpread2,_watch$1,props$y=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING,"wave"),icon:makeProp(PROP_TYPE_STRING),iconProps:makeProp(PROP_TYPE_OBJECT,{})},"BSkeletonIcon"),BSkeletonIcon=extend({name:"BSkeletonIcon",functional:!0,props:props$y,render:function(h,_ref){var data=_ref.data,props=_ref.props,icon=props.icon,animation=props.animation,$icon=h(BIcon,{staticClass:"b-skeleton-icon",props:_objectSpread2$3(_objectSpread2$3({},props.iconProps),{},{icon:icon})});return h("div",a(data,{staticClass:"b-skeleton-icon-wrapper position-relative d-inline-block overflow-hidden",class:_defineProperty({},"b-skeleton-animate-".concat(animation),animation)}),[$icon])}}),props$x=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING),aspect:makeProp(PROP_TYPE_STRING,"16:9"),cardImg:makeProp(PROP_TYPE_STRING),height:makeProp(PROP_TYPE_STRING),noAspect:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING)},"BSkeletonImg"),BSkeletonImg=extend({name:"BSkeletonImg",functional:!0,props:props$x,render:function(h,_ref){var data=_ref.data,props=_ref.props,aspect=props.aspect,width=props.width,height=props.height,animation=props.animation,variant=props.variant,cardImg=props.cardImg,$img=h(BSkeleton,a(data,{props:{type:"img",width:width,height:height,animation:animation,variant:variant},class:_defineProperty({},"card-img-".concat(cardImg),cardImg)}));return props.noAspect?$img:h(BAspect,{props:{aspect:aspect}},[$img])}}),hasListenerMixin=extend({methods:{hasListener:function(name){if(isVue3)return!0;var $listeners=this.$listeners||{},$events=this._events||{};return!isUndefined($listeners[name])||isArray($events[name])&&$events[name].length>0}}}),props$w=makePropsConfigurable({variant:makeProp(PROP_TYPE_STRING)},"BTr"),BTr=extend({name:"BTr",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTableTr:function(){return _this}}},inject:{getBvTableRowGroup:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$w,computed:{bvTableRowGroup:function(){return this.getBvTableRowGroup()},inTbody:function(){return this.bvTableRowGroup.isTbody},inThead:function(){return this.bvTableRowGroup.isThead},inTfoot:function(){return this.bvTableRowGroup.isTfoot},isDark:function(){return this.bvTableRowGroup.isDark},isStacked:function(){return this.bvTableRowGroup.isStacked},isResponsive:function(){return this.bvTableRowGroup.isResponsive},isStickyHeader:function(){return this.bvTableRowGroup.isStickyHeader},hasStickyHeader:function(){return!this.isStacked&&this.bvTableRowGroup.hasStickyHeader},tableVariant:function(){return this.bvTableRowGroup.tableVariant},headVariant:function(){return this.inThead?this.bvTableRowGroup.headVariant:null},footVariant:function(){return this.inTfoot?this.bvTableRowGroup.footVariant:null},isRowDark:function(){return"light"!==this.headVariant&&"light"!==this.footVariant&&("dark"===this.headVariant||"dark"===this.footVariant||this.isDark)},trClasses:function(){var variant=this.variant;return[variant?"".concat(this.isRowDark?"bg":"table","-").concat(variant):null]},trAttrs:function(){return _objectSpread2$3({role:"row"},this.bvAttrs)}},render:function(h){return h("tr",{class:this.trClasses,attrs:this.trAttrs,on:this.bvListeners},this.normalizeSlot())}}),props$v={},bottomRowMixin=extend({props:props$v,methods:{renderBottomRow:function(){var fields=this.computedFields,stacked=this.stacked,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.hasNormalizedSlot("bottom-row")&&!0!==stacked&&""!==stacked?h(BTr,{staticClass:"b-table-bottom-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-bottom"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-bottom"):tbodyTrAttr,key:"b-bottom-row"},this.normalizeSlot("bottom-row",{columns:fields.length,fields:fields})):h()}}}),parseSpan=function(value){return(value=toInteger(value,0))>0?value:null},spanValidator=function(value){return isUndefinedOrNull(value)||parseSpan(value)>0},props$u=makePropsConfigurable({colspan:makeProp(PROP_TYPE_NUMBER_STRING,null,spanValidator),rowspan:makeProp(PROP_TYPE_NUMBER_STRING,null,spanValidator),stackedHeading:makeProp(PROP_TYPE_STRING),stickyColumn:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING)},"BTableCell"),BTd=extend({name:"BTableCell",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],inject:{getBvTableTr:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$u,computed:{bvTableTr:function(){return this.getBvTableTr()},tag:function(){return"td"},inTbody:function(){return this.bvTableTr.inTbody},inThead:function(){return this.bvTableTr.inThead},inTfoot:function(){return this.bvTableTr.inTfoot},isDark:function(){return this.bvTableTr.isDark},isStacked:function(){return this.bvTableTr.isStacked},isStackedCell:function(){return this.inTbody&&this.isStacked},isResponsive:function(){return this.bvTableTr.isResponsive},isStickyHeader:function(){return this.bvTableTr.isStickyHeader},hasStickyHeader:function(){return this.bvTableTr.hasStickyHeader},isStickyColumn:function(){return!this.isStacked&&(this.isResponsive||this.hasStickyHeader)&&this.stickyColumn},rowVariant:function(){return this.bvTableTr.variant},headVariant:function(){return this.bvTableTr.headVariant},footVariant:function(){return this.bvTableTr.footVariant},tableVariant:function(){return this.bvTableTr.tableVariant},computedColspan:function(){return parseSpan(this.colspan)},computedRowspan:function(){return parseSpan(this.rowspan)},cellClasses:function(){var variant=this.variant,headVariant=this.headVariant,isStickyColumn=this.isStickyColumn;return(!variant&&this.isStickyHeader&&!headVariant||!variant&&isStickyColumn&&this.inTfoot&&!this.footVariant||!variant&&isStickyColumn&&this.inThead&&!headVariant||!variant&&isStickyColumn&&this.inTbody)&&(variant=this.rowVariant||this.tableVariant||"b-table-default"),[variant?"".concat(this.isDark?"bg":"table","-").concat(variant):null,isStickyColumn?"b-table-sticky-column":null]},cellAttrs:function(){var stackedHeading=this.stackedHeading,headOrFoot=this.inThead||this.inTfoot,colspan=this.computedColspan,rowspan=this.computedRowspan,role="cell",scope=null;return headOrFoot?(role="columnheader",scope=colspan>0?"colspan":"col"):isTag(this.tag,"th")&&(role="rowheader",scope=rowspan>0?"rowgroup":"row"),_objectSpread2$3(_objectSpread2$3({colspan:colspan,rowspan:rowspan,role:role,scope:scope},this.bvAttrs),{},{"data-label":this.isStackedCell&&!isUndefinedOrNull(stackedHeading)?toString(stackedHeading):null})}},render:function(h){var $content=[this.normalizeSlot()];return h(this.tag,{class:this.cellClasses,attrs:this.cellAttrs,on:this.bvListeners},[this.isStackedCell?h("div",[$content]):$content])}}),props$t=_defineProperty({},"busy",makeProp(PROP_TYPE_BOOLEAN,!1)),busyMixin=extend({props:props$t,data:function(){return{localBusy:!1}},computed:{computedBusy:function(){return this.busy||this.localBusy}},watch:{localBusy:function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:busy",newValue)}},methods:{stopIfBusy:function(event){return!!this.computedBusy&&(stopEvent(event),!0)},renderBusy:function(){var tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.computedBusy&&this.hasNormalizedSlot("table-busy")?h(BTr,{staticClass:"b-table-busy-slot",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"table-busy"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"table-busy"):tbodyTrAttr,key:"table-busy-slot"},[h(BTd,{props:{colspan:this.computedFields.length||null}},[this.normalizeSlot("table-busy")])]):null}}}),props$s={caption:makeProp(PROP_TYPE_STRING),captionHtml:makeProp(PROP_TYPE_STRING)},captionMixin=extend({props:props$s,computed:{captionId:function(){return this.isStacked?this.safeId("_caption_"):null}},methods:{renderCaption:function(){var caption=this.caption,captionHtml=this.captionHtml,h=this.$createElement,$caption=h(),hasCaptionSlot=this.hasNormalizedSlot("table-caption");return(hasCaptionSlot||caption||captionHtml)&&($caption=h("caption",{attrs:{id:this.captionId},domProps:hasCaptionSlot?{}:htmlOrText(captionHtml,caption),key:"caption",ref:"caption"},this.normalizeSlot("table-caption"))),$caption}}}),props$r={},colgroupMixin=extend({methods:{renderColgroup:function(){var fields=this.computedFields,h=this.$createElement,$colgroup=h();return this.hasNormalizedSlot("table-colgroup")&&($colgroup=h("colgroup",{key:"colgroup"},[this.normalizeSlot("table-colgroup",{columns:fields.length,fields:fields})])),$colgroup}}}),props$q={emptyFilteredHtml:makeProp(PROP_TYPE_STRING),emptyFilteredText:makeProp(PROP_TYPE_STRING,"There are no records matching your request"),emptyHtml:makeProp(PROP_TYPE_STRING),emptyText:makeProp(PROP_TYPE_STRING,"There are no records to show"),showEmpty:makeProp(PROP_TYPE_BOOLEAN,!1)},emptyMixin=extend({props:props$q,methods:{renderEmpty:function(){var _safeVueInstance=safeVueInstance(this),items=_safeVueInstance.computedItems,computedBusy=_safeVueInstance.computedBusy,h=this.$createElement,$empty=h();if(this.showEmpty&&(!items||0===items.length)&&(!computedBusy||!this.hasNormalizedSlot("table-busy"))){var fields=this.computedFields,isFiltered=this.isFiltered,emptyText=this.emptyText,emptyHtml=this.emptyHtml,emptyFilteredText=this.emptyFilteredText,emptyFilteredHtml=this.emptyFilteredHtml,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr;($empty=this.normalizeSlot(isFiltered?"emptyfiltered":"empty",{emptyFilteredHtml:emptyFilteredHtml,emptyFilteredText:emptyFilteredText,emptyHtml:emptyHtml,emptyText:emptyText,fields:fields,items:items}))||($empty=h("div",{class:["text-center","my-2"],domProps:isFiltered?htmlOrText(emptyFilteredHtml,emptyFilteredText):htmlOrText(emptyHtml,emptyText)})),$empty=h(BTd,{props:{colspan:fields.length||null}},[h("div",{attrs:{role:"alert","aria-live":"polite"}},[$empty])]),$empty=h(BTr,{staticClass:"b-table-empty-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-empty"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-empty"):tbodyTrAttr,key:isFiltered?"b-empty-filtered-row":"b-empty-row"},[$empty])}return $empty}}}),stringifyObjectValues=function stringifyObjectValues(value){return isUndefinedOrNull(value)?"":isObject(value)&&!isDate(value)?keys(value).sort().map((function(k){return stringifyObjectValues(value[k])})).filter((function(v){return!!v})).join(" "):toString(value)},FIELD_KEY_CELL_VARIANT="_cellVariants",FIELD_KEY_ROW_VARIANT="_rowVariant",FIELD_KEY_SHOW_DETAILS="_showDetails",IGNORED_FIELD_KEYS=[FIELD_KEY_CELL_VARIANT,FIELD_KEY_ROW_VARIANT,FIELD_KEY_SHOW_DETAILS].reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,!0))}),{}),EVENT_FILTER=["a","a *","button","button *","input:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])","textarea:not(.disabled):not([disabled])",'[role="link"]','[role="link"] *','[role="button"]','[role="button"] *',"[tabindex]:not(.disabled):not([disabled])"].join(","),sanitizeRow=function(row,ignoreFields,includeFields){var fieldsObj=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},formattedRow=keys(fieldsObj).reduce((function(result,key){var field=fieldsObj[key],filterByFormatted=field.filterByFormatted,formatter=isFunction$1(filterByFormatted)?filterByFormatted:filterByFormatted?field.formatter:null;return isFunction$1(formatter)&&(result[key]=formatter(row[key],key,row)),result}),clone(row)),allowedKeys=keys(formattedRow).filter((function(key){return!(IGNORED_FIELD_KEYS[key]||isArray(ignoreFields)&&ignoreFields.length>0&&arrayIncludes(ignoreFields,key)||isArray(includeFields)&&includeFields.length>0&&!arrayIncludes(includeFields,key))}));return pick$1(formattedRow,allowedKeys)},props$p={filter:makeProp([].concat(_toConsumableArray$1(PROP_TYPE_ARRAY_OBJECT_STRING),[PROP_TYPE_REG_EXP])),filterDebounce:makeProp(PROP_TYPE_NUMBER_STRING,0,(function(value){return RX_DIGITS.test(String(value))})),filterFunction:makeProp(PROP_TYPE_FUNCTION),filterIgnoredFields:makeProp(PROP_TYPE_ARRAY,[]),filterIncludedFields:makeProp(PROP_TYPE_ARRAY,[])},filteringMixin=extend({props:props$p,data:function(){return{isFiltered:!1,localFilter:this.filterSanitize(this.filter)}},computed:{computedFilterIgnored:function(){return concat(this.filterIgnoredFields||[]).filter(identity)},computedFilterIncluded:function(){return concat(this.filterIncludedFields||[]).filter(identity)},computedFilterDebounce:function(){var ms=toInteger(this.filterDebounce,0);return ms>0&&warn('Prop "filter-debounce" is deprecated. Use the debounce feature of "" instead.',"BTable"),ms},localFiltering:function(){return!this.hasProvider||!!this.noProviderFiltering},filteredCheck:function(){return{filteredItems:this.filteredItems,localItems:this.localItems,localFilter:this.localFilter}},localFilterFn:function(){var filterFunction=this.filterFunction;return hasPropFunction(filterFunction)?filterFunction:null},filteredItems:function(){var items=this.localItems,criteria=this.localFilter,filterFn=this.localFiltering?this.filterFnFactory(this.localFilterFn,criteria)||this.defaultFilterFnFactory(criteria):null;return filterFn&&items.length>0?items.filter(filterFn):items}},watch:{computedFilterDebounce:function(newValue){!newValue&&this.$_filterTimer&&(this.clearFilterTimer(),this.localFilter=this.filterSanitize(this.filter))},filter:{deep:!0,handler:function(newCriteria){var _this=this,timeout=this.computedFilterDebounce;this.clearFilterTimer(),timeout&&timeout>0?this.$_filterTimer=setTimeout((function(){_this.localFilter=_this.filterSanitize(newCriteria)}),timeout):this.localFilter=this.filterSanitize(newCriteria)}},filteredCheck:function(_ref){var filteredItems=_ref.filteredItems,localFilter=_ref.localFilter,isFiltered=!1;localFilter?looseEqual(localFilter,[])||looseEqual(localFilter,{})?isFiltered=!1:localFilter&&(isFiltered=!0):isFiltered=!1,isFiltered&&this.$emit("filtered",filteredItems,filteredItems.length),this.isFiltered=isFiltered},isFiltered:function(newValue,oldValue){if(!1===newValue&&!0===oldValue){var localItems=this.localItems;this.$emit("filtered",localItems,localItems.length)}}},created:function(){var _this2=this;this.$_filterTimer=null,this.$nextTick((function(){_this2.isFiltered=Boolean(_this2.localFilter)}))},beforeDestroy:function(){this.clearFilterTimer()},methods:{clearFilterTimer:function(){clearTimeout(this.$_filterTimer),this.$_filterTimer=null},filterSanitize:function(criteria){return!this.localFiltering||this.localFilterFn||isString(criteria)||isRegExp(criteria)?cloneDeep(criteria):""},filterFnFactory:function(filterFn,criteria){if(!filterFn||!isFunction$1(filterFn)||!criteria||looseEqual(criteria,[])||looseEqual(criteria,{}))return null;return function(item){return filterFn(item,criteria)}},defaultFilterFnFactory:function(criteria){var _this3=this;if(!criteria||!isString(criteria)&&!isRegExp(criteria))return null;var regExp=criteria;if(isString(regExp)){var pattern=escapeRegExp(criteria).replace(RX_SPACES,"\\s+");regExp=new RegExp(".*".concat(pattern,".*"),"i")}return function(item){return regExp.lastIndex=0,regExp.test((row=item,ignoreFields=_this3.computedFilterIgnored,includeFields=_this3.computedFilterIncluded,fieldsObj=_this3.computedFieldsObj,isObject(row)?stringifyObjectValues(sanitizeRow(row,ignoreFields,includeFields,fieldsObj)):""));var row,ignoreFields,includeFields,fieldsObj}}}}),normalizeFields=function(origFields,items){var fields=[];if(isArray(origFields)&&origFields.filter(identity).forEach((function(f){if(isString(f))fields.push({key:f,label:startCase(f)});else if(isObject(f)&&f.key&&isString(f.key))fields.push(clone(f));else if(isObject(f)&&1===keys(f).length){var key=keys(f)[0],field=function(key,value){var field=null;return isString(value)?field={key:key,label:value}:isFunction$1(value)?field={key:key,formatter:value}:isObject(value)?(field=clone(value)).key=field.key||key:!1!==value&&(field={key:key}),field}(key,f[key]);field&&fields.push(field)}})),0===fields.length&&isArray(items)&&items.length>0){var sample=items[0];keys(sample).forEach((function(k){IGNORED_FIELD_KEYS[k]||fields.push({key:k,label:startCase(k)})}))}var memo={};return fields.filter((function(f){return!memo[f.key]&&(memo[f.key]=!0,f.label=isString(f.label)?f.label:startCase(f.key),!0)}))},_makeModelMixin$2=makeModelMixin("value",{type:PROP_TYPE_ARRAY,defaultValue:[]}),modelMixin$2=_makeModelMixin$2.mixin,modelProps$2=_makeModelMixin$2.props,MODEL_PROP_NAME$2=_makeModelMixin$2.prop,MODEL_EVENT_NAME$2=_makeModelMixin$2.event,props$o=sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$2),{},_defineProperty({fields:makeProp(PROP_TYPE_ARRAY,null),items:makeProp(PROP_TYPE_ARRAY,[]),primaryKey:makeProp(PROP_TYPE_STRING)},MODEL_PROP_NAME$2,makeProp(PROP_TYPE_ARRAY,[])))),itemsMixin=extend({mixins:[modelMixin$2,useParentMixin],props:props$o,data:function(){var items=this.items;return{localItems:isArray(items)?items.slice():[]}},computed:{computedFields:function(){return normalizeFields(this.fields,this.localItems)},computedFieldsObj:function(){var bvParent=this.bvParent;return this.computedFields.reduce((function(obj,f){if(obj[f.key]=clone(f),f.formatter){var formatter=f.formatter;isString(formatter)&&isFunction$1(bvParent[formatter])?formatter=bvParent[formatter]:isFunction$1(formatter)||(formatter=void 0),obj[f.key].formatter=formatter}return obj}),{})},computedItems:function(){var _safeVueInstance=safeVueInstance(this),paginatedItems=_safeVueInstance.paginatedItems,sortedItems=_safeVueInstance.sortedItems,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems;return(paginatedItems||sortedItems||filteredItems||localItems||[]).slice()},context:function(){var _safeVueInstance2=safeVueInstance(this),perPage=_safeVueInstance2.perPage,currentPage=_safeVueInstance2.currentPage;return{filter:this.localFilter,sortBy:this.localSortBy,sortDesc:this.localSortDesc,perPage:mathMax(toInteger(perPage,0),0),currentPage:mathMax(toInteger(currentPage,0),1),apiUrl:this.apiUrl}}},watch:{items:function(newValue){this.localItems=isArray(newValue)?newValue.slice():[]},computedItems:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit(MODEL_EVENT_NAME$2,newValue)},context:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("context-changed",newValue)}},mounted:function(){this.$emit(MODEL_EVENT_NAME$2,this.computedItems)},methods:{getFieldFormatter:function(key){var field=this.computedFieldsObj[key];return field?field.formatter:void 0}}}),props$n={currentPage:makeProp(PROP_TYPE_NUMBER_STRING,1),perPage:makeProp(PROP_TYPE_NUMBER_STRING,0)},paginationMixin=extend({props:props$n,computed:{localPaging:function(){return!this.hasProvider||!!this.noProviderPaging},paginatedItems:function(){var _safeVueInstance=safeVueInstance(this),sortedItems=_safeVueInstance.sortedItems,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems,items=sortedItems||filteredItems||localItems||[],currentPage=mathMax(toInteger(this.currentPage,1),1),perPage=mathMax(toInteger(this.perPage,0),0);return this.localPaging&&perPage&&(items=items.slice((currentPage-1)*perPage,currentPage*perPage)),items}}}),ROOT_EVENT_NAME_REFRESHED=getRootEventName("BTable","refreshed"),ROOT_ACTION_EVENT_NAME_REFRESH=getRootActionEventName("BTable","refresh"),props$m={apiUrl:makeProp(PROP_TYPE_STRING),items:makeProp(PROP_TYPE_ARRAY_FUNCTION,[]),noProviderFiltering:makeProp(PROP_TYPE_BOOLEAN,!1),noProviderPaging:makeProp(PROP_TYPE_BOOLEAN,!1),noProviderSorting:makeProp(PROP_TYPE_BOOLEAN,!1)},providerMixin=extend({mixins:[listenOnRootMixin],props:props$m,computed:{hasProvider:function(){return isFunction$1(this.items)},providerTriggerContext:function(){var ctx={apiUrl:this.apiUrl,filter:null,sortBy:null,sortDesc:null,perPage:null,currentPage:null};return this.noProviderFiltering||(ctx.filter=this.localFilter),this.noProviderSorting||(ctx.sortBy=this.localSortBy,ctx.sortDesc=this.localSortDesc),this.noProviderPaging||(ctx.perPage=this.perPage,ctx.currentPage=this.currentPage),clone(ctx)}},watch:{items:function(newValue){(this.hasProvider||isFunction$1(newValue))&&this.$nextTick(this._providerUpdate)},providerTriggerContext:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$nextTick(this._providerUpdate)}},mounted:function(){var _this=this;!this.hasProvider||this.localItems&&0!==this.localItems.length||this._providerUpdate(),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH,(function(id){id!==_this.id&&id!==_this||_this.refresh()}))},methods:{refresh:function(){var _safeVueInstance=safeVueInstance(this),items=_safeVueInstance.items,refresh=_safeVueInstance.refresh,computedBusy=_safeVueInstance.computedBusy;this.$off("refreshed",refresh),computedBusy?this.localBusy&&this.hasProvider&&this.$on("refreshed",refresh):(this.clearSelected(),this.hasProvider?this.$nextTick(this._providerUpdate):this.localItems=isArray(items)?items.slice():[])},_providerSetLocal:function(items){this.localItems=isArray(items)?items.slice():[],this.localBusy=!1,this.$emit("refreshed"),this.id&&this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED,this.id)},_providerUpdate:function(){var _this2=this;this.hasProvider&&(safeVueInstance(this).computedBusy?this.$nextTick(this.refresh):(this.localBusy=!0,this.$nextTick((function(){try{var data=_this2.items(_this2.context,_this2._providerSetLocal);!isUndefinedOrNull(value=data)&&isFunction$1(value.then)&&isFunction$1(value.catch)?data.then((function(items){_this2._providerSetLocal(items)})):isArray(data)?_this2._providerSetLocal(data):2!==_this2.items.length&&(warn("Provider function didn't request callback and did not return a promise or data.","BTable"),_this2.localBusy=!1)}catch(e){warn("Provider function error [".concat(e.name,"] ").concat(e.message,"."),"BTable"),_this2.localBusy=!1,_this2.$off("refreshed",_this2.refresh)}var value}))))}}}),SELECT_MODES=["range","multi","single"],props$l={noSelectOnClick:makeProp(PROP_TYPE_BOOLEAN,!1),selectMode:makeProp(PROP_TYPE_STRING,"multi",(function(value){return arrayIncludes(SELECT_MODES,value)})),selectable:makeProp(PROP_TYPE_BOOLEAN,!1),selectedVariant:makeProp(PROP_TYPE_STRING,"active")},selectableMixin=extend({props:props$l,data:function(){return{selectedRows:[],selectedLastRow:-1}},computed:{isSelectable:function(){return this.selectable&&this.selectMode},hasSelectableRowClick:function(){return this.isSelectable&&!this.noSelectOnClick},supportsSelectableRows:function(){return!0},selectableHasSelection:function(){var selectedRows=this.selectedRows;return this.isSelectable&&selectedRows&&selectedRows.length>0&&selectedRows.some(identity)},selectableIsMultiSelect:function(){return this.isSelectable&&arrayIncludes(["range","multi"],this.selectMode)},selectableTableClasses:function(){var _ref,isSelectable=this.isSelectable;return _defineProperty(_ref={"b-table-selectable":isSelectable},"b-table-select-".concat(this.selectMode),isSelectable),_defineProperty(_ref,"b-table-selecting",this.selectableHasSelection),_defineProperty(_ref,"b-table-selectable-no-click",isSelectable&&!this.hasSelectableRowClick),_ref},selectableTableAttrs:function(){if(!this.isSelectable)return{};var role=this.bvAttrs.role||"grid";return{role:role,"aria-multiselectable":"grid"===role?toString(this.selectableIsMultiSelect):null}}},watch:{computedItems:function(newValue,oldValue){var equal=!1;if(this.isSelectable&&this.selectedRows.length>0){equal=isArray(newValue)&&isArray(oldValue)&&newValue.length===oldValue.length;for(var i=0;equal&&i=0&&index0&&(this.selectedLastClicked=-1,this.selectedRows=this.selectableIsMultiSelect?createArray(length,!0):[!0])},isRowSelected:function(index){return!(!isNumber(index)||!this.selectedRows[index])},clearSelected:function(){this.selectedLastClicked=-1,this.selectedRows=[]},selectableRowClasses:function(index){if(this.isSelectable&&this.isRowSelected(index)){var variant=this.selectedVariant;return _defineProperty({"b-table-row-selected":!0},"".concat(this.dark?"bg":"table","-").concat(variant),variant)}return{}},selectableRowAttrs:function(index){return{"aria-selected":this.isSelectable?this.isRowSelected(index)?"true":"false":null}},setSelectionHandlers:function(on){var method=on&&!this.noSelectOnClick?"$on":"$off";this[method]("row-clicked",this.selectionHandler),this[method]("filtered",this.clearSelected),this[method]("context-changed",this.clearSelected)},selectionHandler:function(item,index,event){if(this.isSelectable&&!this.noSelectOnClick){var selectMode=this.selectMode,selectedLastRow=this.selectedLastRow,selectedRows=this.selectedRows.slice(),selected=!selectedRows[index];if("single"===selectMode)selectedRows=[];else if("range"===selectMode)if(selectedLastRow>-1&&event.shiftKey){for(var idx=mathMin(selectedLastRow,index);idx<=mathMax(selectedLastRow,index);idx++)selectedRows[idx]=!0;selected=!0}else event.ctrlKey||event.metaKey||(selectedRows=[],selected=!0),selected&&(this.selectedLastRow=index);selectedRows[index]=selected,this.selectedRows=selectedRows}else this.clearSelected()}}}),stableSort$1=function(array,compareFn){return array.map((function(a,index){return[index,a]})).sort(function(a,b){return this(a[1],b[1])||a[0]-b[0]}.bind(compareFn)).map((function(e){return e[1]}))},normalizeValue=function(value){return isUndefinedOrNull(value)?"":isNumeric$1(value)?toFloat(value,value):value},SORT_DIRECTIONS=["asc","desc","last"],props$k=(_defineProperty(_props={labelSortAsc:makeProp(PROP_TYPE_STRING,"Click to sort ascending"),labelSortClear:makeProp(PROP_TYPE_STRING,"Click to clear sorting"),labelSortDesc:makeProp(PROP_TYPE_STRING,"Click to sort descending"),noFooterSorting:makeProp(PROP_TYPE_BOOLEAN,!1),noLocalSorting:makeProp(PROP_TYPE_BOOLEAN,!1),noSortReset:makeProp(PROP_TYPE_BOOLEAN,!1)},"sortBy",makeProp(PROP_TYPE_STRING)),_defineProperty(_props,"sortCompare",makeProp(PROP_TYPE_FUNCTION)),_defineProperty(_props,"sortCompareLocale",makeProp(PROP_TYPE_ARRAY_STRING)),_defineProperty(_props,"sortCompareOptions",makeProp(PROP_TYPE_OBJECT,{numeric:!0})),_defineProperty(_props,"sortDesc",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_props,"sortDirection",makeProp(PROP_TYPE_STRING,"asc",(function(value){return arrayIncludes(SORT_DIRECTIONS,value)}))),_defineProperty(_props,"sortIconLeft",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_props,"sortNullLast",makeProp(PROP_TYPE_BOOLEAN,!1)),_props),sortingMixin=extend({props:props$k,data:function(){return{localSortBy:this.sortBy||"",localSortDesc:this.sortDesc||!1}},computed:{localSorting:function(){return this.hasProvider?!!this.noProviderSorting:!this.noLocalSorting},isSortable:function(){return this.computedFields.some((function(f){return f.sortable}))},sortedItems:function(){var _safeVueInstance=safeVueInstance(this),sortBy=_safeVueInstance.localSortBy,sortDesc=_safeVueInstance.localSortDesc,locale=_safeVueInstance.sortCompareLocale,nullLast=_safeVueInstance.sortNullLast,sortCompare=_safeVueInstance.sortCompare,localSorting=_safeVueInstance.localSorting,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems,items=(filteredItems||localItems||[]).slice(),localeOptions=_objectSpread2$3(_objectSpread2$3({},this.sortCompareOptions),{},{usage:"sort"});if(sortBy&&localSorting){var sortByFormatted=(this.computedFieldsObj[sortBy]||{}).sortByFormatted,formatter=isFunction$1(sortByFormatted)?sortByFormatted:sortByFormatted?this.getFieldFormatter(sortBy):void 0;return stableSort$1(items,(function(a,b){var result=null;return isFunction$1(sortCompare)&&(result=sortCompare(a,b,sortBy,sortDesc,formatter,localeOptions,locale)),(isUndefinedOrNull(result)||!1===result)&&(result=function(a,b){var _ref=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},_ref$sortBy=_ref.sortBy,sortBy=void 0===_ref$sortBy?null:_ref$sortBy,_ref$formatter=_ref.formatter,formatter=void 0===_ref$formatter?null:_ref$formatter,_ref$locale=_ref.locale,locale=void 0===_ref$locale?void 0:_ref$locale,_ref$localeOptions=_ref.localeOptions,localeOptions=void 0===_ref$localeOptions?{}:_ref$localeOptions,_ref$nullLast=_ref.nullLast,nullLast=void 0!==_ref$nullLast&&_ref$nullLast,aa=get(a,sortBy,null),bb=get(b,sortBy,null);return isFunction$1(formatter)&&(aa=formatter(aa,sortBy,a),bb=formatter(bb,sortBy,b)),aa=normalizeValue(aa),bb=normalizeValue(bb),isDate(aa)&&isDate(bb)||isNumber(aa)&&isNumber(bb)?aabb?1:0:nullLast&&""===aa&&""!==bb?1:nullLast&&""!==aa&&""===bb?-1:stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb),locale,localeOptions)}(a,b,{sortBy:sortBy,formatter:formatter,locale:locale,localeOptions:localeOptions,nullLast:nullLast})),(result||0)*(sortDesc?-1:1)}))}return items}},watch:(_watch$3={isSortable:function(newValue){newValue?this.isSortable&&this.$on("head-clicked",this.handleSort):this.$off("head-clicked",this.handleSort)}},_defineProperty(_watch$3,"sortDesc",(function(newValue){newValue!==this.localSortDesc&&(this.localSortDesc=newValue||!1)})),_defineProperty(_watch$3,"sortBy",(function(newValue){newValue!==this.localSortBy&&(this.localSortBy=newValue||"")})),_defineProperty(_watch$3,"localSortDesc",(function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:sortDesc",newValue)})),_defineProperty(_watch$3,"localSortBy",(function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:sortBy",newValue)})),_watch$3),created:function(){this.isSortable&&this.$on("head-clicked",this.handleSort)},methods:{handleSort:function(key,field,event,isFoot){var _this=this;if(this.isSortable&&(!isFoot||!this.noFooterSorting)){var sortChanged=!1,toggleLocalSortDesc=function(){var sortDirection=field.sortDirection||_this.sortDirection;"asc"===sortDirection?_this.localSortDesc=!1:"desc"===sortDirection&&(_this.localSortDesc=!0)};if(field.sortable){var sortKey=!this.localSorting&&field.sortKey?field.sortKey:key;this.localSortBy===sortKey?this.localSortDesc=!this.localSortDesc:(this.localSortBy=sortKey,toggleLocalSortDesc()),sortChanged=!0}else this.localSortBy&&!this.noSortReset&&(this.localSortBy="",toggleLocalSortDesc(),sortChanged=!0);sortChanged&&this.$emit("sort-changed",this.context)}},sortTheadThClasses:function(key,field,isFoot){return{"b-table-sort-icon-left":field.sortable&&this.sortIconLeft&&!(isFoot&&this.noFooterSorting)}},sortTheadThAttrs:function(key,field,isFoot){var _field$sortKey,isSortable=this.isSortable,noFooterSorting=this.noFooterSorting,localSortDesc=this.localSortDesc,localSortBy=this.localSortBy,localSorting=this.localSorting;if(!isSortable||isFoot&&noFooterSorting)return{};var sortable=field.sortable,sortKey=localSorting?key:null!==(_field$sortKey=field.sortKey)&&void 0!==_field$sortKey?_field$sortKey:key;return{"aria-sort":sortable&&localSortBy===sortKey?localSortDesc?"descending":"ascending":sortable?"none":null}},sortTheadThLabel:function(key,field,isFoot){if(!this.isSortable||isFoot&&this.noFooterSorting)return null;var localSortBy=this.localSortBy,localSortDesc=this.localSortDesc,labelSortAsc=this.labelSortAsc,labelSortDesc=this.labelSortDesc,labelSorting="";if(field.sortable)if(localSortBy===key)labelSorting=localSortDesc?labelSortAsc:labelSortDesc;else{labelSorting=localSortDesc?labelSortDesc:labelSortAsc;var sortDirection=this.sortDirection||field.sortDirection;"asc"===sortDirection?labelSorting=labelSortAsc:"desc"===sortDirection&&(labelSorting=labelSortDesc)}else this.noSortReset||(labelSorting=localSortBy?this.labelSortClear:"");return trim(labelSorting)||null}}}),props$j={stacked:makeProp(PROP_TYPE_BOOLEAN_STRING,!1)},stackedMixin=extend({props:props$j,computed:{isStacked:function(){var stacked=this.stacked;return""===stacked||stacked},isStackedAlways:function(){return!0===this.isStacked},stackedTableClasses:function(){var isStackedAlways=this.isStackedAlways;return _defineProperty({"b-table-stacked":isStackedAlways},"b-table-stacked-".concat(this.stacked),!isStackedAlways&&this.isStacked)}}}),props$i={bordered:makeProp(PROP_TYPE_BOOLEAN,!1),borderless:makeProp(PROP_TYPE_BOOLEAN,!1),captionTop:makeProp(PROP_TYPE_BOOLEAN,!1),dark:makeProp(PROP_TYPE_BOOLEAN,!1),fixed:makeProp(PROP_TYPE_BOOLEAN,!1),hover:makeProp(PROP_TYPE_BOOLEAN,!1),noBorderCollapse:makeProp(PROP_TYPE_BOOLEAN,!1),outlined:makeProp(PROP_TYPE_BOOLEAN,!1),responsive:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),small:makeProp(PROP_TYPE_BOOLEAN,!1),stickyHeader:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),striped:makeProp(PROP_TYPE_BOOLEAN,!1),tableClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tableVariant:makeProp(PROP_TYPE_STRING)},tableRendererMixin=extend({mixins:[attrsMixin],provide:function(){var _this=this;return{getBvTable:function(){return _this}}},inheritAttrs:!1,props:props$i,computed:{isTableSimple:function(){return!1},isResponsive:function(){var responsive=this.responsive;return""===responsive||responsive},isStickyHeader:function(){var stickyHeader=this.stickyHeader;return stickyHeader=""===stickyHeader||stickyHeader,!this.isStacked&&stickyHeader},wrapperClasses:function(){var isResponsive=this.isResponsive;return[this.isStickyHeader?"b-table-sticky-header":"",!0===isResponsive?"table-responsive":isResponsive?"table-responsive-".concat(this.responsive):""].filter(identity)},wrapperStyles:function(){var isStickyHeader=this.isStickyHeader;return isStickyHeader&&!isBoolean(isStickyHeader)?{maxHeight:isStickyHeader}:{}},tableClasses:function(){var _safeVueInstance=safeVueInstance(this),hover=_safeVueInstance.hover,tableVariant=_safeVueInstance.tableVariant,selectableTableClasses=_safeVueInstance.selectableTableClasses,stackedTableClasses=_safeVueInstance.stackedTableClasses,tableClass=_safeVueInstance.tableClass,computedBusy=_safeVueInstance.computedBusy;return hover=this.isTableSimple?hover:hover&&this.computedItems.length>0&&!computedBusy,[tableClass,{"table-striped":this.striped,"table-hover":hover,"table-dark":this.dark,"table-bordered":this.bordered,"table-borderless":this.borderless,"table-sm":this.small,border:this.outlined,"b-table-fixed":this.fixed,"b-table-caption-top":this.captionTop,"b-table-no-border-collapse":this.noBorderCollapse},tableVariant?"".concat(this.dark?"bg":"table","-").concat(tableVariant):"",stackedTableClasses,selectableTableClasses]},tableAttrs:function(){var _safeVueInstance2=safeVueInstance(this),items=_safeVueInstance2.computedItems,filteredItems=_safeVueInstance2.filteredItems,fields=_safeVueInstance2.computedFields,selectableTableAttrs=_safeVueInstance2.selectableTableAttrs,computedBusy=_safeVueInstance2.computedBusy,ariaAttrs=this.isTableSimple?{}:{"aria-busy":toString(computedBusy),"aria-colcount":toString(fields.length),"aria-describedby":this.bvAttrs["aria-describedby"]||this.$refs.caption?this.captionId:null};return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3({"aria-rowcount":items&&filteredItems&&filteredItems.length>items.length?toString(filteredItems.length):null},this.bvAttrs),{},{id:this.safeId(),role:this.bvAttrs.role||"table"},ariaAttrs),selectableTableAttrs)}},render:function(h){var _safeVueInstance3=safeVueInstance(this),wrapperClasses=_safeVueInstance3.wrapperClasses,renderCaption=_safeVueInstance3.renderCaption,renderColgroup=_safeVueInstance3.renderColgroup,renderThead=_safeVueInstance3.renderThead,renderTbody=_safeVueInstance3.renderTbody,renderTfoot=_safeVueInstance3.renderTfoot,$content=[];this.isTableSimple?$content.push(this.normalizeSlot()):($content.push(renderCaption?renderCaption():null),$content.push(renderColgroup?renderColgroup():null),$content.push(renderThead?renderThead():null),$content.push(renderTbody?renderTbody():null),$content.push(renderTfoot?renderTfoot():null));var $table=h("table",{staticClass:"table b-table",class:this.tableClasses,attrs:this.tableAttrs,key:"b-table"},$content.filter(identity));return wrapperClasses.length>0?h("div",{class:wrapperClasses,style:this.wrapperStyles,key:"wrap"},[$table]):$table}}),props$h=makePropsConfigurable({tbodyTransitionHandlers:makeProp(PROP_TYPE_OBJECT),tbodyTransitionProps:makeProp(PROP_TYPE_OBJECT)},"BTbody"),BTbody=extend({name:"BTbody",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTableRowGroup:function(){return _this}}},inject:{getBvTable:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$h,computed:{bvTable:function(){return this.getBvTable()},isTbody:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},hasStickyHeader:function(){return!this.isStacked&&this.bvTable.stickyHeader},tableVariant:function(){return this.bvTable.tableVariant},isTransitionGroup:function(){return this.tbodyTransitionProps||this.tbodyTransitionHandlers},tbodyAttrs:function(){return _objectSpread2$3({role:"rowgroup"},this.bvAttrs)},tbodyProps:function(){var tbodyTransitionProps=this.tbodyTransitionProps;return tbodyTransitionProps?_objectSpread2$3(_objectSpread2$3({},tbodyTransitionProps),{},{tag:"tbody"}):{}}},render:function(h){var data={props:this.tbodyProps,attrs:this.tbodyAttrs};return this.isTransitionGroup?(data.on=this.tbodyTransitionHandlers||{},data.nativeOn=this.bvListeners):data.on=this.bvListeners,h(this.isTransitionGroup?"transition-group":"tbody",data,this.normalizeSlot())}}),TABLE_TAG_NAMES=["TD","TH","TR"],filterEvent=function(event){if(!event||!event.target)return!1;var el=event.target;if(el.disabled||-1!==TABLE_TAG_NAMES.indexOf(el.tagName))return!1;if(closest(".dropdown-menu",el))return!0;var label="LABEL"===el.tagName?el:closest("label",el);if(label){var labelFor=getAttr(label,"for"),input=labelFor?getById(labelFor):select("input, select, textarea",label);if(input&&!input.disabled)return!0}return matches(el,EVENT_FILTER)},textSelectionActive=function(){var el=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,sel=WINDOW.getSelection?WINDOW.getSelection():null;return!!(sel&&""!==sel.toString().trim()&&sel.containsNode&&isElement(el))&&sel.containsNode(el,!0)},props$g=makePropsConfigurable(props$u,"BTh"),BTh=extend({name:"BTh",extends:BTd,props:props$g,computed:{tag:function(){return"th"}}}),props$f={detailsTdClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tbodyTrAttr:makeProp(PROP_TYPE_OBJECT_FUNCTION),tbodyTrClass:makeProp([].concat(_toConsumableArray$1(PROP_TYPE_ARRAY_OBJECT_STRING),[PROP_TYPE_FUNCTION]))},tbodyRowMixin=extend({mixins:[useParentMixin],props:props$f,methods:{getTdValues:function(item,key,tdValue,defaultValue){var bvParent=this.bvParent;if(tdValue){var value=get(item,key,"");return isFunction$1(tdValue)?tdValue(value,key,item):isString(tdValue)&&isFunction$1(bvParent[tdValue])?bvParent[tdValue](value,key,item):tdValue}return defaultValue},getThValues:function(item,key,thValue,type,defaultValue){var bvParent=this.bvParent;if(thValue){var value=get(item,key,"");return isFunction$1(thValue)?thValue(value,key,item,type):isString(thValue)&&isFunction$1(bvParent[thValue])?bvParent[thValue](value,key,item,type):thValue}return defaultValue},getFormattedValue:function(item,field){var key=field.key,formatter=this.getFieldFormatter(key),value=get(item,key,null);return isFunction$1(formatter)&&(value=formatter(value,key,item)),isUndefinedOrNull(value)?"":value},toggleDetailsFactory:function(hasDetailsSlot,item){var _this=this;return function(){hasDetailsSlot&&_this.$set(item,FIELD_KEY_SHOW_DETAILS,!item[FIELD_KEY_SHOW_DETAILS])}},rowHovered:function(event){this.tbodyRowEventStopped(event)||this.emitTbodyRowEvent("row-hovered",event)},rowUnhovered:function(event){this.tbodyRowEventStopped(event)||this.emitTbodyRowEvent("row-unhovered",event)},renderTbodyRowCell:function(field,colIndex,item,rowIndex){var _this2=this,isStacked=this.isStacked,key=field.key,label=field.label,isRowHeader=field.isRowHeader,h=this.$createElement,hasDetailsSlot=this.hasNormalizedSlot("row-details"),formatted=this.getFormattedValue(item,field),stickyColumn=!isStacked&&(this.isResponsive||this.stickyHeader)&&field.stickyColumn,cellTag=stickyColumn?isRowHeader?BTh:BTd:isRowHeader?"th":"td",cellVariant=item[FIELD_KEY_CELL_VARIANT]&&item[FIELD_KEY_CELL_VARIANT][key]?item[FIELD_KEY_CELL_VARIANT][key]:field.variant||null,data={class:[field.class?field.class:"",this.getTdValues(item,key,field.tdClass,"")],props:{},attrs:_objectSpread2$3({"aria-colindex":String(colIndex+1)},isRowHeader?this.getThValues(item,key,field.thAttr,"row",{}):this.getTdValues(item,key,field.tdAttr,{})),key:"row-".concat(rowIndex,"-cell-").concat(colIndex,"-").concat(key)};stickyColumn?data.props={stackedHeading:isStacked?label:null,stickyColumn:!0,variant:cellVariant}:(data.attrs["data-label"]=isStacked&&!isUndefinedOrNull(label)?toString(label):null,data.attrs.role=isRowHeader?"rowheader":"cell",data.attrs.scope=isRowHeader?"row":null,cellVariant&&data.class.push("".concat(this.dark?"bg":"table","-").concat(cellVariant)));var slotScope={item:item,index:rowIndex,field:field,unformatted:get(item,key,""),value:formatted,toggleDetails:this.toggleDetailsFactory(hasDetailsSlot,item),detailsShowing:Boolean(item[FIELD_KEY_SHOW_DETAILS])};safeVueInstance(this).supportsSelectableRows&&(slotScope.rowSelected=this.isRowSelected(rowIndex),slotScope.selectRow=function(){return _this2.selectRow(rowIndex)},slotScope.unselectRow=function(){return _this2.unselectRow(rowIndex)});var slotName=this.$_bodyFieldSlotNameCache[key],$childNodes=slotName?this.normalizeSlot(slotName,slotScope):toString(formatted);return this.isStacked&&($childNodes=[h("div",[$childNodes])]),h(cellTag,data,[$childNodes])},renderTbodyRow:function(item,rowIndex){var _this3=this,_safeVueInstance=safeVueInstance(this),fields=_safeVueInstance.computedFields,striped=_safeVueInstance.striped,primaryKey=_safeVueInstance.primaryKey,currentPage=_safeVueInstance.currentPage,perPage=_safeVueInstance.perPage,tbodyTrClass=_safeVueInstance.tbodyTrClass,tbodyTrAttr=_safeVueInstance.tbodyTrAttr,hasSelectableRowClick=_safeVueInstance.hasSelectableRowClick,h=this.$createElement,hasDetailsSlot=this.hasNormalizedSlot("row-details"),rowShowDetails=item[FIELD_KEY_SHOW_DETAILS]&&hasDetailsSlot,hasRowClickHandler=this.$listeners["row-clicked"]||hasSelectableRowClick,$rows=[],detailsId=rowShowDetails?this.safeId("_details_".concat(rowIndex,"_")):null,$tds=fields.map((function(field,colIndex){return _this3.renderTbodyRowCell(field,colIndex,item,rowIndex)})),ariaRowIndex=null;currentPage&&perPage&&perPage>0&&(ariaRowIndex=String((currentPage-1)*perPage+rowIndex+1));var primaryKeyValue=toString(get(item,primaryKey))||null,rowKey=primaryKeyValue||toString(rowIndex),rowId=primaryKeyValue?this.safeId("_row_".concat(primaryKeyValue)):null,selectableClasses=safeVueInstance(this).selectableRowClasses?this.selectableRowClasses(rowIndex):{},selectableAttrs=safeVueInstance(this).selectableRowAttrs?this.selectableRowAttrs(rowIndex):{},userTrClasses=isFunction$1(tbodyTrClass)?tbodyTrClass(item,"row"):tbodyTrClass,userTrAttrs=isFunction$1(tbodyTrAttr)?tbodyTrAttr(item,"row"):tbodyTrAttr;if($rows.push(h(BTr,_defineProperty({class:[userTrClasses,selectableClasses,rowShowDetails?"b-table-has-details":""],props:{variant:item[FIELD_KEY_ROW_VARIANT]||null},attrs:_objectSpread2$3(_objectSpread2$3({id:rowId},userTrAttrs),{},{tabindex:hasRowClickHandler?"0":null,"data-pk":primaryKeyValue||null,"aria-details":detailsId,"aria-owns":detailsId,"aria-rowindex":ariaRowIndex},selectableAttrs),on:{mouseenter:this.rowHovered,mouseleave:this.rowUnhovered},key:"__b-table-row-".concat(rowKey,"__"),ref:"item-rows"},REF_FOR_KEY,!0),$tds)),rowShowDetails){var detailsScope={item:item,index:rowIndex,fields:fields,toggleDetails:this.toggleDetailsFactory(hasDetailsSlot,item)};safeVueInstance(this).supportsSelectableRows&&(detailsScope.rowSelected=this.isRowSelected(rowIndex),detailsScope.selectRow=function(){return _this3.selectRow(rowIndex)},detailsScope.unselectRow=function(){return _this3.unselectRow(rowIndex)});var $details=h(BTd,{props:{colspan:fields.length},class:this.detailsTdClass},[this.normalizeSlot("row-details",detailsScope)]);striped&&$rows.push(h("tr",{staticClass:"d-none",attrs:{"aria-hidden":"true",role:"presentation"},key:"__b-table-details-stripe__".concat(rowKey)}));var userDetailsTrClasses=isFunction$1(this.tbodyTrClass)?this.tbodyTrClass(item,"row-details"):this.tbodyTrClass,userDetailsTrAttrs=isFunction$1(this.tbodyTrAttr)?this.tbodyTrAttr(item,"row-details"):this.tbodyTrAttr;$rows.push(h(BTr,{staticClass:"b-table-details",class:[userDetailsTrClasses],props:{variant:item[FIELD_KEY_ROW_VARIANT]||null},attrs:_objectSpread2$3(_objectSpread2$3({},userDetailsTrAttrs),{},{id:detailsId,tabindex:"-1"}),key:"__b-table-details__".concat(rowKey)},[$details]))}else hasDetailsSlot&&($rows.push(h()),striped&&$rows.push(h()));return $rows}}}),getCellSlotName=function(value){return"cell(".concat(value||"",")")},props$e=sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$h),props$f),{},{tbodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),tbodyMixin=extend({mixins:[tbodyRowMixin],props:props$e,beforeDestroy:function(){this.$_bodyFieldSlotNameCache=null},methods:{getTbodyTrs:function(){var $refs=this.$refs,tbody=$refs.tbody?$refs.tbody.$el||$refs.tbody:null,trs=($refs["item-rows"]||[]).map((function(tr){return tr.$el||tr}));return tbody&&tbody.children&&tbody.children.length>0&&trs&&trs.length>0?from(tbody.children).filter((function(tr){return arrayIncludes(trs,tr)})):[]},getTbodyTrIndex:function(el){if(!isElement(el))return-1;var tr="TR"===el.tagName?el:closest("tr",el,!0);return tr?this.getTbodyTrs().indexOf(tr):-1},emitTbodyRowEvent:function(type,event){if(type&&this.hasListener(type)&&event&&event.target){var rowIndex=this.getTbodyTrIndex(event.target);if(rowIndex>-1){var item=this.computedItems[rowIndex];this.$emit(type,item,rowIndex,event)}}},tbodyRowEventStopped:function(event){return this.stopIfBusy&&this.stopIfBusy(event)},onTbodyRowKeydown:function(event){var target=event.target,keyCode=event.keyCode;if(!this.tbodyRowEventStopped(event)&&"TR"===target.tagName&&isActiveElement(target)&&0===target.tabIndex)if(arrayIncludes([CODE_ENTER,CODE_SPACE],keyCode))stopEvent(event),this.onTBodyRowClicked(event);else if(arrayIncludes([CODE_UP,CODE_DOWN,CODE_HOME,CODE_END],keyCode)){var rowIndex=this.getTbodyTrIndex(target);if(rowIndex>-1){stopEvent(event);var trs=this.getTbodyTrs(),shift=event.shiftKey;keyCode===CODE_HOME||shift&&keyCode===CODE_UP?attemptFocus(trs[0]):keyCode===CODE_END||shift&&keyCode===CODE_DOWN?attemptFocus(trs[trs.length-1]):keyCode===CODE_UP&&rowIndex>0?attemptFocus(trs[rowIndex-1]):keyCode===CODE_DOWN&&rowIndex0&&void 0!==arguments[0]&&arguments[0],_safeVueInstance=safeVueInstance(this),fields=_safeVueInstance.computedFields,isSortable=_safeVueInstance.isSortable,isSelectable=_safeVueInstance.isSelectable,headVariant=_safeVueInstance.headVariant,footVariant=_safeVueInstance.footVariant,headRowVariant=_safeVueInstance.headRowVariant,footRowVariant=_safeVueInstance.footRowVariant,h=this.$createElement;if(this.isStackedAlways||0===fields.length)return h();var hasHeadClickListener=isSortable||this.hasListener("head-clicked"),selectAllRows=isSelectable?this.selectAllRows:noop,clearSelected=isSelectable?this.clearSelected:noop,$cells=fields.map((function(field,colIndex){var label=field.label,labelHtml=field.labelHtml,variant=field.variant,stickyColumn=field.stickyColumn,key=field.key,ariaLabel=null;field.label.trim()||field.headerTitle||(ariaLabel=startCase(field.key));var on={};hasHeadClickListener&&(on.click=function(event){_this.headClicked(event,field,isFoot)},on.keydown=function(event){var keyCode=event.keyCode;keyCode!==CODE_ENTER&&keyCode!==CODE_SPACE||_this.headClicked(event,field,isFoot)});var sortAttrs=isSortable?_this.sortTheadThAttrs(key,field,isFoot):{},sortClass=isSortable?_this.sortTheadThClasses(key,field,isFoot):null,sortLabel=isSortable?_this.sortTheadThLabel(key,field,isFoot):null,data={class:[{"position-relative":sortLabel},_this.fieldClasses(field),sortClass],props:{variant:variant,stickyColumn:stickyColumn},style:field.thStyle||{},attrs:_objectSpread2$3(_objectSpread2$3({tabindex:hasHeadClickListener&&field.sortable?"0":null,abbr:field.headerAbbr||null,title:field.headerTitle||null,"aria-colindex":colIndex+1,"aria-label":ariaLabel},_this.getThValues(null,key,field.thAttr,isFoot?"foot":"head",{})),sortAttrs),on:on,key:key},slotNames=[getHeadSlotName(key),getHeadSlotName(key.toLowerCase()),getHeadSlotName()];isFoot&&(slotNames=[getFootSlotName(key),getFootSlotName(key.toLowerCase()),getFootSlotName()].concat(_toConsumableArray$1(slotNames)));var scope={label:label,column:key,field:field,isFoot:isFoot,selectAllRows:selectAllRows,clearSelected:clearSelected},$content=_this.normalizeSlot(slotNames,scope)||h("div",{domProps:htmlOrText(labelHtml,label)}),$srLabel=sortLabel?h("span",{staticClass:"sr-only"}," (".concat(sortLabel,")")):null;return h(BTh,data,[$content,$srLabel].filter(identity))})).filter(identity),$trs=[];if(isFoot)$trs.push(h(BTr,{class:this.tfootTrClass,props:{variant:isUndefinedOrNull(footRowVariant)?headRowVariant:footRowVariant}},$cells));else{var scope={columns:fields.length,fields:fields,selectAllRows:selectAllRows,clearSelected:clearSelected};$trs.push(this.normalizeSlot("thead-top",scope)||h()),$trs.push(h(BTr,{class:this.theadTrClass,props:{variant:headRowVariant}},$cells))}return h(isFoot?BTfoot:BThead,{class:(isFoot?this.tfootClass:this.theadClass)||null,props:isFoot?{footVariant:footVariant||headVariant||null}:{headVariant:headVariant||null},key:isFoot?"bv-tfoot":"bv-thead"},$trs)}}}),topRowMixin=extend({methods:{renderTopRow:function(){var fields=this.computedFields,stacked=this.stacked,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.hasNormalizedSlot("top-row")&&!0!==stacked&&""!==stacked?h(BTr,{staticClass:"b-table-top-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-top"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-top"):tbodyTrAttr,key:"b-top-row"},[this.normalizeSlot("top-row",{columns:fields.length,fields:fields})]):h()}}}),props$8=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$v),props$t),props$s),props$r),props$q),props$p),props$o),props$n),props$m),props$l),props$k),props$j),props$i),props$e),props$c),props$a),{})),"BTable"),BTable=extend({name:"BTable",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,itemsMixin,tableRendererMixin,stackedMixin,theadMixin,tfootMixin,tbodyMixin,stackedMixin,filteringMixin,sortingMixin,paginationMixin,captionMixin,colgroupMixin,selectableMixin,emptyMixin,topRowMixin,bottomRowMixin,busyMixin,providerMixin],props:props$8}),props$7=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$s),props$r),props$o),props$j),props$i),props$e),props$c),props$a)),"BTableLite"),BTableLite=extend({name:"BTableLite",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,itemsMixin,tableRendererMixin,stackedMixin,theadMixin,tfootMixin,tbodyMixin,captionMixin,colgroupMixin],props:props$7}),props$6=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$j),props$i)),"BTableSimple"),BTableSimple=extend({name:"BTableSimple",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,tableRendererMixin,stackedMixin],props:props$6,computed:{isTableSimple:function(){return!0}}}),TableLitePlugin=pluginFactory({components:{BTableLite:BTableLite}}),TableSimplePlugin=pluginFactory({components:{BTableSimple:BTableSimple,BTbody:BTbody,BThead:BThead,BTfoot:BTfoot,BTr:BTr,BTd:BTd,BTh:BTh}}),TablePlugin=pluginFactory({components:{BTable:BTable},plugins:{TableLitePlugin:TableLitePlugin,TableSimplePlugin:TableSimplePlugin}}),isPositiveNumber=function(value){return value>0},props$5=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING),columns:makeProp(PROP_TYPE_NUMBER,5,isPositiveNumber),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),rows:makeProp(PROP_TYPE_NUMBER,3,isPositiveNumber),showFooter:makeProp(PROP_TYPE_BOOLEAN,!1),tableProps:makeProp(PROP_TYPE_OBJECT,{})},"BSkeletonTable"),BSkeletonTable=extend({name:"BSkeletonTable",functional:!0,props:props$5,render:function(h,_ref){var data=_ref.data,props=_ref.props,animation=props.animation,columns=props.columns,$th=h("th",[h(BSkeleton,{props:{animation:animation}})]),$thTr=h("tr",createArray(columns,$th)),$td=h("td",[h(BSkeleton,{props:{width:"75%",animation:animation}})]),$tdTr=h("tr",createArray(columns,$td)),$tbody=h("tbody",createArray(props.rows,$tdTr)),$thead=props.hideHeader?h():h("thead",[$thTr]),$tfoot=props.showFooter?h("tfoot",[$thTr]):h();return h(BTableSimple,a(data,{props:_objectSpread2$3({},props.tableProps)}),[$thead,$tbody,$tfoot])}}),props$4=makePropsConfigurable({loading:makeProp(PROP_TYPE_BOOLEAN,!1)},"BSkeletonWrapper"),BSkeletonWrapper=extend({name:"BSkeletonWrapper",functional:!0,props:props$4,render:function(h,_ref){var data=_ref.data,props=_ref.props,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$scopedSlots=scopedSlots||{},slotScope={};return props.loading?h("div",a(data,{attrs:{role:"alert","aria-live":"polite","aria-busy":!0},staticClass:"b-skeleton-wrapper",key:"loading"}),normalizeSlot("loading",slotScope,$scopedSlots,$slots)):normalizeSlot("default",slotScope,$scopedSlots,$slots)}}),SkeletonPlugin=pluginFactory({components:{BSkeleton:BSkeleton,BSkeletonIcon:BSkeletonIcon,BSkeletonImg:BSkeletonImg,BSkeletonTable:BSkeletonTable,BSkeletonWrapper:BSkeletonWrapper}}),SpinnerPlugin=pluginFactory({components:{BSpinner:BSpinner}}),_makeModelMixin$1=makeModelMixin("value",{type:PROP_TYPE_NUMBER}),modelMixin$1=_makeModelMixin$1.mixin,modelProps$1=_makeModelMixin$1.props,MODEL_PROP_NAME$1=_makeModelMixin$1.prop,MODEL_EVENT_NAME$1=_makeModelMixin$1.event,notDisabled=function(tab){return!tab.disabled},BVTabButton=extend({name:"BVTabButton",inject:{getBvTabs:{default:function(){return function(){return{}}}}},props:{controls:makeProp(PROP_TYPE_STRING),id:makeProp(PROP_TYPE_STRING),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),posInSet:makeProp(PROP_TYPE_NUMBER),setSize:makeProp(PROP_TYPE_NUMBER),tab:makeProp(),tabIndex:makeProp(PROP_TYPE_NUMBER)},computed:{bvTabs:function(){return this.getBvTabs()}},methods:{focus:function(){attemptFocus(this.$refs.link)},handleEvent:function(event){if(!this.tab.disabled){var type=event.type,keyCode=event.keyCode,shiftKey=event.shiftKey;"click"===type||"keydown"===type&&keyCode===CODE_SPACE?(stopEvent(event),this.$emit("click",event)):"keydown"!==type||this.noKeyNav||(-1!==[CODE_UP,CODE_LEFT,CODE_HOME].indexOf(keyCode)?(stopEvent(event),shiftKey||keyCode===CODE_HOME?this.$emit("first",event):this.$emit("prev",event)):-1!==[CODE_DOWN,CODE_RIGHT,CODE_END].indexOf(keyCode)&&(stopEvent(event),shiftKey||keyCode===CODE_END?this.$emit("last",event):this.$emit("next",event)))}}},render:function(h){var id=this.id,tabIndex=this.tabIndex,setSize=this.setSize,posInSet=this.posInSet,controls=this.controls,handleEvent=this.handleEvent,_this$tab=this.tab,title=_this$tab.title,localActive=_this$tab.localActive,disabled=_this$tab.disabled,titleItemClass=_this$tab.titleItemClass,titleLinkClass=_this$tab.titleLinkClass,titleLinkAttributes=_this$tab.titleLinkAttributes,$link=h(BLink,{staticClass:"nav-link",class:[{active:localActive&&!disabled,disabled:disabled},titleLinkClass,localActive?this.bvTabs.activeNavItemClass:null],props:{disabled:disabled},attrs:_objectSpread2$3(_objectSpread2$3({},titleLinkAttributes),{},{id:id,role:"tab",tabindex:tabIndex,"aria-selected":localActive&&!disabled?"true":"false","aria-setsize":setSize,"aria-posinset":posInSet,"aria-controls":controls}),on:{click:handleEvent,keydown:handleEvent},ref:"link"},[this.tab.normalizeSlot("title")||title]);return h("li",{staticClass:"nav-item",class:[titleItemClass],attrs:{role:"presentation"}},[$link])}}),navProps=omit(props$U,["tabs","isNavBar","cardHeader"]),props$3=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$1),navProps),{},{activeNavItemClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),activeTabClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),card:makeProp(PROP_TYPE_BOOLEAN,!1),contentClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),end:makeProp(PROP_TYPE_BOOLEAN,!1),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),navClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),navWrapperClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),noNavStyle:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BTabs"),BTabs=extend({name:"BTabs",mixins:[idMixin,modelMixin$1,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTabs:function(){return _this}}},props:props$3,data:function(){return{currentTab:toInteger(this[MODEL_PROP_NAME$1],-1),tabs:[],registeredTabs:[]}},computed:{fade:function(){return!this.noFade},localNavClass:function(){var classes=[];return this.card&&this.vertical&&classes.push("card-header","h-100","border-bottom-0","rounded-0"),[].concat(classes,[this.navClass])}},watch:(_watch$2={},_defineProperty(_watch$2,MODEL_PROP_NAME$1,(function(newValue,oldValue){if(newValue!==oldValue){newValue=toInteger(newValue,-1),oldValue=toInteger(oldValue,0);var $tab=this.tabs[newValue];$tab&&!$tab.disabled?this.activateTab($tab):newValue0&&void 0!==arguments[0])||arguments[0];if(this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on){this.$_observer=observeDom(this.$refs.content,(function(){_this3.$nextTick((function(){requestAF((function(){_this3.updateTabs()}))}))}),{childList:!0,subtree:!1,attributes:!0,attributeFilter:["id"]})}},getTabs:function(){var $tabs=this.registeredTabs,order=[];if(IS_BROWSER&&$tabs.length>0){var selector=$tabs.map((function($tab){return"#".concat($tab.safeId())})).join(", ");order=selectAll(selector,this.$el).map((function($el){return $el.id})).filter(identity)}return stableSort$1($tabs,(function(a,b){return order.indexOf(a.safeId())-order.indexOf(b.safeId())}))},updateTabs:function(){var $tabs=this.getTabs(),tabIndex=$tabs.indexOf($tabs.slice().reverse().find((function($tab){return $tab.localActive&&!$tab.disabled})));if(tabIndex<0){var currentTab=this.currentTab;currentTab>=$tabs.length?tabIndex=$tabs.indexOf($tabs.slice().reverse().find(notDisabled)):$tabs[currentTab]&&!$tabs[currentTab].disabled&&(tabIndex=currentTab)}tabIndex<0&&(tabIndex=$tabs.indexOf($tabs.find(notDisabled))),$tabs.forEach((function($tab,index){$tab.localActive=index===tabIndex})),this.tabs=$tabs,this.currentTab=tabIndex},getButtonForTab:function($tab){return(this.$refs.buttons||[]).find((function($btn){return $btn.tab===$tab}))},updateButton:function($tab){var $button=this.getButtonForTab($tab);$button&&$button.$forceUpdate&&$button.$forceUpdate()},activateTab:function($tab){var currentTab=this.currentTab,$tabs=this.tabs,result=!1;if($tab){var index=$tabs.indexOf($tab);if(index!==currentTab&&index>-1&&!$tab.disabled){var tabEvent=new BvEvent("activate-tab",{cancelable:!0,vueTarget:this,componentId:this.safeId()});this.$emit(tabEvent.type,index,currentTab,tabEvent),tabEvent.defaultPrevented||(this.currentTab=index,result=!0)}}return result||this[MODEL_PROP_NAME$1]===currentTab||this.$emit(MODEL_EVENT_NAME$1,currentTab),result},deactivateTab:function($tab){return!!$tab&&this.activateTab(this.tabs.filter((function($t){return $t!==$tab})).find(notDisabled))},focusButton:function($tab){var _this4=this;this.$nextTick((function(){attemptFocus(_this4.getButtonForTab($tab))}))},emitTabClick:function(tab,event){isEvent(event)&&tab&&tab.$emit&&!tab.disabled&&tab.$emit("click",event)},clickTab:function($tab,event){this.activateTab($tab),this.emitTabClick($tab,event)},firstTab:function(focus){var $tab=this.tabs.find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},previousTab:function(focus){var currentIndex=mathMax(this.currentTab,0),$tab=this.tabs.slice(0,currentIndex).reverse().find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},nextTab:function(focus){var currentIndex=mathMax(this.currentTab,-1),$tab=this.tabs.slice(currentIndex+1).find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},lastTab:function(focus){var $tab=this.tabs.slice().reverse().find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))}},render:function(h){var _this5=this,align=this.align,card=this.card,end=this.end,fill=this.fill,firstTab=this.firstTab,justified=this.justified,lastTab=this.lastTab,nextTab=this.nextTab,noKeyNav=this.noKeyNav,noNavStyle=this.noNavStyle,pills=this.pills,previousTab=this.previousTab,small=this.small,$tabs=this.tabs,vertical=this.vertical,$activeTab=$tabs.find((function($tab){return $tab.localActive&&!$tab.disabled})),$fallbackTab=$tabs.find((function($tab){return!$tab.disabled})),$buttons=$tabs.map((function($tab,index){var _on,safeId=$tab.safeId,tabIndex=null;return noKeyNav||(tabIndex=-1,($tab===$activeTab||!$activeTab&&$tab===$fallbackTab)&&(tabIndex=null)),h(BVTabButton,_defineProperty({props:{controls:safeId?safeId():null,id:$tab.controlledBy||(safeId?safeId("_BV_tab_button_"):null),noKeyNav:noKeyNav,posInSet:index+1,setSize:$tabs.length,tab:$tab,tabIndex:tabIndex},on:(_on={},_defineProperty(_on,"click",(function(event){_this5.clickTab($tab,event)})),_defineProperty(_on,"first",firstTab),_defineProperty(_on,"prev",previousTab),_defineProperty(_on,"next",nextTab),_defineProperty(_on,"last",lastTab),_on),key:$tab._uid||index,ref:"buttons"},REF_FOR_KEY,!0))})),$nav=h(BNav,{class:this.localNavClass,attrs:{role:"tablist",id:this.safeId("_BV_tab_controls_")},props:{fill:fill,justified:justified,align:align,tabs:!noNavStyle&&!pills,pills:!noNavStyle&&pills,vertical:vertical,small:small,cardHeader:card&&!vertical},ref:"nav"},[this.normalizeSlot("tabs-start")||h(),$buttons,this.normalizeSlot("tabs-end")||h()]);$nav=h("div",{class:[{"card-header":card&&!vertical&&!end,"card-footer":card&&!vertical&&end,"col-auto":vertical},this.navWrapperClass],key:"bv-tabs-nav"},[$nav]);var $children=this.normalizeSlot()||[],$empty=h();0===$children.length&&($empty=h("div",{class:["tab-pane","active",{"card-body":card}],key:"bv-empty-tab"},this.normalizeSlot("empty")));var $content=h("div",{staticClass:"tab-content",class:[{col:vertical},this.contentClass],attrs:{id:this.safeId("_BV_tab_container_")},key:"bv-content",ref:"content"},[$children,$empty]);return h(this.tag,{staticClass:"tabs",class:{row:vertical,"no-gutters":vertical&&card},attrs:{id:this.safeId()}},[end?$content:h(),$nav,end?h():$content])}}),props$2=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),{},(_defineProperty(_objectSpread2={},"active",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"buttonId",makeProp(PROP_TYPE_STRING)),_defineProperty(_objectSpread2,"disabled",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"lazy",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"noBody",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"tag",makeProp(PROP_TYPE_STRING,"div")),_defineProperty(_objectSpread2,"title",makeProp(PROP_TYPE_STRING)),_defineProperty(_objectSpread2,"titleItemClass",makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)),_defineProperty(_objectSpread2,"titleLinkAttributes",makeProp(PROP_TYPE_OBJECT)),_defineProperty(_objectSpread2,"titleLinkClass",makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)),_objectSpread2))),"BTab"),TabsPlugin=pluginFactory({components:{BTabs:BTabs,BTab:extend({name:"BTab",mixins:[idMixin,normalizeSlotMixin],inject:{getBvTabs:{default:function(){return function(){return{}}}}},props:props$2,data:function(){return{localActive:this.active&&!this.disabled}},computed:{bvTabs:function(){return this.getBvTabs()},_isTab:function(){return!0},tabClasses:function(){var active=this.localActive;return[{active:active,disabled:this.disabled,"card-body":this.bvTabs.card&&!this.noBody},active?this.bvTabs.activeTabClass:null]},controlledBy:function(){return this.buttonId||this.safeId("__BV_tab_button__")},computedNoFade:function(){return!this.bvTabs.fade},computedLazy:function(){return this.bvTabs.lazy||this.lazy}},watch:(_watch$1={},_defineProperty(_watch$1,"active",(function(newValue,oldValue){newValue!==oldValue&&(newValue?this.activate():this.deactivate()||this.$emit("update:active",this.localActive))})),_defineProperty(_watch$1,"disabled",(function(newValue,oldValue){if(newValue!==oldValue){var firstTab=this.bvTabs.firstTab;newValue&&this.localActive&&firstTab&&(this.localActive=!1,firstTab())}})),_defineProperty(_watch$1,"localActive",(function(newValue){this.$emit("update:active",newValue)})),_watch$1),mounted:function(){this.registerTab()},updated:function(){var updateButton=this.bvTabs.updateButton;updateButton&&this.hasNormalizedSlot("title")&&updateButton(this)},beforeDestroy:function(){this.unregisterTab()},methods:{registerTab:function(){var registerTab=this.bvTabs.registerTab;registerTab&®isterTab(this)},unregisterTab:function(){var unregisterTab=this.bvTabs.unregisterTab;unregisterTab&&unregisterTab(this)},activate:function(){var activateTab=this.bvTabs.activateTab;return!(!activateTab||this.disabled)&&activateTab(this)},deactivate:function(){var deactivateTab=this.bvTabs.deactivateTab;return!(!deactivateTab||!this.localActive)&&deactivateTab(this)}},render:function(h){var localActive=this.localActive,$content=h(this.tag,{staticClass:"tab-pane",class:this.tabClasses,directives:[{name:"show",value:localActive}],attrs:{role:"tabpanel",id:this.safeId(),"aria-hidden":localActive?"false":"true","aria-labelledby":this.controlledBy||null},ref:"panel"},[localActive||!this.computedLazy?this.normalizeSlot():h()]);return h(BVTransition,{props:{mode:"out-in",noFade:this.computedNoFade}},[$content])}})}}),TimePlugin=pluginFactory({components:{BTime:BTime}});function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"===_typeof2(Symbol.iterator)?function(obj){return _typeof2(obj)}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":_typeof2(obj)},_typeof(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i1&&void 0!==arguments[1]&&arguments[1],to=transport.to,from=transport.from;if(to&&(from||!1!==force)&&this.transports[to])if(force)this.transports[to]=[];else{var index=this.$_getTransportIndex(transport);if(index>=0){var newTransports=this.transports[to].slice(0);newTransports.splice(index,1),this.transports[to]=newTransports}}},registerTarget:function(target,vm,force){inBrowser&&(this.trackInstances&&!force&&this.targets[target]&&console.warn("[portal-vue]: Target ".concat(target," already exists")),this.$set(this.targets,target,Object.freeze([vm])))},unregisterTarget:function(target){this.$delete(this.targets,target)},registerSource:function(source,vm,force){inBrowser&&(this.trackInstances&&!force&&this.sources[source]&&console.warn("[portal-vue]: source ".concat(source," already exists")),this.$set(this.sources,source,Object.freeze([vm])))},unregisterSource:function(source){this.$delete(this.sources,source)},hasTarget:function(to){return!(!this.targets[to]||!this.targets[to][0])},hasSource:function(to){return!(!this.sources[to]||!this.sources[to][0])},hasContentFor:function(to){return!!this.transports[to]&&!!this.transports[to].length},$_getTransportIndex:function(_ref){var to=_ref.to,from=_ref.from;for(var i in this.transports[to])if(this.transports[to][i].from===from)return+i;return-1}}}),wormhole=new Wormhole(transports),_id=1,Portal=Vue__default.default.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(_id++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var _this=this;this.$nextTick((function(){wormhole.registerSource(_this.name,_this)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){wormhole.unregisterSource(this.name),this.clear()},watch:{to:function(newValue,oldValue){oldValue&&oldValue!==newValue&&this.clear(oldValue),this.sendUpdate()}},methods:{clear:function(target){var closer={from:this.name,to:target||this.to};wormhole.close(closer)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(children){return"function"==typeof children?children(this.slotProps):children},sendUpdate:function(){var slotContent=this.normalizeSlots();if(slotContent){var transport={from:this.name,to:this.to,passengers:_toConsumableArray(slotContent),order:this.order};wormhole.open(transport)}else this.clear()}},render:function(h){var children=this.$slots.default||this.$scopedSlots.default||[],Tag=this.tag;return children&&this.disabled?children.length<=1&&this.slim?this.normalizeOwnChildren(children)[0]:h(Tag,[this.normalizeOwnChildren(children)]):this.slim?h():h(Tag,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),PortalTarget=Vue__default.default.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:wormhole.transports,firstRender:!0}},created:function(){var _this=this;this.$nextTick((function(){wormhole.registerTarget(_this.name,_this)}))},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(newVal,oldVal){wormhole.unregisterTarget(oldVal),wormhole.registerTarget(newVal,this)}},mounted:function(){var _this2=this;this.transition&&this.$nextTick((function(){_this2.firstRender=!1}))},beforeDestroy:function(){wormhole.unregisterTarget(this.name)},computed:{ownTransports:function(){var transports=this.transports[this.name]||[];return this.multiple?transports:0===transports.length?[]:[transports[transports.length-1]]},passengers:function(){return function(transports){var slotProps=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return transports.reduce((function(passengers,transport){var temp=transport.passengers[0],newPassengers="function"==typeof temp?temp(slotProps):transport.passengers;return passengers.concat(newPassengers)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var noWrapper=this.slim&&!this.transition;return noWrapper&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),noWrapper}},render:function(h){var noWrapper=this.noWrapper(),children=this.children(),Tag=this.transition||this.tag;return noWrapper?children[0]:this.slim&&!Tag?h():h(Tag,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},children)}}),_id$1=0,portalProps=["disabled","name","order","slim","slotProps","tag","to"],targetProps=["multiple","transition"];Vue__default.default.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(_id$1++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!=typeof document){var el=document.querySelector(this.mountTo);if(el){var props=this.$props;if(wormhole.targets[props.name])props.bail?console.warn("[portal-vue]: Target ".concat(props.name," is already mounted.\n Aborting because 'bail: true' is set")):this.portalTarget=wormhole.targets[props.name];else{var append=props.append;if(append){var type="string"==typeof append?append:"DIV",mountEl=document.createElement(type);el.appendChild(mountEl),el=mountEl}var _props=pick(this.$props,targetProps);_props.slim=this.targetSlim,_props.tag=this.targetTag,_props.slotProps=this.targetSlotProps,_props.name=this.to,this.portalTarget=new PortalTarget({el:el,parent:this.$parent||this,propsData:_props})}}else console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"))}},beforeDestroy:function(){var target=this.portalTarget;if(this.append){var el=target.$el;el.parentNode.removeChild(el)}target.$destroy()},render:function(h){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),h();if(!this.$scopedSlots.manual){var props=pick(this.$props,portalProps);return h(Portal,{props:props,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var content=this.$scopedSlots.manual({to:this.to});return Array.isArray(content)&&(content=content[0]),content||h()}});var _watch,VuePlugin,DefaultTransition=extend({mixins:[normalizeSlotMixin],data:function(){return{name:"b-toaster"}},methods:{onAfterEnter:function(el){var _this=this;requestAF((function(){removeClass(el,"".concat(_this.name,"-enter-to"))}))}},render:function(h){return h("transition-group",{props:{tag:"div",name:this.name},on:{afterEnter:this.onAfterEnter}},this.normalizeSlot())}}),props$1=makePropsConfigurable({ariaAtomic:makeProp(PROP_TYPE_STRING),ariaLive:makeProp(PROP_TYPE_STRING),name:makeProp(PROP_TYPE_STRING,void 0,!0),role:makeProp(PROP_TYPE_STRING)},"BToaster"),BToaster=extend({name:"BToaster",mixins:[listenOnRootMixin],props:props$1,data:function(){return{doRender:!1,dead:!1,staticName:this.name}},beforeMount:function(){var name=this.name;this.staticName=name,wormhole.hasTarget(name)?(warn('A "" with name "'.concat(name,'" already exists in the document.'),"BToaster"),this.dead=!0):this.doRender=!0},beforeDestroy:function(){this.doRender&&this.emitOnRoot(getRootEventName("BToaster","destroyed"),this.name)},destroyed:function(){var $el=this.$el;$el&&$el.parentNode&&$el.parentNode.removeChild($el)},render:function(h){var $toaster=h("div",{class:["d-none",{"b-dead-toaster":this.dead}]});if(this.doRender){var $target=h(PortalTarget,{staticClass:"b-toaster-slot",props:{name:this.staticName,multiple:!0,tag:"div",slim:!1,transition:DefaultTransition}});$toaster=h("div",{staticClass:"b-toaster",class:[this.staticName],attrs:{id:this.staticName,role:this.role||null,"aria-live":this.ariaLive,"aria-atomic":this.ariaAtomic}},[$target])}return $toaster}}),_makeModelMixin=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1,event:"change"}),modelMixin=_makeModelMixin.mixin,modelProps=_makeModelMixin.props,MODEL_PROP_NAME=_makeModelMixin.prop,MODEL_EVENT_NAME=_makeModelMixin.event,linkProps=pick$1(props$2f,["href","to"]),props=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps),linkProps),{},{appendToast:makeProp(PROP_TYPE_BOOLEAN,!1),autoHideDelay:makeProp(PROP_TYPE_NUMBER_STRING,5e3),bodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerTag:makeProp(PROP_TYPE_STRING,"header"),isStatus:makeProp(PROP_TYPE_BOOLEAN,!1),noAutoHide:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseButton:makeProp(PROP_TYPE_BOOLEAN,!1),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noHoverPause:makeProp(PROP_TYPE_BOOLEAN,!1),solid:makeProp(PROP_TYPE_BOOLEAN,!1),static:makeProp(PROP_TYPE_BOOLEAN,!1),title:makeProp(PROP_TYPE_STRING),toastClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),toaster:makeProp(PROP_TYPE_STRING,"b-toaster-top-right"),variant:makeProp(PROP_TYPE_STRING)})),"BToast"),BToast=extend({name:"BToast",mixins:[attrsMixin,idMixin,modelMixin,listenOnRootMixin,normalizeSlotMixin,scopedStyleMixin],inheritAttrs:!1,props:props,data:function(){return{isMounted:!1,doRender:!1,localShow:!1,isTransitioning:!1,isHiding:!1,order:0,dismissStarted:0,resumeDismiss:0}},computed:{toastClasses:function(){var appendToast=this.appendToast,variant=this.variant;return _defineProperty({"b-toast-solid":this.solid,"b-toast-append":appendToast,"b-toast-prepend":!appendToast},"b-toast-".concat(variant),variant)},slotScope:function(){return{hide:this.hide}},computedDuration:function(){return mathMax(toInteger(this.autoHideDelay,0),1e3)},computedToaster:function(){return String(this.toaster)},transitionHandlers:function(){return{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,afterLeave:this.onAfterLeave}},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{id:this.safeId(),tabindex:"0"})}},watch:(_watch={},_defineProperty(_watch,MODEL_PROP_NAME,(function(newValue){this[newValue?"show":"hide"]()})),_defineProperty(_watch,"localShow",(function(newValue){newValue!==this[MODEL_PROP_NAME]&&this.$emit(MODEL_EVENT_NAME,newValue)})),_defineProperty(_watch,"toaster",(function(){this.$nextTick(this.ensureToaster)})),_defineProperty(_watch,"static",(function(newValue){newValue&&this.localShow&&this.ensureToaster()})),_watch),created:function(){this.$_dismissTimer=null},mounted:function(){var _this=this;this.isMounted=!0,this.$nextTick((function(){_this[MODEL_PROP_NAME]&&requestAF((function(){_this.show()}))})),this.listenOnRoot(getRootActionEventName("BToast","show"),(function(id){id===_this.safeId()&&_this.show()})),this.listenOnRoot(getRootActionEventName("BToast","hide"),(function(id){id&&id!==_this.safeId()||_this.hide()})),this.listenOnRoot(getRootEventName("BToaster","destroyed"),(function(toaster){toaster===_this.computedToaster&&_this.hide()}))},beforeDestroy:function(){this.clearDismissTimer()},methods:{show:function(){var _this2=this;if(!this.localShow){this.ensureToaster();var showEvent=this.buildEvent("show");this.emitEvent(showEvent),this.dismissStarted=this.resumeDismiss=0,this.order=Date.now()*(this.appendToast?1:-1),this.isHiding=!1,this.doRender=!0,this.$nextTick((function(){requestAF((function(){_this2.localShow=!0}))}))}},hide:function(){var _this3=this;if(this.localShow){var hideEvent=this.buildEvent("hide");this.emitEvent(hideEvent),this.setHoverHandler(!1),this.dismissStarted=this.resumeDismiss=0,this.clearDismissTimer(),this.isHiding=!0,requestAF((function(){_this3.localShow=!1}))}},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvEvent(type,_objectSpread2$3(_objectSpread2$3({cancelable:!1,target:this.$el||null,relatedTarget:null},options),{},{vueTarget:this,componentId:this.safeId()}))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BToast",type),bvEvent),this.$emit(type,bvEvent)},ensureToaster:function(){if(!this.static){var computedToaster=this.computedToaster;if(!wormhole.hasTarget(computedToaster)){var div=document.createElement("div");document.body.appendChild(div),createNewChildComponent(this.bvEventRoot,BToaster,{propsData:{name:computedToaster}}).$mount(div)}}},startDismissTimer:function(){this.clearDismissTimer(),this.noAutoHide||(this.$_dismissTimer=setTimeout(this.hide,this.resumeDismiss||this.computedDuration),this.dismissStarted=Date.now(),this.resumeDismiss=0)},clearDismissTimer:function(){clearTimeout(this.$_dismissTimer),this.$_dismissTimer=null},setHoverHandler:function(on){var el=this.$refs["b-toast"];eventOnOff(on,el,"mouseenter",this.onPause,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,el,"mouseleave",this.onUnPause,EVENT_OPTIONS_NO_CAPTURE)},onPause:function(){if(!this.noAutoHide&&!this.noHoverPause&&this.$_dismissTimer&&!this.resumeDismiss){var passed=Date.now()-this.dismissStarted;passed>0&&(this.clearDismissTimer(),this.resumeDismiss=mathMax(this.computedDuration-passed,1e3))}},onUnPause:function(){this.noAutoHide||this.noHoverPause||!this.resumeDismiss?this.resumeDismiss=this.dismissStarted=0:this.startDismissTimer()},onLinkClick:function(){var _this4=this;this.$nextTick((function(){requestAF((function(){_this4.hide()}))}))},onBeforeEnter:function(){this.isTransitioning=!0},onAfterEnter:function(){this.isTransitioning=!1;var hiddenEvent=this.buildEvent("shown");this.emitEvent(hiddenEvent),this.startDismissTimer(),this.setHoverHandler(!0)},onBeforeLeave:function(){this.isTransitioning=!0},onAfterLeave:function(){this.isTransitioning=!1,this.order=0,this.resumeDismiss=this.dismissStarted=0;var hiddenEvent=this.buildEvent("hidden");this.emitEvent(hiddenEvent),this.doRender=!1},makeToast:function(h){var _this5=this,title=this.title,slotScope=this.slotScope,link=isLink$1(this),$headerContent=[],$title=this.normalizeSlot("toast-title",slotScope);$title?$headerContent.push($title):title&&$headerContent.push(h("strong",{staticClass:"mr-2"},title)),this.noCloseButton||$headerContent.push(h(BButtonClose,{staticClass:"ml-auto mb-1",on:{click:function(){_this5.hide()}}}));var $header=h();$headerContent.length>0&&($header=h(this.headerTag,{staticClass:"toast-header",class:this.headerClass},$headerContent));var $body=h(link?BLink:"div",{staticClass:"toast-body",class:this.bodyClass,props:link?pluckProps(linkProps,this):{},on:link?{click:this.onLinkClick}:{}},this.normalizeSlot("default",slotScope));return h("div",{staticClass:"toast",class:this.toastClass,attrs:this.computedAttrs,key:"toast-".concat(this._uid),ref:"toast"},[$header,$body])}},render:function(h){if(!this.doRender||!this.isMounted)return h();var order=this.order,isStatic=this.static,isHiding=this.isHiding,isStatus=this.isStatus,name="b-toast-".concat(this._uid),$toast=h("div",{staticClass:"b-toast",class:this.toastClasses,attrs:_objectSpread2$3(_objectSpread2$3({},isStatic?{}:this.scopedStyleAttrs),{},{id:this.safeId("_toast_outer"),role:isHiding?null:isStatus?"status":"alert","aria-live":isHiding?null:isStatus?"polite":"assertive","aria-atomic":isHiding?null:"true"}),key:name,ref:"b-toast"},[h(BVTransition,{props:{noFade:this.noFade},on:this.transitionHandlers},[this.localShow?this.makeToast(h):h()])]);return h(Portal,{props:{name:name,to:this.computedToaster,order:order,slim:!0,disabled:isStatic}},[$toast])}}),BASE_PROPS=["id"].concat(_toConsumableArray$1(keys(omit(props,["static","visible"])))),propsToSlots={toastContent:"default",title:"toast-title"},filterOptions=function(options){return BASE_PROPS.reduce((function(memo,key){return isUndefined(options[key])||(memo[key]=options[key]),memo}),{})},BVToastPlugin=pluginFactory({plugins:{plugin:function(Vue){var BVToastPop=Vue.extend({name:"BVToastPop",extends:BToast,mixins:[useParentMixin],destroyed:function(){var $el=this.$el;$el&&$el.parentNode&&$el.parentNode.removeChild($el)},mounted:function(){var _this=this,handleDestroy=function(){_this.localShow=!1,_this.doRender=!1,_this.$nextTick((function(){_this.$nextTick((function(){requestAF((function(){_this.$destroy()}))}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy),this.listenOnRoot(getRootEventName("BToaster","destroyed"),(function(toaster){toaster===_this.toaster&&handleDestroy()}))}}),BvToast=function(){function BvToast(vm){_classCallCheck(this,BvToast),assign(this,{_vm:vm,_root:getEventRoot(vm)}),defineProperties(this,{_vm:{enumerable:!0,configurable:!1,writable:!1},_root:{enumerable:!0,configurable:!1,writable:!1}})}return _createClass(BvToast,[{key:"toast",value:function(content){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};content&&!warnNotClient("$bvToast")&&function(props,parent){if(!warnNotClient("$bvToast")){var toast=createNewChildComponent(parent,BVToastPop,{propsData:_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},filterOptions(getComponentConfig("BToast"))),omit(props,keys(propsToSlots))),{},{static:!1,visible:!0})});keys(propsToSlots).forEach((function(prop){var value=props[prop];isUndefined(value)||("title"===prop&&isString(value)&&(value=[parent.$createElement("strong",{class:"mr-2"},value)]),toast.$slots[propsToSlots[prop]]=concat(value))}));var div=document.createElement("div");document.body.appendChild(div),toast.$mount(div)}}(_objectSpread2$3(_objectSpread2$3({},filterOptions(options)),{},{toastContent:content}),this._vm)}},{key:"show",value:function(id){id&&this._root.$emit(getRootActionEventName("BToast","show"),id)}},{key:"hide",value:function(){var id=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._root.$emit(getRootActionEventName("BToast","hide"),id)}}]),BvToast}();Vue.mixin({beforeCreate:function(){this._bv__toast=new BvToast(this)}}),hasOwnProperty(Vue.prototype,"$bvToast")||defineProperty$1(Vue.prototype,"$bvToast",{get:function(){return this&&this._bv__toast||warn('"'.concat("$bvToast",'" must be accessed from a Vue instance "this" context.'),"BToast"),this._bv__toast}})}}}),ToastPlugin=pluginFactory({components:{BToast:BToast,BToaster:BToaster},plugins:{BVToastPlugin:BVToastPlugin}}),BV_TOOLTIP="__BV_Tooltip__",validTriggers={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},htmlRE=/^html$/i,noninteractiveRE=/^noninteractive$/i,noFadeRE=/^nofade$/i,placementRE=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,boundaryRE=/^(window|viewport|scrollParent)$/i,delayRE=/^d\d+$/i,delayShowRE=/^ds\d+$/i,delayHideRE=/^dh\d+$/i,offsetRE$1=/^o-?\d+$/i,variantRE=/^v-.+$/i,spacesRE=/\s+/,applyTooltip=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings,vnode){var config={title:void 0,trigger:"",placement:"top",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,id:null,html:!1,interactive:!0,disabled:!1,delay:getComponentConfig("BTooltip","delay",50),boundary:String(getComponentConfig("BTooltip","boundary","scrollParent")),boundaryPadding:toInteger(getComponentConfig("BTooltip","boundaryPadding",5),0),variant:getComponentConfig("BTooltip","variant"),customClass:getComponentConfig("BTooltip","customClass")};if(isString(bindings.value)||isNumber(bindings.value)||isFunction$1(bindings.value)?config.title=bindings.value:isPlainObject(bindings.value)&&(config=_objectSpread2$3(_objectSpread2$3({},config),bindings.value)),isUndefined(config.title)){var attrs=isVue3?vnode.props:(vnode.data||{}).attrs;config.title=attrs&&!isUndefinedOrNull(attrs.title)?attrs.title:void 0}isPlainObject(config.delay)||(config.delay={show:toInteger(config.delay,0),hide:toInteger(config.delay,0)}),bindings.arg&&(config.container="#".concat(bindings.arg)),keys(bindings.modifiers).forEach((function(mod){if(htmlRE.test(mod))config.html=!0;else if(noninteractiveRE.test(mod))config.interactive=!1;else if(noFadeRE.test(mod))config.animation=!1;else if(placementRE.test(mod))config.placement=mod;else if(boundaryRE.test(mod))mod="scrollparent"===mod?"scrollParent":mod,config.boundary=mod;else if(delayRE.test(mod)){var delay=toInteger(mod.slice(1),0);config.delay.show=delay,config.delay.hide=delay}else delayShowRE.test(mod)?config.delay.show=toInteger(mod.slice(2),0):delayHideRE.test(mod)?config.delay.hide=toInteger(mod.slice(2),0):offsetRE$1.test(mod)?config.offset=toInteger(mod.slice(1),0):variantRE.test(mod)&&(config.variant=mod.slice(2)||null)}));var selectedTriggers={};return concat(config.trigger||"").filter(identity).join(" ").trim().toLowerCase().split(spacesRE).forEach((function(trigger){validTriggers[trigger]&&(selectedTriggers[trigger]=!0)})),keys(bindings.modifiers).forEach((function(mod){mod=mod.toLowerCase(),validTriggers[mod]&&(selectedTriggers[mod]=!0)})),config.trigger=keys(selectedTriggers).join(" "),"blur"===config.trigger&&(config.trigger="focus"),config.trigger||(config.trigger="hover focus"),config}(bindings,vnode);if(!el[BV_TOOLTIP]){var parent=getInstanceFromDirective(vnode,bindings);el[BV_TOOLTIP]=createNewChildComponent(parent,BVTooltip,{_scopeId:getScopeId(parent,void 0)}),el[BV_TOOLTIP].__bv_prev_data__={},el[BV_TOOLTIP].$on("show",(function(){isFunction$1(config.title)&&el[BV_TOOLTIP].updateData({title:config.title(el)})}))}var data={title:config.title,triggers:config.trigger,placement:config.placement,fallbackPlacement:config.fallbackPlacement,variant:config.variant,customClass:config.customClass,container:config.container,boundary:config.boundary,delay:config.delay,offset:config.offset,noFade:!config.animation,id:config.id,interactive:config.interactive,disabled:config.disabled,html:config.html},oldData=el[BV_TOOLTIP].__bv_prev_data__;if(el[BV_TOOLTIP].__bv_prev_data__=data,!looseEqual(data,oldData)){var newData={target:el};keys(data).forEach((function(prop){data[prop]!==oldData[prop]&&(newData[prop]="title"===prop&&isFunction$1(data[prop])?data[prop](el):data[prop])})),el[BV_TOOLTIP].updateData(newData)}}},VBTooltipPlugin=pluginFactory({directives:{VBTooltip:{bind:function(el,bindings,vnode){applyTooltip(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){nextTick((function(){applyTooltip(el,bindings,vnode)}))},unbind:function(el){!function(el){el[BV_TOOLTIP]&&(el[BV_TOOLTIP].$destroy(),el[BV_TOOLTIP]=null),delete el[BV_TOOLTIP]}(el)}}}}),TooltipPlugin=pluginFactory({components:{BTooltip:BTooltip},plugins:{VBTooltipPlugin:VBTooltipPlugin}}),componentsPlugin=pluginFactory({plugins:{AlertPlugin:AlertPlugin,AspectPlugin:AspectPlugin,AvatarPlugin:AvatarPlugin,BadgePlugin:BadgePlugin,BreadcrumbPlugin:BreadcrumbPlugin,ButtonPlugin:ButtonPlugin,ButtonGroupPlugin:ButtonGroupPlugin,ButtonToolbarPlugin:ButtonToolbarPlugin,CalendarPlugin:CalendarPlugin,CardPlugin:CardPlugin,CarouselPlugin:CarouselPlugin,CollapsePlugin:CollapsePlugin,DropdownPlugin:DropdownPlugin,EmbedPlugin:EmbedPlugin,FormPlugin:FormPlugin,FormCheckboxPlugin:FormCheckboxPlugin,FormDatepickerPlugin:FormDatepickerPlugin,FormFilePlugin:FormFilePlugin,FormGroupPlugin:FormGroupPlugin,FormInputPlugin:FormInputPlugin,FormRadioPlugin:FormRadioPlugin,FormRatingPlugin:FormRatingPlugin,FormSelectPlugin:FormSelectPlugin,FormSpinbuttonPlugin:FormSpinbuttonPlugin,FormTagsPlugin:FormTagsPlugin,FormTextareaPlugin:FormTextareaPlugin,FormTimepickerPlugin:FormTimepickerPlugin,ImagePlugin:ImagePlugin,InputGroupPlugin:InputGroupPlugin,JumbotronPlugin:JumbotronPlugin,LayoutPlugin:LayoutPlugin,LinkPlugin:LinkPlugin,ListGroupPlugin:ListGroupPlugin,MediaPlugin:MediaPlugin,ModalPlugin:ModalPlugin,NavPlugin:NavPlugin,NavbarPlugin:NavbarPlugin,OverlayPlugin:OverlayPlugin,PaginationPlugin:PaginationPlugin,PaginationNavPlugin:PaginationNavPlugin,PopoverPlugin:PopoverPlugin,ProgressPlugin:ProgressPlugin,SidebarPlugin:SidebarPlugin,SkeletonPlugin:SkeletonPlugin,SpinnerPlugin:SpinnerPlugin,TablePlugin:TablePlugin,TabsPlugin:TabsPlugin,TimePlugin:TimePlugin,ToastPlugin:ToastPlugin,TooltipPlugin:TooltipPlugin}}),VBHoverPlugin=pluginFactory({directives:{VBHover:VBHover}}),VBModalPlugin=pluginFactory({directives:{VBModal:VBModal}}),SELECTOR_NAV_LINKS=".nav-link",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_DROPDOWN_ITEMS=".dropdown-item",ROOT_EVENT_NAME_ACTIVATE=getRootEventName("BVScrollspy","activate"),Default={element:"body",offset:10,method:"auto",throttle:75},DefaultType={element:"(string|element|component)",offset:"number",method:"string",throttle:"number"},TransitionEndEvents=["webkitTransitionEnd","transitionend","otransitionend","oTransitionEnd"],toType=function(obj){return function(obj){return Object.prototype.toString.call(obj)}(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()},BVScrollspy=function(){function BVScrollspy(element,config,$root){_classCallCheck(this,BVScrollspy),this.$el=element,this.$scroller=null,this.$selector=[SELECTOR_NAV_LINKS,SELECTOR_LIST_ITEMS,SELECTOR_DROPDOWN_ITEMS].join(","),this.$offsets=[],this.$targets=[],this.$activeTarget=null,this.$scrollHeight=0,this.$resizeTimeout=null,this.$scrollerObserver=null,this.$targetsObserver=null,this.$root=$root||null,this.$config=null,this.updateConfig(config)}return _createClass(BVScrollspy,[{key:"updateConfig",value:function(config,$root){this.$scroller&&(this.unlisten(),this.$scroller=null);var cfg=_objectSpread2$3(_objectSpread2$3({},this.constructor.Default),config);if($root&&(this.$root=$root),function(componentName,config,configTypes){for(var property in configTypes)if(hasOwnProperty(configTypes,property)){var expectedTypes=configTypes[property],value=config[property],valueType=value&&isElement(value)?"element":toType(value);valueType=value&&value._isVue?"component":valueType,new RegExp(expectedTypes).test(valueType)||warn("".concat(componentName,': Option "').concat(property,'" provided type "').concat(valueType,'" but expected type "').concat(expectedTypes,'"'))}}(this.constructor.Name,cfg,this.constructor.DefaultType),this.$config=cfg,this.$root){var self=this;this.$root.$nextTick((function(){self.listen()}))}else this.listen()}},{key:"dispose",value:function(){this.unlisten(),clearTimeout(this.$resizeTimeout),this.$resizeTimeout=null,this.$el=null,this.$config=null,this.$scroller=null,this.$selector=null,this.$offsets=null,this.$targets=null,this.$activeTarget=null,this.$scrollHeight=null}},{key:"listen",value:function(){var _this=this,scroller=this.getScroller();scroller&&"BODY"!==scroller.tagName&&eventOn(scroller,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"resize",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"orientationchange",this,EVENT_OPTIONS_NO_CAPTURE),TransitionEndEvents.forEach((function(eventName){eventOn(window,eventName,_this,EVENT_OPTIONS_NO_CAPTURE)})),this.setObservers(!0),this.handleEvent("refresh")}},{key:"unlisten",value:function(){var _this2=this,scroller=this.getScroller();this.setObservers(!1),scroller&&"BODY"!==scroller.tagName&&eventOff(scroller,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"resize",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"orientationchange",this,EVENT_OPTIONS_NO_CAPTURE),TransitionEndEvents.forEach((function(eventName){eventOff(window,eventName,_this2,EVENT_OPTIONS_NO_CAPTURE)}))}},{key:"setObservers",value:function(on){var _this3=this;this.$scrollerObserver&&this.$scrollerObserver.disconnect(),this.$targetsObserver&&this.$targetsObserver.disconnect(),this.$scrollerObserver=null,this.$targetsObserver=null,on&&(this.$targetsObserver=observeDom(this.$el,(function(){_this3.handleEvent("mutation")}),{subtree:!0,childList:!0,attributes:!0,attributeFilter:["href"]}),this.$scrollerObserver=observeDom(this.getScroller(),(function(){_this3.handleEvent("mutation")}),{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["id","style","class"]}))}},{key:"handleEvent",value:function(event){var type=isString(event)?event:event.type,self=this;"scroll"===type?(this.$scrollerObserver||this.listen(),this.process()):/(resize|orientationchange|mutation|refresh)/.test(type)&&(self.$resizeTimeout||(self.$resizeTimeout=setTimeout((function(){self.refresh(),self.process(),self.$resizeTimeout=null}),self.$config.throttle)))}},{key:"refresh",value:function(){var _this4=this,scroller=this.getScroller();if(scroller){var autoMethod=scroller!==scroller.window?"position":"offset",method="auto"===this.$config.method?autoMethod:this.$config.method,methodFn="position"===method?position:offset$1,offsetBase="position"===method?this.getScrollTop():0;return this.$offsets=[],this.$targets=[],this.$scrollHeight=this.getScrollHeight(),selectAll(this.$selector,this.$el).map((function(link){return getAttr(link,"href")})).filter((function(href){return href&&RX_HREF.test(href||"")})).map((function(href){var id=href.replace(RX_HREF,"$1").trim();if(!id)return null;var el=select(id,scroller);return el&&isVisible(el)?{offset:toInteger(methodFn(el).top,0)+offsetBase,target:id}:null})).filter(identity).sort((function(a,b){return a.offset-b.offset})).reduce((function(memo,item){return memo[item.target]||(_this4.$offsets.push(item.offset),_this4.$targets.push(item.target),memo[item.target]=!0),memo}),{}),this}}},{key:"process",value:function(){var scrollTop=this.getScrollTop()+this.$config.offset,scrollHeight=this.getScrollHeight(),maxScroll=this.$config.offset+scrollHeight-this.getOffsetHeight();if(this.$scrollHeight!==scrollHeight&&this.refresh(),scrollTop>=maxScroll){var target=this.$targets[this.$targets.length-1];this.$activeTarget!==target&&this.activate(target)}else{if(this.$activeTarget&&scrollTop0)return this.$activeTarget=null,void this.clear();for(var i=this.$offsets.length;i--;){this.$activeTarget!==this.$targets[i]&&scrollTop>=this.$offsets[i]&&(isUndefined(this.$offsets[i+1])||scrollTop0&&this.$root&&this.$root.$emit(ROOT_EVENT_NAME_ACTIVATE,target,links)}},{key:"clear",value:function(){var _this6=this;selectAll("".concat(this.$selector,", ").concat(".nav-item"),this.$el).filter((function(el){return hasClass(el,"active")})).forEach((function(el){return _this6.setActiveState(el,!1)}))}},{key:"setActiveState",value:function(el,active){el&&(active?addClass(el,"active"):removeClass(el,"active"))}}],[{key:"Name",get:function(){return"v-b-scrollspy"}},{key:"Default",get:function(){return Default}},{key:"DefaultType",get:function(){return DefaultType}}]),BVScrollspy}(),BV_SCROLLSPY="__BV_Scrollspy__",onlyDigitsRE=/^\d+$/,offsetRE=/^(auto|position|offset)$/,applyScrollspy=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings){var config={};return bindings.arg&&(config.element="#".concat(bindings.arg)),keys(bindings.modifiers).forEach((function(mod){onlyDigitsRE.test(mod)?config.offset=toInteger(mod,0):offsetRE.test(mod)&&(config.method=mod)})),isString(bindings.value)?config.element=bindings.value:isNumber(bindings.value)?config.offset=mathRound(bindings.value):isObject(bindings.value)&&keys(bindings.value).filter((function(k){return!!BVScrollspy.DefaultType[k]})).forEach((function(k){config[k]=bindings.value[k]})),config}(bindings);el[BV_SCROLLSPY]?el[BV_SCROLLSPY].updateConfig(config,getEventRoot(getInstanceFromDirective(vnode,bindings))):el[BV_SCROLLSPY]=new BVScrollspy(el,config,getEventRoot(getInstanceFromDirective(vnode,bindings)))}},VBScrollspyPlugin=pluginFactory({directives:{VBScrollspy:{bind:function(el,bindings,vnode){applyScrollspy(el,bindings,vnode)},inserted:function(el,bindings,vnode){applyScrollspy(el,bindings,vnode)},update:function(el,bindings,vnode){bindings.value!==bindings.oldValue&&applyScrollspy(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){bindings.value!==bindings.oldValue&&applyScrollspy(el,bindings,vnode)},unbind:function(el){!function(el){el[BV_SCROLLSPY]&&(el[BV_SCROLLSPY].dispose(),el[BV_SCROLLSPY]=null,delete el[BV_SCROLLSPY])}(el)}}}}),VBVisiblePlugin=pluginFactory({directives:{VBVisible:VBVisible}}),directivesPlugin=pluginFactory({plugins:{VBHoverPlugin:VBHoverPlugin,VBModalPlugin:VBModalPlugin,VBPopoverPlugin:VBPopoverPlugin,VBScrollspyPlugin:VBScrollspyPlugin,VBTogglePlugin:VBTogglePlugin,VBTooltipPlugin:VBTooltipPlugin,VBVisiblePlugin:VBVisiblePlugin}}),BootstrapVue={install:installFactory({plugins:{componentsPlugin:componentsPlugin,directivesPlugin:directivesPlugin}}),NAME:"BootstrapVue"};return VuePlugin=BootstrapVue,HAS_WINDOW_SUPPORT&&window.Vue&&window.Vue.use(VuePlugin),HAS_WINDOW_SUPPORT&&VuePlugin.NAME&&(window[VuePlugin.NAME]=VuePlugin),BootstrapVue})); + */ +!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory(require("../vue/vue")):"function"==typeof define&&define.amd?define("local_treestudyplan/bootstrap-vue/bootstrap-vue",["../vue/vue"],factory):(global="undefined"!=typeof globalThis?globalThis:global||self).bootstrapVue=factory(global.Vue)}(window,(function(Vue){var Vue__default=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(Vue);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread2$3(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var result,Super=_getPrototypeOf(Derived);if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return function(self,call){if(call&&("object"==typeof call||"function"==typeof call))return call;if(void 0!==call)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(self)}(this,result)}}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(target,property,receiver){var base=function(object,property){for(;!Object.prototype.hasOwnProperty.call(object,property)&&null!==(object=_getPrototypeOf(object)););return object}(target,property);if(base){var desc=Object.getOwnPropertyDescriptor(base,property);return desc.get?desc.get.call(arguments.length<3?target:receiver):desc.value}},_get.apply(this,arguments)}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||_unsupportedIterableToArray(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray$1(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||_unsupportedIterableToArray(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i0;/msie|trident/.test(USER_AGENT);var checkMultipleVueWarned,MULTIPLE_VUE_WARNING,_watch$k,HAS_PASSIVE_EVENT_SUPPORT=function(){var passiveEventSupported=!1;if(IS_BROWSER)try{var options={get passive(){passiveEventSupported=!0}};WINDOW.addEventListener("test",options,options),WINDOW.removeEventListener("test",options,options)}catch(_unused){passiveEventSupported=!1}return passiveEventSupported}(),HAS_TOUCH_SUPPORT=IS_BROWSER&&("ontouchstart"in DOCUMENT.documentElement||NAVIGATOR.maxTouchPoints>0),HAS_POINTER_EVENT_SUPPORT=IS_BROWSER&&Boolean(WINDOW.PointerEvent||WINDOW.MSPointerEvent),HAS_INTERACTION_OBSERVER_SUPPORT=IS_BROWSER&&"IntersectionObserver"in WINDOW&&"IntersectionObserverEntry"in WINDOW&&"intersectionRatio"in WINDOW.IntersectionObserverEntry.prototype,DEFAULT_BREAKPOINT=["xs","sm","md","lg","xl"],RX_ARRAY_NOTATION=/\[(\d+)]/g,RX_BV_PREFIX=/^(BV?)/,RX_DIGITS=/^\d+$/,RX_EXTENSION=/^\..+/,RX_HASH=/^#/,RX_HASH_ID=/^#[A-Za-z]+[\w\-:.]*$/,RX_HTML_TAGS=/(<([^>]+)>)/gi,RX_HYPHENATE=/\B([A-Z])/g,RX_LOWER_UPPER=/([a-z])([A-Z])/g,RX_NUMBER=/^[0-9]*\.?[0-9]+$/,RX_PLUS=/\+/g,RX_REGEXP_REPLACE=/[-/\\^$*+?.()|[\]{}]/g,RX_SPACES=/[\s\uFEFF\xA0]+/g,RX_SPACE_SPLIT=/\s+/,RX_STAR=/\/\*$/,RX_START_SPACE_WORD=/(\s|^)(\w)/g,RX_TRIM_LEFT=/^\s+/,RX_UNDERSCORE=/_/g,RX_UN_KEBAB=/-(\w)/g,RX_DATE=/^\d+-\d\d?-\d\d?(?:\s|T|$)/,RX_DATE_SPLIT=/-|\s|T/,RX_TIME=/^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/,RX_HREF=/^.*(#[^#]+)$/,RX_ENCODED_COMMA=/%2C/g,RX_ENCODE_REVERSE=/[!'()*]/g,RX_QUERY_START=/^(\?|#|&)/,RX_ASPECT=/^\d+(\.\d*)?[/:]\d+(\.\d*)?$/,RX_ASPECT_SEPARATOR=/[/:]/,RX_COL_CLASS=/^col-/,RX_ICON_PREFIX=/^BIcon/,RX_STRIP_LOCALE_MODS=/-u-.+/,Element=HAS_WINDOW_SUPPORT?WINDOW.Element:function(_Object){_inherits(Element,_Object);var _super=_createSuper(Element);function Element(){return _classCallCheck(this,Element),_super.apply(this,arguments)}return Element}(_wrapNativeSuper(Object)),HTMLElement=HAS_WINDOW_SUPPORT?WINDOW.HTMLElement:function(_Element){_inherits(HTMLElement,_Element);var _super2=_createSuper(HTMLElement);function HTMLElement(){return _classCallCheck(this,HTMLElement),_super2.apply(this,arguments)}return HTMLElement}(Element),SVGElement=HAS_WINDOW_SUPPORT?WINDOW.SVGElement:function(_Element2){_inherits(SVGElement,_Element2);var _super3=_createSuper(SVGElement);function SVGElement(){return _classCallCheck(this,SVGElement),_super3.apply(this,arguments)}return SVGElement}(Element),File=HAS_WINDOW_SUPPORT?WINDOW.File:function(_Object2){_inherits(File,_Object2);var _super4=_createSuper(File);function File(){return _classCallCheck(this,File),_super4.apply(this,arguments)}return File}(_wrapNativeSuper(Object)),toType$1=function(value){return _typeof$1(value)},isUndefined=function(value){return void 0===value},isNull=function(value){return null===value},isUndefinedOrNull=function(value){return isUndefined(value)||isNull(value)},isFunction$1=function(value){return"function"===toType$1(value)},isBoolean=function(value){return"boolean"===toType$1(value)},isString=function(value){return"string"===toType$1(value)},isNumber=function(value){return"number"===toType$1(value)},isNumeric$1=function(value){return RX_NUMBER.test(String(value))},isArray=function(value){return Array.isArray(value)},isObject=function(obj){return null!==obj&&"object"===_typeof$1(obj)},isPlainObject=function(obj){return"[object Object]"===Object.prototype.toString.call(obj)},isDate=function(value){return value instanceof Date},isEvent=function(value){return value instanceof Event},isRegExp=function(value){return"RegExp"===function(value){return Object.prototype.toString.call(value).slice(8,-1)}(value)},assign=function(){return Object.assign.apply(Object,arguments)},create=function(proto,optionalProps){return Object.create(proto,optionalProps)},defineProperties=function(obj,props){return Object.defineProperties(obj,props)},defineProperty$1=function(obj,prop,descriptor){return Object.defineProperty(obj,prop,descriptor)},getOwnPropertyNames=function(obj){return Object.getOwnPropertyNames(obj)},keys=function(obj){return Object.keys(obj)},hasOwnProperty=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)},clone=function(obj){return _objectSpread2$3({},obj)},pick$1=function(obj,props){return keys(obj).filter((function(key){return-1!==props.indexOf(key)})).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},omit=function(obj,props){return keys(obj).filter((function(key){return-1===props.indexOf(key)})).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},mergeDeep=function mergeDeep(target,source){return isObject(target)&&isObject(source)&&keys(source).forEach((function(key){isObject(source[key])?(target[key]&&isObject(target[key])||(target[key]=source[key]),mergeDeep(target[key],source[key])):assign(target,_defineProperty({},key,source[key]))})),target},sortKeys=function(obj){return keys(obj).sort().reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,obj[key]))}),{})},cloneDeep=function cloneDeep(obj){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:obj;return isArray(obj)?obj.reduce((function(result,val){return[].concat(_toConsumableArray$1(result),[cloneDeep(val,val)])}),[]):isPlainObject(obj)?keys(obj).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,cloneDeep(obj[key],obj[key])))}),{}):defaultValue},identity=function(x){return x},getRaw=function(obj,path){var defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!(path=isArray(path)?path.join("."):path)||!isObject(obj))return defaultValue;if(path in obj)return obj[path];var steps=(path=String(path).replace(RX_ARRAY_NOTATION,".$1")).split(".").filter(identity);return 0===steps.length?defaultValue:steps.every((function(step){return isObject(obj)&&step in obj&&!isUndefinedOrNull(obj=obj[step])}))?obj:isNull(obj)?null:defaultValue},get=function(obj,path){var defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,value=getRaw(obj,path);return isUndefinedOrNull(value)?defaultValue:value},getEnv=function(key){var fallback=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,env="undefined"!=typeof process&&process&&process.env||{};return key?env[key]||fallback:env},warn=function(message){var source=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;getEnv("BOOTSTRAP_VUE_NO_WARN")||"production"===getEnv("NODE_ENV")||console.warn("[BootstrapVue warn]: ".concat(source?"".concat(source," - "):"").concat(message))},warnNotClient=function(source){return!IS_BROWSER&&(warn("".concat(source,": Can not be called during SSR.")),!0)},warnNoPromiseSupport=function(source){return!HAS_PROMISE_SUPPORT&&(warn("".concat(source,": Requires Promise support.")),!0)},BvConfig=function(){function BvConfig(){_classCallCheck(this,BvConfig),this.$_config={}}return _createClass(BvConfig,[{key:"setConfig",value:function(){var _this=this,config=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};isPlainObject(config)&&getOwnPropertyNames(config).forEach((function(key){var subConfig=config[key];"breakpoints"===key?!isArray(subConfig)||subConfig.length<2||subConfig.some((function(b){return!isString(b)||0===b.length}))?warn('"breakpoints" must be an array of at least 2 breakpoint names',"BvConfig"):_this.$_config[key]=cloneDeep(subConfig):isPlainObject(subConfig)&&(_this.$_config[key]=getOwnPropertyNames(subConfig).reduce((function(config,prop){return isUndefined(subConfig[prop])||(config[prop]=cloneDeep(subConfig[prop])),config}),_this.$_config[key]||{}))}))}},{key:"resetConfig",value:function(){this.$_config={}}},{key:"getConfig",value:function(){return cloneDeep(this.$_config)}},{key:"getConfigValue",value:function(key){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return cloneDeep(getRaw(this.$_config,key,defaultValue))}}]),BvConfig}(),checkMultipleVue=(checkMultipleVueWarned=!1,MULTIPLE_VUE_WARNING=["Multiple instances of Vue detected!","You may need to set up an alias for Vue in your bundler config.","See: https://bootstrap-vue.org/docs#using-module-bundlers"].join("\n"),function(Vue){checkMultipleVueWarned||Vue__default.default===Vue||IS_JSDOM||warn(MULTIPLE_VUE_WARNING),checkMultipleVueWarned=!0}),installFactory=function(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},components=_ref.components,directives=_ref.directives,plugins=_ref.plugins,install=function install(Vue){var config=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};install.installed||(install.installed=!0,checkMultipleVue(Vue),function(){var config=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},Vue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vue__default.default;Vue.prototype.$bvConfig=Vue__default.default.prototype.$bvConfig=Vue.prototype.$bvConfig||Vue__default.default.prototype.$bvConfig||new BvConfig,Vue.prototype.$bvConfig.setConfig(config)}(config,Vue),registerComponents(Vue,components),registerDirectives(Vue,directives),registerPlugins(Vue,plugins))};return install.installed=!1,install},pluginFactory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{install:installFactory(options)})},registerPlugins=function(Vue){var plugins=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var plugin in plugins)plugin&&plugins[plugin]&&Vue.use(plugins[plugin])},registerComponent=function(Vue,name,def){Vue&&name&&def&&Vue.component(name,def)},registerComponents=function(Vue){var components=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var component in components)registerComponent(Vue,component,components[component])},registerDirective=function(Vue,name,def){Vue&&name&&def&&Vue.directive(name.replace(/^VB/,"B"),def)},registerDirectives=function(Vue){var directives=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var directive in directives)registerDirective(Vue,directive,directives[directive])},HOOK_EVENT_NAME_BEFORE_DESTROY=isVue3?"vnodeBeforeUnmount":"hook:beforeDestroy",HOOK_EVENT_NAME_DESTROYED=isVue3?"vNodeUnmounted":"hook:destroyed",ROOT_EVENT_NAME_PREFIX="bv",EVENT_OPTIONS_PASSIVE={passive:!0},EVENT_OPTIONS_NO_CAPTURE={passive:!0,capture:!1},PROP_TYPE_ARRAY=Array,PROP_TYPE_BOOLEAN=Boolean,PROP_TYPE_DATE=Date,PROP_TYPE_FUNCTION=Function,PROP_TYPE_NUMBER=Number,PROP_TYPE_OBJECT=Object,PROP_TYPE_REG_EXP=RegExp,PROP_TYPE_STRING=String,PROP_TYPE_ARRAY_FUNCTION=[PROP_TYPE_ARRAY,PROP_TYPE_FUNCTION],PROP_TYPE_ARRAY_OBJECT=[PROP_TYPE_ARRAY,PROP_TYPE_OBJECT],PROP_TYPE_ARRAY_OBJECT_STRING=[PROP_TYPE_ARRAY,PROP_TYPE_OBJECT,PROP_TYPE_STRING],PROP_TYPE_ARRAY_STRING=[PROP_TYPE_ARRAY,PROP_TYPE_STRING],PROP_TYPE_BOOLEAN_NUMBER=[PROP_TYPE_BOOLEAN,PROP_TYPE_NUMBER],PROP_TYPE_BOOLEAN_NUMBER_STRING=[PROP_TYPE_BOOLEAN,PROP_TYPE_NUMBER,PROP_TYPE_STRING],PROP_TYPE_BOOLEAN_STRING=[PROP_TYPE_BOOLEAN,PROP_TYPE_STRING],PROP_TYPE_DATE_STRING=[PROP_TYPE_DATE,PROP_TYPE_STRING],PROP_TYPE_FUNCTION_STRING=[PROP_TYPE_FUNCTION,PROP_TYPE_STRING],PROP_TYPE_NUMBER_STRING=[PROP_TYPE_NUMBER,PROP_TYPE_STRING],PROP_TYPE_NUMBER_OBJECT_STRING=[PROP_TYPE_NUMBER,PROP_TYPE_OBJECT,PROP_TYPE_STRING],PROP_TYPE_OBJECT_FUNCTION=[PROP_TYPE_OBJECT,PROP_TYPE_FUNCTION],PROP_TYPE_OBJECT_STRING=[PROP_TYPE_OBJECT,PROP_TYPE_STRING],from=function(){return Array.from.apply(Array,arguments)},arrayIncludes=function(array,value){return-1!==array.indexOf(value)},concat=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return Array.prototype.concat.apply([],args)},createArray=function(length,fillFn){var mapFn=isFunction$1(fillFn)?fillFn:function(){return fillFn};return Array.apply(null,{length:length}).map(mapFn)},flattenDeep=function flattenDeep(array){return array.reduce((function(result,item){return concat(result,Array.isArray(item)?flattenDeep(item):item)}),[])},hasNormalizedSlot=function(names){var $scopedSlots=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},$slots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(names=concat(names).filter(identity)).some((function(name){return $scopedSlots[name]||$slots[name]}))},normalizeSlot=function(names){var slot,scope=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},$scopedSlots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},$slots=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};names=concat(names).filter(identity);for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:"default",scopedSlots=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.$scopedSlots,slots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.$slots;return hasNormalizedSlot(name,scopedSlots,slots)},normalizeSlot:function(){var name=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",scope=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},scopedSlots=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.$scopedSlots,slots=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.$slots,vNodes=normalizeSlot(name,scope,scopedSlots,slots);return vNodes?concat(vNodes):vNodes}}}),toInteger=function(value){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN,integer=parseInt(value,10);return isNaN(integer)?defaultValue:integer},toFloat=function(value){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN,float=parseFloat(value);return isNaN(float)?defaultValue:float},toFixed=function(val,precision){return toFloat(val).toFixed(toInteger(precision,0))},kebabCase=function(str){return str.replace(RX_HYPHENATE,"-$1").toLowerCase()},pascalCase=function(str){return(str=kebabCase(str).replace(RX_UN_KEBAB,(function(_,c){return c?c.toUpperCase():""}))).charAt(0).toUpperCase()+str.slice(1)},startCase=function(str){return str.replace(RX_UNDERSCORE," ").replace(RX_LOWER_UPPER,(function(str,$1,$2){return $1+" "+$2})).replace(RX_START_SPACE_WORD,(function(str,$1,$2){return $1+$2.toUpperCase()}))},upperFirst=function(str){return(str=isString(str)?str.trim():String(str)).charAt(0).toUpperCase()+str.slice(1)},escapeRegExp=function(str){return str.replace(RX_REGEXP_REPLACE,"\\$&")},toString=function(val){var spaces=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return isUndefinedOrNull(val)?"":isArray(val)||isPlainObject(val)&&val.toString===Object.prototype.toString?JSON.stringify(val,null,spaces):String(val)},trim=function(str){return toString(str).trim()},lowerCase=function(str){return toString(str).toLowerCase()},ELEMENT_PROTO=Element.prototype,TABABLE_SELECTOR=["button","[href]:not(.disabled)","input","select","textarea","[tabindex]","[contenteditable]"].map((function(s){return"".concat(s,":not(:disabled):not([disabled])")})).join(", "),matchesEl=ELEMENT_PROTO.matches||ELEMENT_PROTO.msMatchesSelector||ELEMENT_PROTO.webkitMatchesSelector,closestEl=ELEMENT_PROTO.closest||function(sel){var el=this;do{if(matches(el,sel))return el;el=el.parentElement||el.parentNode}while(!isNull(el)&&el.nodeType===Node.ELEMENT_NODE);return null},requestAF=(WINDOW.requestAnimationFrame||WINDOW.webkitRequestAnimationFrame||WINDOW.mozRequestAnimationFrame||WINDOW.msRequestAnimationFrame||WINDOW.oRequestAnimationFrame||function(cb){return setTimeout(cb,16)}).bind(WINDOW),MutationObs=WINDOW.MutationObserver||WINDOW.WebKitMutationObserver||WINDOW.MozMutationObserver||null,isElement=function(el){return!(!el||el.nodeType!==Node.ELEMENT_NODE)},getActiveElement=function(){var excludes=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],activeElement=DOCUMENT.activeElement;return activeElement&&!excludes.some((function(el){return el===activeElement}))?activeElement:null},isTag=function(tag,name){return toString(tag).toLowerCase()===toString(name).toLowerCase()},isActiveElement=function(el){return isElement(el)&&el===getActiveElement()},isVisible=function(el){if(!isElement(el)||!el.parentNode||!contains(DOCUMENT.body,el))return!1;if("none"===getStyle(el,"display"))return!1;var bcr=getBCR(el);return!!(bcr&&bcr.height>0&&bcr.width>0)},isDisabled=function(el){return!isElement(el)||el.disabled||hasAttr(el,"disabled")||hasClass(el,"disabled")},reflow=function(el){return isElement(el)&&el.offsetHeight},selectAll=function(selector,root){return from((isElement(root)?root:DOCUMENT).querySelectorAll(selector))},select=function(selector,root){return(isElement(root)?root:DOCUMENT).querySelector(selector)||null},matches=function(el,selector){return!!isElement(el)&&matchesEl.call(el,selector)},closest=function(selector,root){var includeRoot=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!isElement(root))return null;var el=closestEl.call(root,selector);return includeRoot?el:el===root?null:el},contains=function(parent,child){return!(!parent||!isFunction$1(parent.contains))&&parent.contains(child)},getById=function(id){return DOCUMENT.getElementById(/^#/.test(id)?id.slice(1):id)||null},addClass=function(el,className){className&&isElement(el)&&el.classList&&el.classList.add(className)},removeClass=function(el,className){className&&isElement(el)&&el.classList&&el.classList.remove(className)},hasClass=function(el,className){return!!(className&&isElement(el)&&el.classList)&&el.classList.contains(className)},setAttr=function(el,attr,value){attr&&isElement(el)&&el.setAttribute(attr,value)},removeAttr=function(el,attr){attr&&isElement(el)&&el.removeAttribute(attr)},getAttr=function(el,attr){return attr&&isElement(el)?el.getAttribute(attr):null},hasAttr=function(el,attr){return attr&&isElement(el)?el.hasAttribute(attr):null},setStyle=function(el,prop,value){prop&&isElement(el)&&(el.style[prop]=value)},removeStyle=function(el,prop){prop&&isElement(el)&&(el.style[prop]="")},getStyle=function(el,prop){return prop&&isElement(el)&&el.style[prop]||null},getBCR=function(el){return isElement(el)?el.getBoundingClientRect():null},getCS=function(el){var getComputedStyle=WINDOW.getComputedStyle;return getComputedStyle&&isElement(el)?getComputedStyle(el):{}},offset$1=function(el){var _offset={top:0,left:0};if(!isElement(el)||0===el.getClientRects().length)return _offset;var bcr=getBCR(el);if(bcr){var win=el.ownerDocument.defaultView;_offset.top=bcr.top+win.pageYOffset,_offset.left=bcr.left+win.pageXOffset}return _offset},position=function(el){var _offset={top:0,left:0};if(!isElement(el))return _offset;var parentOffset={top:0,left:0},elStyles=getCS(el);if("fixed"===elStyles.position)_offset=getBCR(el)||_offset;else{_offset=offset$1(el);for(var doc=el.ownerDocument,offsetParent=el.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===getCS(offsetParent).position;)offsetParent=offsetParent.parentNode;if(offsetParent&&offsetParent!==el&&offsetParent.nodeType===Node.ELEMENT_NODE){parentOffset=offset$1(offsetParent);var offsetParentStyles=getCS(offsetParent);parentOffset.top+=toFloat(offsetParentStyles.borderTopWidth,0),parentOffset.left+=toFloat(offsetParentStyles.borderLeftWidth,0)}}return{top:_offset.top-parentOffset.top-toFloat(elStyles.marginTop,0),left:_offset.left-parentOffset.left-toFloat(elStyles.marginLeft,0)}},getTabables=function(){var rootEl=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;return selectAll(TABABLE_SELECTOR,rootEl).filter(isVisible).filter((function(el){return el.tabIndex>-1&&!el.disabled}))},attemptFocus=function(el){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{el.focus(options)}catch(_unused){}return isActiveElement(el)},attemptBlur=function(el){try{el.blur()}catch(_unused2){}return!isActiveElement(el)},memoize=function(fn){var cache=create(null);return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var argsKey=JSON.stringify(args);return cache[argsKey]=cache[argsKey]||fn.apply(null,args)}},VueProto=Vue__default.default.prototype,getConfigValue=function(key){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,bvConfig=VueProto.$bvConfig;return bvConfig?bvConfig.getConfigValue(key,defaultValue):cloneDeep(defaultValue)},getComponentConfig=function(key){var propKey=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,defaultValue=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return propKey?getConfigValue("".concat(key,".").concat(propKey),defaultValue):getConfigValue(key,{})},getBreakpoints=function(){return getConfigValue("breakpoints",DEFAULT_BREAKPOINT)},_getBreakpointsCached=memoize((function(){return getBreakpoints()})),getBreakpointsUpCached=memoize((function(){var breakpoints=cloneDeep(_getBreakpointsCached());return breakpoints[0]="",breakpoints})),prefixPropName=function(prefix,value){return prefix+upperFirst(value)},unprefixPropName=function(prefix,value){return str=value.replace(prefix,""),(str=isString(str)?str.trim():String(str)).charAt(0).toLowerCase()+str.slice(1);var str},suffixPropName=function(suffix,value){return value+(suffix?upperFirst(suffix):"")},makeProp=function(){var type=arguments.length>0&&void 0!==arguments[0]?arguments[0]:undefined,value=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,requiredOrValidator=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,validator=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,required=!0===requiredOrValidator;return validator=required?validator:requiredOrValidator,_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},type?{type:type}:{}),required?{required:required}:isUndefined(value)?{}:{default:isObject(value)?function(){return value}:value}),isUndefined(validator)?{}:{validator:validator})},copyProps=function(props){var transformFn=arguments.length>1&&void 0!==arguments[1]?arguments[1]:identity;if(isArray(props))return props.map(transformFn);var copied={};for(var prop in props)hasOwnProperty(props,prop)&&(copied[transformFn(prop)]=isObject(props[prop])?clone(props[prop]):props[prop]);return copied},pluckProps=function(keysToPluck,objToPluck){var transformFn=arguments.length>2&&void 0!==arguments[2]?arguments[2]:identity;return(isArray(keysToPluck)?keysToPluck.slice():keys(keysToPluck)).reduce((function(memo,prop){return memo[transformFn(prop)]=objToPluck[prop],memo}),{})},makePropConfigurable=function(prop,key,componentKey){return _objectSpread2$3(_objectSpread2$3({},cloneDeep(prop)),{},{default:function(){var value=getComponentConfig(componentKey,key,prop.default);return isFunction$1(value)?value():value}})},makePropsConfigurable=function(props,componentKey){return keys(props).reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,makePropConfigurable(props[key],key,componentKey)))}),{})},configurablePropDefaultFnName=makePropConfigurable({},"","").default.name,hasPropFunction=function(fn){return isFunction$1(fn)&&fn.name&&fn.name!==configurablePropDefaultFnName},makeModelMixin=function(prop){var _ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$type=_ref.type,type=void 0===_ref$type?undefined:_ref$type,_ref$defaultValue=_ref.defaultValue,defaultValue=void 0===_ref$defaultValue?void 0:_ref$defaultValue,_ref$validator=_ref.validator,validator=void 0===_ref$validator?void 0:_ref$validator,_ref$event=_ref.event,event=void 0===_ref$event?"input":_ref$event,props=_defineProperty({},prop,makeProp(type,defaultValue,validator));return{mixin:extend({model:{prop:prop,event:event},props:props}),props:props,prop:prop,event:event}},parseEventOptions=function(options){return HAS_PASSIVE_EVENT_SUPPORT?isObject(options)?options:{capture:!!options||!1}:!!(isObject(options)?options.capture:options)},eventOn=function(el,eventName,handler,options){el&&el.addEventListener&&el.addEventListener(eventName,handler,parseEventOptions(options))},eventOff=function(el,eventName,handler,options){el&&el.removeEventListener&&el.removeEventListener(eventName,handler,parseEventOptions(options))},eventOnOff=function(on){for(var method=on?eventOn:eventOff,_len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];method.apply(void 0,args)},stopEvent=function(event){var _ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$preventDefault=_ref.preventDefault,preventDefault=void 0===_ref$preventDefault||_ref$preventDefault,_ref$propagation=_ref.propagation,propagation=void 0===_ref$propagation||_ref$propagation,_ref$immediatePropaga=_ref.immediatePropagation,immediatePropagation=void 0!==_ref$immediatePropaga&&_ref$immediatePropaga;preventDefault&&event.preventDefault(),propagation&&event.stopPropagation(),immediatePropagation&&event.stopImmediatePropagation()},getBaseEventName=function(value){return kebabCase(value.replace(RX_BV_PREFIX,""))},getRootEventName=function(name,eventName){return[ROOT_EVENT_NAME_PREFIX,getBaseEventName(name),eventName].join("::")},getRootActionEventName=function(name,actionName){return[ROOT_EVENT_NAME_PREFIX,actionName,getBaseEventName(name)].join("::")},props$2l=makePropsConfigurable({ariaLabel:makeProp(PROP_TYPE_STRING,"Close"),content:makeProp(PROP_TYPE_STRING,"×"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),textVariant:makeProp(PROP_TYPE_STRING)},"BButtonClose"),BButtonClose=extend({name:"BButtonClose",functional:!0,props:props$2l,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$scopedSlots=scopedSlots||{},componentData={staticClass:"close",class:_defineProperty({},"text-".concat(props.textVariant),props.textVariant),attrs:{type:"button",disabled:props.disabled,"aria-label":props.ariaLabel?String(props.ariaLabel):null},on:{click:function(event){props.disabled&&isEvent(event)&&stopEvent(event)}}};return hasNormalizedSlot("default",$scopedSlots,$slots)||(componentData.domProps={innerHTML:props.content}),h("button",a(data,componentData),normalizeSlot("default",{},$scopedSlots,$slots))}}),NO_FADE_PROPS={name:"",enterClass:"",enterActiveClass:"",enterToClass:"show",leaveClass:"show",leaveActiveClass:"",leaveToClass:""},FADE_PROPS=_objectSpread2$3(_objectSpread2$3({},NO_FADE_PROPS),{},{enterActiveClass:"fade",leaveActiveClass:"fade"}),props$2k={appear:makeProp(PROP_TYPE_BOOLEAN,!1),mode:makeProp(PROP_TYPE_STRING),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),transProps:makeProp(PROP_TYPE_OBJECT)},BVTransition=extend({name:"BVTransition",functional:!0,props:props$2k,render:function(h,_ref){var children=_ref.children,data=_ref.data,props=_ref.props,transProps=props.transProps;isPlainObject(transProps)||(transProps=props.noFade?NO_FADE_PROPS:FADE_PROPS,props.appear&&(transProps=_objectSpread2$3(_objectSpread2$3({},transProps),{},{appear:!0,appearClass:transProps.enterClass,appearActiveClass:transProps.enterActiveClass,appearToClass:transProps.enterToClass}))),transProps=_objectSpread2$3(_objectSpread2$3({mode:props.mode},transProps),{},{css:!0});var dataCopy=_objectSpread2$3({},data);return delete dataCopy.props,h("transition",a(dataCopy,{props:transProps}),children)}}),_makeModelMixin$k=makeModelMixin("show",{type:PROP_TYPE_BOOLEAN_NUMBER_STRING,defaultValue:!1}),modelMixin$j=_makeModelMixin$k.mixin,modelProps$j=_makeModelMixin$k.props,MODEL_PROP_NAME$j=_makeModelMixin$k.prop,MODEL_EVENT_NAME$j=_makeModelMixin$k.event,parseCountDown=function(show){return""===show||isBoolean(show)?0:(show=toInteger(show,0))>0?show:0},parseShow=function(show){return""===show||!0===show||!(toInteger(show,0)<1)&&!!show},props$2j=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$j),{},{dismissLabel:makeProp(PROP_TYPE_STRING,"Close"),dismissible:makeProp(PROP_TYPE_BOOLEAN,!1),fade:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING,"info")})),"BAlert"),AlertPlugin=pluginFactory({components:{BAlert:extend({name:"BAlert",mixins:[modelMixin$j,normalizeSlotMixin],props:props$2j,data:function(){return{countDown:0,localShow:parseShow(this[MODEL_PROP_NAME$j])}},watch:(_watch$k={},_defineProperty(_watch$k,MODEL_PROP_NAME$j,(function(newValue){this.countDown=parseCountDown(newValue),this.localShow=parseShow(newValue)})),_defineProperty(_watch$k,"countDown",(function(newValue){var _this=this;this.clearCountDownInterval();var show=this[MODEL_PROP_NAME$j];isNumeric$1(show)&&(this.$emit("dismiss-count-down",newValue),show!==newValue&&this.$emit(MODEL_EVENT_NAME$j,newValue),newValue>0?(this.localShow=!0,this.$_countDownTimeout=setTimeout((function(){_this.countDown--}),1e3)):this.$nextTick((function(){requestAF((function(){_this.localShow=!1}))})))})),_defineProperty(_watch$k,"localShow",(function(newValue){var show=this[MODEL_PROP_NAME$j];newValue||!this.dismissible&&!isNumeric$1(show)||this.$emit("dismissed"),isNumeric$1(show)||show===newValue||this.$emit(MODEL_EVENT_NAME$j,newValue)})),_watch$k),created:function(){this.$_filterTimer=null;var show=this[MODEL_PROP_NAME$j];this.countDown=parseCountDown(show),this.localShow=parseShow(show)},beforeDestroy:function(){this.clearCountDownInterval()},methods:{dismiss:function(){this.clearCountDownInterval(),this.countDown=0,this.localShow=!1},clearCountDownInterval:function(){clearTimeout(this.$_countDownTimeout),this.$_countDownTimeout=null}},render:function(h){var $alert=h();if(this.localShow){var dismissible=this.dismissible,variant=this.variant,$dismissButton=h();dismissible&&($dismissButton=h(BButtonClose,{attrs:{"aria-label":this.dismissLabel},on:{click:this.dismiss}},[this.normalizeSlot("dismiss")])),$alert=h("div",{staticClass:"alert",class:_defineProperty({"alert-dismissible":dismissible},"alert-".concat(variant),variant),attrs:{role:"alert","aria-live":"polite","aria-atomic":!0},key:this._uid},[$dismissButton,this.normalizeSlot()])}return h(BVTransition,{props:{noFade:!this.fade}},[$alert])}})}}),mathMin=Math.min,mathMax=Math.max,mathAbs=Math.abs,mathCeil=Math.ceil,mathFloor=Math.floor,mathPow=Math.pow,mathRound=Math.round,props$2i=makePropsConfigurable({aspect:makeProp(PROP_TYPE_NUMBER_STRING,"1:1"),tag:makeProp(PROP_TYPE_STRING,"div")},"BAspect"),BAspect=extend({name:"BAspect",mixins:[normalizeSlotMixin],props:props$2i,computed:{padding:function(){var aspect=this.aspect,ratio=1;if(RX_ASPECT.test(aspect)){var _aspect$split$map2=_slicedToArray(aspect.split(RX_ASPECT_SEPARATOR).map((function(v){return toFloat(v)||1})),2);ratio=_aspect$split$map2[0]/_aspect$split$map2[1]}else ratio=toFloat(aspect)||1;return"".concat(100/mathAbs(ratio),"%")}},render:function(h){var $sizer=h("div",{staticClass:"".concat("b-aspect","-sizer flex-grow-1"),style:{paddingBottom:this.padding,height:0}}),$content=h("div",{staticClass:"".concat("b-aspect","-content flex-grow-1 w-100 mw-100"),style:{marginLeft:"-100%"}},this.normalizeSlot());return h(this.tag,{staticClass:"".concat("b-aspect"," d-flex")},[$sizer,$content])}}),AspectPlugin=pluginFactory({components:{BAspect:BAspect}});function safeVueInstance(target){return isVue3?new Proxy(target,{get:function(target,prop){return prop in target?target[prop]:void 0}}):target}var encodeReserveReplacer=function(c){return"%"+c.charCodeAt(0).toString(16)},encode=function(str){return encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE,encodeReserveReplacer).replace(RX_ENCODED_COMMA,",")},decode=decodeURIComponent,parseQuery=function(query){var parsed={};return(query=toString(query).trim().replace(RX_QUERY_START,""))?(query.split("&").forEach((function(param){var parts=param.replace(RX_PLUS," ").split("="),key=decode(parts.shift()),value=parts.length>0?decode(parts.join("=")):null;isUndefined(parsed[key])?parsed[key]=value:isArray(parsed[key])?parsed[key].push(value):parsed[key]=[parsed[key],value]})),parsed):parsed},isLink$1=function(props){return!(!props.href&&!props.to)},isRouterLink=function(tag){return!(!tag||isTag(tag,"a"))},computeHref=function(){var _ref3=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},href=_ref3.href,to=_ref3.to,fallback=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"#",toFallback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";if(href)return href;if(isRouterLink(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"a"))return null;if(isString(to))return to||toFallback;if(isPlainObject(to)&&(to.path||to.query||to.hash)){var path=toString(to.path),query=function(obj){if(!isPlainObject(obj))return"";var query=keys(obj).map((function(key){var value=obj[key];return isUndefined(value)?"":isNull(value)?encode(key):isArray(value)?value.reduce((function(results,value2){return isNull(value2)?results.push(encode(key)):isUndefined(value2)||results.push(encode(key)+"="+encode(value2)),results}),[]).join("&"):encode(key)+"="+encode(value)})).filter((function(x){return x.length>0})).join("&");return query?"?".concat(query):""}(to.query),hash=toString(to.hash);return hash=hash&&"#"!==hash.charAt(0)?"#".concat(hash):hash,"".concat(path).concat(query).concat(hash)||toFallback}return fallback},BASE_ATTRS={viewBox:"0 0 16 16",width:"1em",height:"1em",focusable:"false",role:"img","aria-label":"icon"},STACKED_ATTRS={width:null,height:null,focusable:null,role:null,"aria-label":null},props$2h={animation:makeProp(PROP_TYPE_STRING),content:makeProp(PROP_TYPE_STRING),flipH:makeProp(PROP_TYPE_BOOLEAN,!1),flipV:makeProp(PROP_TYPE_BOOLEAN,!1),fontScale:makeProp(PROP_TYPE_NUMBER_STRING,1),rotate:makeProp(PROP_TYPE_NUMBER_STRING,0),scale:makeProp(PROP_TYPE_NUMBER_STRING,1),shiftH:makeProp(PROP_TYPE_NUMBER_STRING,0),shiftV:makeProp(PROP_TYPE_NUMBER_STRING,0),stacked:makeProp(PROP_TYPE_BOOLEAN,!1),title:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING)},BVIconBase=extend({name:"BIconBase",functional:!0,props:props$2h,render:function(h,_ref){var _class,data=_ref.data,props=_ref.props,children=_ref.children,animation=props.animation,content=props.content,flipH=props.flipH,flipV=props.flipV,stacked=props.stacked,title=props.title,variant=props.variant,fontScale=mathMax(toFloat(props.fontScale,1),0)||1,scale=mathMax(toFloat(props.scale,1),0)||1,rotate=toFloat(props.rotate,0),shiftH=toFloat(props.shiftH,0),shiftV=toFloat(props.shiftV,0),hasScale=flipH||flipV||1!==scale,hasTransforms=hasScale||rotate,hasShift=shiftH||shiftV,hasContent=!isUndefinedOrNull(content),$inner=h("g",{attrs:{transform:[hasTransforms?"translate(8 8)":null,hasScale?"scale(".concat((flipH?-1:1)*scale," ").concat((flipV?-1:1)*scale,")"):null,rotate?"rotate(".concat(rotate,")"):null,hasTransforms?"translate(-8 -8)":null].filter(identity).join(" ")||null},domProps:hasContent?{innerHTML:content||""}:{}},children);hasShift&&($inner=h("g",{attrs:{transform:"translate(".concat(16*shiftH/16," ").concat(-16*shiftV/16,")")}},[$inner])),stacked&&($inner=h("g",[$inner]));var $content=[title?h("title",title):null,$inner].filter(identity);return h("svg",a({staticClass:"b-icon bi",class:(_class={},_defineProperty(_class,"text-".concat(variant),variant),_defineProperty(_class,"b-icon-animation-".concat(animation),animation),_class),attrs:BASE_ATTRS,style:stacked?{}:{fontSize:1===fontScale?null:"".concat(100*fontScale,"%")}},data,stacked?{attrs:STACKED_ATTRS}:{},{attrs:{xmlns:stacked?null:"http://www.w3.org/2000/svg",fill:"currentColor"}}),$content)}}),iconProps$1=omit(props$2h,["content"]),makeIcon=function(name,content){var kebabName=kebabCase(name),iconName="BIcon".concat(pascalCase(name)),iconNameClass="bi-".concat(kebabName),iconTitle=kebabName.replace(/-/g," "),svgContent=trim(content||"");return extend({name:iconName,functional:!0,props:iconProps$1,render:function(h,_ref){var data=_ref.data,props=_ref.props;return h(BVIconBase,a({props:{title:iconTitle},attrs:{"aria-label":iconTitle}},data,{staticClass:iconNameClass,props:_objectSpread2$3(_objectSpread2$3({},props),{},{content:svgContent})}))}})},BIconBlank=makeIcon("Blank",""),BIconCalendar=makeIcon("Calendar",''),BIconCalendarFill=makeIcon("CalendarFill",''),BIconChevronBarLeft=makeIcon("ChevronBarLeft",''),BIconChevronDoubleLeft=makeIcon("ChevronDoubleLeft",''),BIconChevronDown=makeIcon("ChevronDown",''),BIconChevronLeft=makeIcon("ChevronLeft",''),BIconChevronUp=makeIcon("ChevronUp",''),BIconCircleFill=makeIcon("CircleFill",''),BIconClock=makeIcon("Clock",''),BIconClockFill=makeIcon("ClockFill",''),BIconDash=makeIcon("Dash",''),BIconPersonFill=makeIcon("PersonFill",''),BIconPlus=makeIcon("Plus",''),BIconStar=makeIcon("Star",''),BIconStarFill=makeIcon("StarFill",''),BIconStarHalf=makeIcon("StarHalf",''),BIconX=makeIcon("X",''),findIconComponent=function findIconComponent(ctx,iconName){if(!ctx)return Vue__default.default.component(iconName);var components=(ctx.$options||{}).components;return components&&components[iconName]||findIconComponent(ctx.$parent,iconName)},iconProps=omit(props$2h,["content"]),props$2g=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},iconProps),{},{icon:makeProp(PROP_TYPE_STRING)})),"BIcon"),BIcon=extend({name:"BIcon",functional:!0,props:props$2g,render:function(h,_ref){var data=_ref.data,props=_ref.props,parent=_ref.parent,icon=pascalCase(trim(props.icon||"")).replace(RX_ICON_PREFIX,"");return h(icon&&findIconComponent(parent,"BIcon".concat(icon))||BIconBlank,a(data,{props:pluckProps(iconProps,props)}))}}),CODE_DOWN=40,CODE_END=35,CODE_ENTER=13,CODE_HOME=36,CODE_LEFT=37,CODE_RIGHT=39,CODE_SPACE=32,CODE_UP=38,compareArrays=function(a,b){if(a.length!==b.length)return!1;for(var equal=!0,i=0;equal&&i1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];(_this$bvEventRoot=this.bvEventRoot).$emit.apply(_this$bvEventRoot,[event].concat(args))}}}}),listenersMixinVue2=makePropCacheMixin("$listeners","bvListeners"),listenersMixinVue3=extend({data:function(){return{bvListeners:{}}},created:function(){this.bvListeners=_objectSpread2$3({},this.$listeners)},beforeUpdate:function(){this.bvListeners=_objectSpread2$3({},this.$listeners)}}),listenersMixin=isVue3?listenersMixinVue3:listenersMixinVue2,ROOT_EVENT_NAME_CLICKED=getRootEventName("BLink","clicked"),routerLinkProps={activeClass:makeProp(PROP_TYPE_STRING),append:makeProp(PROP_TYPE_BOOLEAN,!1),event:makeProp(PROP_TYPE_ARRAY_STRING),exact:makeProp(PROP_TYPE_BOOLEAN,!1),exactActiveClass:makeProp(PROP_TYPE_STRING),exactPath:makeProp(PROP_TYPE_BOOLEAN,!1),exactPathActiveClass:makeProp(PROP_TYPE_STRING),replace:makeProp(PROP_TYPE_BOOLEAN,!1),routerTag:makeProp(PROP_TYPE_STRING),to:makeProp(PROP_TYPE_OBJECT_STRING)},nuxtLinkProps={noPrefetch:makeProp(PROP_TYPE_BOOLEAN,!1),prefetch:makeProp(PROP_TYPE_BOOLEAN,null)},props$2f=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},nuxtLinkProps),routerLinkProps),{},{active:makeProp(PROP_TYPE_BOOLEAN,!1),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),href:makeProp(PROP_TYPE_STRING),rel:makeProp(PROP_TYPE_STRING,null),routerComponentName:makeProp(PROP_TYPE_STRING),target:makeProp(PROP_TYPE_STRING,"_self")})),"BLink"),BLink=extend({name:"BLink",mixins:[attrsMixin,listenersMixin,listenOnRootMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$2f,computed:{computedTag:function(){return function(_ref,thisOrParent){var to=_ref.to,disabled=_ref.disabled,routerComponentName=_ref.routerComponentName,hasRouter=!!safeVueInstance(thisOrParent).$router,hasNuxt=!!safeVueInstance(thisOrParent).$nuxt;return!hasRouter||hasRouter&&(disabled||!to)?"a":routerComponentName||(hasNuxt?"nuxt-link":"router-link")}({to:this.to,disabled:this.disabled,routerComponentName:this.routerComponentName},this)},isRouterLink:function(){return isRouterLink(this.computedTag)},computedRel:function(){return function(){var _ref2=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},target=_ref2.target,rel=_ref2.rel;return"_blank"===target&&isNull(rel)?"noopener":rel||null}({target:this.target,rel:this.rel})},computedHref:function(){var to=this.to,href=this.href;return computeHref({to:to,href:href},this.computedTag)},computedProps:function(){var event=this.event,prefetch=this.prefetch,routerTag=this.routerTag;return this.isRouterLink?_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},pluckProps(omit(_objectSpread2$3(_objectSpread2$3({},routerLinkProps),"nuxt-link"===this.computedTag?nuxtLinkProps:{}),["event","prefetch","routerTag"]),this)),event?{event:event}:{}),isBoolean(prefetch)?{prefetch:prefetch}:{}),routerTag?{tag:routerTag}:{}):{}},computedAttrs:function(){var bvAttrs=this.bvAttrs,href=this.computedHref,rel=this.computedRel,disabled=this.disabled,target=this.target,routerTag=this.routerTag,isRouterLink=this.isRouterLink;return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},bvAttrs),href?{href:href}:{}),isRouterLink&&routerTag&&!isTag(routerTag,"a")?{}:{rel:rel,target:target}),{},{tabindex:disabled?"-1":isUndefined(bvAttrs.tabindex)?null:bvAttrs.tabindex,"aria-disabled":disabled?"true":null})},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{click:this.onClick})}},methods:{onClick:function(event){var _arguments=arguments,eventIsEvent=isEvent(event),isRouterLink=this.isRouterLink,suppliedHandler=this.bvListeners.click;if(eventIsEvent&&this.disabled)stopEvent(event,{immediatePropagation:!0});else{var _event$currentTarget$;if(isRouterLink)null===(_event$currentTarget$=event.currentTarget.__vue__)||void 0===_event$currentTarget$||_event$currentTarget$.$emit("click",event);concat(suppliedHandler).filter((function(h){return isFunction$1(h)})).forEach((function(handler){handler.apply(void 0,_toConsumableArray$1(_arguments))})),this.emitOnRoot(ROOT_EVENT_NAME_CLICKED,event),this.emitOnRoot("clicked::link",event)}eventIsEvent&&!isRouterLink&&"#"===this.computedHref&&stopEvent(event,{propagation:!1})},focus:function(){attemptFocus(this.$el)},blur:function(){attemptBlur(this.$el)}},render:function(h){var active=this.active,disabled=this.disabled;return h(this.computedTag,_defineProperty({class:{active:active,disabled:disabled},attrs:this.computedAttrs,props:this.computedProps},this.isRouterLink?"nativeOn":"on",this.computedListeners),this.normalizeSlot())}}),linkProps$7=omit(props$2f,["event","routerTag"]);delete linkProps$7.href.default,delete linkProps$7.to.default;var props$2e=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$7),{},{block:makeProp(PROP_TYPE_BOOLEAN,!1),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),pill:makeProp(PROP_TYPE_BOOLEAN,!1),pressed:makeProp(PROP_TYPE_BOOLEAN,null),size:makeProp(PROP_TYPE_STRING),squared:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"button"),type:makeProp(PROP_TYPE_STRING,"button"),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BButton"),handleFocus=function(event){"focusin"===event.type?addClass(event.target,"focus"):"focusout"===event.type&&removeClass(event.target,"focus")},isLink=function(props){return isLink$1(props)||isTag(props.tag,"a")},isToggle=function(props){return isBoolean(props.pressed)},isButton=function(props){return!(isLink(props)||props.tag&&!isTag(props.tag,"button"))},isNonStandardTag$1=function(props){return!isLink(props)&&!isButton(props)},computeClass=function(props){var _ref;return["btn-".concat(props.variant||"secondary"),(_ref={},_defineProperty(_ref,"btn-".concat(props.size),props.size),_defineProperty(_ref,"btn-block",props.block),_defineProperty(_ref,"rounded-pill",props.pill),_defineProperty(_ref,"rounded-0",props.squared&&!props.pill),_defineProperty(_ref,"disabled",props.disabled),_defineProperty(_ref,"active",props.pressed),_ref)]},computeLinkProps=function(props){return isLink(props)?pluckProps(linkProps$7,props):{}},computeAttrs=function(props,data){var button=isButton(props),link=isLink(props),toggle=isToggle(props),nonStandardTag=isNonStandardTag$1(props),hashLink=link&&"#"===props.href,role=data.attrs&&data.attrs.role?data.attrs.role:null,tabindex=data.attrs?data.attrs.tabindex:null;return(nonStandardTag||hashLink)&&(tabindex="0"),{type:button&&!link?props.type:null,disabled:button?props.disabled:null,role:nonStandardTag||hashLink?"button":role,"aria-disabled":nonStandardTag?String(props.disabled):null,"aria-pressed":toggle?String(props.pressed):null,autocomplete:toggle?"off":null,tabindex:props.disabled&&!button?"-1":tabindex}},BButton=extend({name:"BButton",functional:!0,props:props$2e,render:function(h,_ref2){var props=_ref2.props,data=_ref2.data,listeners=_ref2.listeners,children=_ref2.children,toggle=isToggle(props),link=isLink(props),nonStandardTag=isNonStandardTag$1(props),hashLink=link&&"#"===props.href,on={keydown:function(event){if(!props.disabled&&(nonStandardTag||hashLink)){var keyCode=event.keyCode;if(keyCode===CODE_SPACE||keyCode===CODE_ENTER&&nonStandardTag){var target=event.currentTarget||event.target;stopEvent(event,{propagation:!1}),target.click()}}},click:function(event){props.disabled&&isEvent(event)?stopEvent(event):toggle&&listeners&&listeners["update:pressed"]&&concat(listeners["update:pressed"]).forEach((function(fn){isFunction$1(fn)&&fn(!props.pressed)}))}};toggle&&(on.focusin=handleFocus,on.focusout=handleFocus);var componentData={staticClass:"btn",class:computeClass(props),props:computeLinkProps(props),attrs:computeAttrs(props,data),on:on};return h(link?BLink:props.tag,a(_objectSpread2$3(_objectSpread2$3({},data),{},{props:void 0}),componentData),children)}}),SIZES=["sm",null,"lg"],computeSize=function(value){return value=isString(value)&&isNumeric$1(value)?toFloat(value,0):value,isNumber(value)?"".concat(value,"px"):value||null},linkProps$6=omit(props$2f,["active","event","routerTag"]),props$2d=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$6),{},{alt:makeProp(PROP_TYPE_STRING,"avatar"),ariaLabel:makeProp(PROP_TYPE_STRING),badge:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),badgeLeft:makeProp(PROP_TYPE_BOOLEAN,!1),badgeOffset:makeProp(PROP_TYPE_STRING),badgeTop:makeProp(PROP_TYPE_BOOLEAN,!1),badgeVariant:makeProp(PROP_TYPE_STRING,"primary"),button:makeProp(PROP_TYPE_BOOLEAN,!1),buttonType:makeProp(PROP_TYPE_STRING,"button"),icon:makeProp(PROP_TYPE_STRING),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),size:makeProp(PROP_TYPE_NUMBER_STRING),square:makeProp(PROP_TYPE_BOOLEAN,!1),src:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BAvatar"),BAvatar=extend({name:"BAvatar",mixins:[normalizeSlotMixin],inject:{getBvAvatarGroup:{default:function(){return function(){return null}}}},props:props$2d,data:function(){return{localSrc:this.src||null}},computed:{bvAvatarGroup:function(){return this.getBvAvatarGroup()},computedSize:function(){var bvAvatarGroup=this.bvAvatarGroup;return computeSize(bvAvatarGroup?bvAvatarGroup.size:this.size)},computedVariant:function(){var bvAvatarGroup=this.bvAvatarGroup;return bvAvatarGroup&&bvAvatarGroup.variant?bvAvatarGroup.variant:this.variant},computedRounded:function(){var bvAvatarGroup=this.bvAvatarGroup,square=!(!bvAvatarGroup||!bvAvatarGroup.square)||this.square,rounded=bvAvatarGroup&&bvAvatarGroup.rounded?bvAvatarGroup.rounded:this.rounded;return square?"0":""===rounded||(rounded||"circle")},fontStyle:function(){var size=this.computedSize,fontSize=-1===SIZES.indexOf(size)?"calc(".concat(size," * ").concat(.4,")"):null;return fontSize?{fontSize:fontSize}:{}},marginStyle:function(){var size=this.computedSize,bvAvatarGroup=this.bvAvatarGroup,overlapScale=bvAvatarGroup?bvAvatarGroup.overlapScale:0,value=size&&overlapScale?"calc(".concat(size," * -").concat(overlapScale,")"):null;return value?{marginLeft:value,marginRight:value}:{}},badgeStyle:function(){var size=this.computedSize,badgeTop=this.badgeTop,badgeLeft=this.badgeLeft,offset=this.badgeOffset||"0px";return{fontSize:-1===SIZES.indexOf(size)?"calc(".concat(size," * ").concat(.27999999999999997," )"):null,top:badgeTop?offset:null,bottom:badgeTop?null:offset,left:badgeLeft?offset:null,right:badgeLeft?null:offset}}},watch:{src:function(newValue,oldValue){newValue!==oldValue&&(this.localSrc=newValue||null)}},methods:{onImgError:function(event){this.localSrc=null,this.$emit("img-error",event)},onClick:function(event){this.$emit("click",event)}},render:function(h){var _class2,variant=this.computedVariant,disabled=this.disabled,rounded=this.computedRounded,icon=this.icon,src=this.localSrc,text=this.text,fontStyle=this.fontStyle,marginStyle=this.marginStyle,size=this.computedSize,button=this.button,type=this.buttonType,badge=this.badge,badgeVariant=this.badgeVariant,badgeStyle=this.badgeStyle,link=!button&&isLink$1(this),tag=button?BButton:link?BLink:"span",alt=this.alt,ariaLabel=this.ariaLabel||null,$content=null;this.hasNormalizedSlot()?$content=h("span",{staticClass:"b-avatar-custom"},[this.normalizeSlot()]):src?($content=h("img",{style:variant?{}:{width:"100%",height:"100%"},attrs:{src:src,alt:alt},on:{error:this.onImgError}}),$content=h("span",{staticClass:"b-avatar-img"},[$content])):$content=icon?h(BIcon,{props:{icon:icon},attrs:{"aria-hidden":"true",alt:alt}}):text?h("span",{staticClass:"b-avatar-text",style:fontStyle},[h("span",text)]):h(BIconPersonFill,{attrs:{"aria-hidden":"true",alt:alt}});var $badge=h(),hasBadgeSlot=this.hasNormalizedSlot("badge");if(badge||""===badge||hasBadgeSlot){var badgeText=!0===badge?"":badge;$badge=h("span",{staticClass:"b-avatar-badge",class:_defineProperty({},"badge-".concat(badgeVariant),badgeVariant),style:badgeStyle},[hasBadgeSlot?this.normalizeSlot("badge"):badgeText])}return h(tag,{staticClass:"b-avatar",class:(_class2={},_defineProperty(_class2,"".concat("b-avatar","-").concat(size),size&&-1!==SIZES.indexOf(size)),_defineProperty(_class2,"badge-".concat(variant),!button&&variant),_defineProperty(_class2,"rounded",!0===rounded),_defineProperty(_class2,"rounded-".concat(rounded),rounded&&!0!==rounded),_defineProperty(_class2,"disabled",disabled),_class2),style:_objectSpread2$3(_objectSpread2$3({},marginStyle),{},{width:size,height:size}),attrs:{"aria-label":ariaLabel||null},props:button?{variant:variant,disabled:disabled,type:type}:link?pluckProps(linkProps$6,this):{},on:button||link?{click:this.onClick}:{}},[$content,$badge])}}),props$2c=makePropsConfigurable({overlap:makeProp(PROP_TYPE_NUMBER_STRING,.3),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),size:makeProp(PROP_TYPE_STRING),square:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),variant:makeProp(PROP_TYPE_STRING)},"BAvatarGroup"),AvatarPlugin=pluginFactory({components:{BAvatar:BAvatar,BAvatarGroup:extend({name:"BAvatarGroup",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvAvatarGroup:function(){return _this}}},props:props$2c,computed:{computedSize:function(){return computeSize(this.size)},overlapScale:function(){return mathMin(mathMax(toFloat(this.overlap,0),0),1)/2},paddingStyle:function(){var value=this.computedSize;return(value=value?"calc(".concat(value," * ").concat(this.overlapScale,")"):null)?{paddingLeft:value,paddingRight:value}:{}}},render:function(h){var $inner=h("div",{staticClass:"b-avatar-group-inner",style:this.paddingStyle},this.normalizeSlot());return h(this.tag,{staticClass:"b-avatar-group",attrs:{role:"group"}},[$inner])}})}}),linkProps$5=omit(props$2f,["event","routerTag"]);delete linkProps$5.href.default,delete linkProps$5.to.default;var _watch$j,props$2b=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$5),{},{pill:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"span"),variant:makeProp(PROP_TYPE_STRING,"secondary")})),"BBadge"),BBadge=extend({name:"BBadge",functional:!0,props:props$2b,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,active=props.active,disabled=props.disabled,link=isLink$1(props),tag=link?BLink:props.tag,variant=props.variant||"secondary";return h(tag,a(data,{staticClass:"badge",class:["badge-".concat(variant),{"badge-pill":props.pill,active:active,disabled:disabled}],props:link?pluckProps(linkProps$5,props):{}}),children)}}),BadgePlugin=pluginFactory({components:{BBadge:BBadge}}),stripTags=function(){return String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(RX_HTML_TAGS,"")},htmlOrText=function(innerHTML,textContent){return innerHTML?{innerHTML:innerHTML}:textContent?{textContent:textContent}:{}},props$2a=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},omit(props$2f,["event","routerTag"])),{},{ariaCurrent:makeProp(PROP_TYPE_STRING,"location"),html:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING)})),"BBreadcrumbLink"),BBreadcrumbLink=extend({name:"BBreadcrumbLink",functional:!0,props:props$2a,render:function(h,_ref){var suppliedProps=_ref.props,data=_ref.data,children=_ref.children,active=suppliedProps.active,tag=active?"span":BLink,componentData={attrs:{"aria-current":active?suppliedProps.ariaCurrent:null},props:pluckProps(props$2a,suppliedProps)};return children||(componentData.domProps=htmlOrText(suppliedProps.html,suppliedProps.text)),h(tag,a(data,componentData),children)}}),props$29=makePropsConfigurable(props$2a,"BBreadcrumbItem"),BBreadcrumbItem=extend({name:"BBreadcrumbItem",functional:!0,props:props$29,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h("li",a(data,{staticClass:"breadcrumb-item",class:{active:props.active}}),[h(BBreadcrumbLink,{props:props},children)])}}),props$28=makePropsConfigurable({items:makeProp(PROP_TYPE_ARRAY)},"BBreadcrumb"),BBreadcrumb=extend({name:"BBreadcrumb",functional:!0,props:props$28,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,items=props.items,childNodes=children;if(isArray(items)){var activeDefined=!1;childNodes=items.map((function(item,idx){isObject(item)||(item={text:toString(item)});var active=item.active;return active&&(activeDefined=!0),active||activeDefined||(active=idx+1===items.length),h(BBreadcrumbItem,{props:_objectSpread2$3(_objectSpread2$3({},item),{},{active:active})})}))}return h("ol",a(data,{staticClass:"breadcrumb"}),childNodes)}}),BreadcrumbPlugin=pluginFactory({components:{BBreadcrumb:BBreadcrumb,BBreadcrumbItem:BBreadcrumbItem,BBreadcrumbLink:BBreadcrumbLink}}),ButtonPlugin=pluginFactory({components:{BButton:BButton,BBtn:BButton,BButtonClose:BButtonClose,BBtnClose:BButtonClose}}),props$27=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},pick$1(props$2e,["size"])),{},{ariaRole:makeProp(PROP_TYPE_STRING,"group"),size:makeProp(PROP_TYPE_STRING),tag:makeProp(PROP_TYPE_STRING,"div"),vertical:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BButtonGroup"),BButtonGroup=extend({name:"BButtonGroup",functional:!0,props:props$27,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:_defineProperty({"btn-group":!props.vertical,"btn-group-vertical":props.vertical},"btn-group-".concat(props.size),props.size),attrs:{role:props.ariaRole}}),children)}}),ButtonGroupPlugin=pluginFactory({components:{BButtonGroup:BButtonGroup,BBtnGroup:BButtonGroup}}),ITEM_SELECTOR=[".btn:not(.disabled):not([disabled]):not(.dropdown-item)",".form-control:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])",'input[type="checkbox"]:not(.disabled)','input[type="radio"]:not(.disabled)'].join(","),props$26=makePropsConfigurable({justify:makeProp(PROP_TYPE_BOOLEAN,!1),keyNav:makeProp(PROP_TYPE_BOOLEAN,!1)},"BButtonToolbar"),BButtonToolbar=extend({name:"BButtonToolbar",mixins:[normalizeSlotMixin],props:props$26,mounted:function(){this.keyNav&&this.getItems()},methods:{getItems:function(){var items=selectAll(ITEM_SELECTOR,this.$el);return items.forEach((function(item){item.tabIndex=-1})),items.filter((function(el){return isVisible(el)}))},focusFirst:function(){var items=this.getItems();attemptFocus(items[0])},focusPrev:function(event){var items=this.getItems(),index=items.indexOf(event.target);index>-1&&(items=items.slice(0,index).reverse(),attemptFocus(items[0]))},focusNext:function(event){var items=this.getItems(),index=items.indexOf(event.target);index>-1&&(items=items.slice(index+1),attemptFocus(items[0]))},focusLast:function(){var items=this.getItems().reverse();attemptFocus(items[0])},onFocusin:function(event){var $el=this.$el;event.target!==$el||contains($el,event.relatedTarget)||(stopEvent(event),this.focusFirst(event))},onKeydown:function(event){var keyCode=event.keyCode,shiftKey=event.shiftKey;keyCode===CODE_UP||keyCode===CODE_LEFT?(stopEvent(event),shiftKey?this.focusFirst(event):this.focusPrev(event)):keyCode!==CODE_DOWN&&keyCode!==CODE_RIGHT||(stopEvent(event),shiftKey?this.focusLast(event):this.focusNext(event))}},render:function(h){var keyNav=this.keyNav;return h("div",{staticClass:"btn-toolbar",class:{"justify-content-between":this.justify},attrs:{role:"toolbar",tabindex:keyNav?"0":null},on:keyNav?{focusin:this.onFocusin,keydown:this.onKeydown}:{}},[this.normalizeSlot()])}}),ButtonToolbarPlugin=pluginFactory({components:{BButtonToolbar:BButtonToolbar,BBtnToolbar:BButtonToolbar}}),createDate=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _construct(Date,args)},parseYMD=function(date){if(isString(date)&&RX_DATE.test(date.trim())){var _date$split$map2=_slicedToArray(date.split(RX_DATE_SPLIT).map((function(v){return toInteger(v,1)})),3),year=_date$split$map2[0],month=_date$split$map2[1],day=_date$split$map2[2];return createDate(year,month-1,day)}return isDate(date)?createDate(date.getFullYear(),date.getMonth(),date.getDate()):null},formatYMD=function(date){if(!(date=parseYMD(date)))return null;var year=date.getFullYear(),month="0".concat(date.getMonth()+1).slice(-2),day="0".concat(date.getDate()).slice(-2);return"".concat(year,"-").concat(month,"-").concat(day)},createDateFormatter=function(locale,options){return new Intl.DateTimeFormat(locale,options).format},datesEqual=function(date1,date2){return formatYMD(date1)===formatYMD(date2)},firstDateOfMonth=function(date){return(date=createDate(date)).setDate(1),date},lastDateOfMonth=function(date){return(date=createDate(date)).setMonth(date.getMonth()+1),date.setDate(0),date},addYears=function(date,numberOfYears){var month=(date=createDate(date)).getMonth();return date.setFullYear(date.getFullYear()+numberOfYears),date.getMonth()!==month&&date.setDate(0),date},oneMonthAgo=function(date){var month=(date=createDate(date)).getMonth();return date.setMonth(month-1),date.getMonth()===month&&date.setDate(0),date},oneMonthAhead=function(date){var month=(date=createDate(date)).getMonth();return date.setMonth(month+1),date.getMonth()===(month+2)%12&&date.setDate(0),date},oneYearAgo=function(date){return addYears(date,-1)},oneYearAhead=function(date){return addYears(date,1)},oneDecadeAgo=function(date){return addYears(date,-10)},oneDecadeAhead=function(date){return addYears(date,10)},constrainDate=function(date){var min=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,max=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return date=parseYMD(date),min=parseYMD(min)||date,max=parseYMD(max)||date,date?datemax?max:date:null},RTL_LANGS=["ar","az","ckb","fa","he","ks","lrc","mzn","ps","sd","te","ug","ur","yi"].map((function(locale){return locale.toLowerCase()})),isLocaleRTL=function(locale){var parts=toString(locale).toLowerCase().replace(RX_STRIP_LOCALE_MODS,"").split("-"),locale1=parts.slice(0,2).join("-"),locale2=parts[0];return arrayIncludes(RTL_LANGS,locale1)||arrayIncludes(RTL_LANGS,locale2)},props$25={id:makeProp(PROP_TYPE_STRING)},idMixin=extend({props:props$25,data:function(){return{localId_:null}},computed:{safeId:function(){var id=this.id||this.localId_;return function(suffix){return id?(suffix=String(suffix||"").replace(/\s+/g,"_"))?id+"_"+suffix:id:null}}},mounted:function(){var _this=this;this.$nextTick((function(){_this.localId_="__BVID__".concat(_this._uid)}))}}),_makeModelMixin$j=makeModelMixin("value",{type:PROP_TYPE_DATE_STRING}),modelMixin$i=_makeModelMixin$j.mixin,modelProps$i=_makeModelMixin$j.props,MODEL_PROP_NAME$i=_makeModelMixin$j.prop,MODEL_EVENT_NAME$i=_makeModelMixin$j.event,props$24=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$i),{},{ariaControls:makeProp(PROP_TYPE_STRING),block:makeProp(PROP_TYPE_BOOLEAN,!1),dateDisabledFn:makeProp(PROP_TYPE_FUNCTION),dateFormatOptions:makeProp(PROP_TYPE_OBJECT,{year:"numeric",month:"long",day:"numeric",weekday:"long"}),dateInfoFn:makeProp(PROP_TYPE_FUNCTION),direction:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),headerTag:makeProp(PROP_TYPE_STRING,"header"),hidden:makeProp(PROP_TYPE_BOOLEAN,!1),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),initialDate:makeProp(PROP_TYPE_DATE_STRING),labelCalendar:makeProp(PROP_TYPE_STRING,"Calendar"),labelCurrentMonth:makeProp(PROP_TYPE_STRING,"Current month"),labelHelp:makeProp(PROP_TYPE_STRING,"Use cursor keys to navigate calendar dates"),labelNav:makeProp(PROP_TYPE_STRING,"Calendar navigation"),labelNextDecade:makeProp(PROP_TYPE_STRING,"Next decade"),labelNextMonth:makeProp(PROP_TYPE_STRING,"Next month"),labelNextYear:makeProp(PROP_TYPE_STRING,"Next year"),labelNoDateSelected:makeProp(PROP_TYPE_STRING,"No date selected"),labelPrevDecade:makeProp(PROP_TYPE_STRING,"Previous decade"),labelPrevMonth:makeProp(PROP_TYPE_STRING,"Previous month"),labelPrevYear:makeProp(PROP_TYPE_STRING,"Previous year"),labelSelected:makeProp(PROP_TYPE_STRING,"Selected date"),labelToday:makeProp(PROP_TYPE_STRING,"Today"),locale:makeProp(PROP_TYPE_ARRAY_STRING),max:makeProp(PROP_TYPE_DATE_STRING),min:makeProp(PROP_TYPE_DATE_STRING),navButtonVariant:makeProp(PROP_TYPE_STRING,"secondary"),noHighlightToday:makeProp(PROP_TYPE_BOOLEAN,!1),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),roleDescription:makeProp(PROP_TYPE_STRING),selectedVariant:makeProp(PROP_TYPE_STRING,"primary"),showDecadeNav:makeProp(PROP_TYPE_BOOLEAN,!1),startWeekday:makeProp(PROP_TYPE_NUMBER_STRING,0),todayVariant:makeProp(PROP_TYPE_STRING),valueAsDate:makeProp(PROP_TYPE_BOOLEAN,!1),weekdayHeaderFormat:makeProp(PROP_TYPE_STRING,"short",(function(value){return arrayIncludes(["long","short","narrow"],value)})),width:makeProp(PROP_TYPE_STRING,"270px")})),"BCalendar"),BCalendar=extend({name:"BCalendar",mixins:[attrsMixin,idMixin,modelMixin$i,normalizeSlotMixin],props:props$24,data:function(){var selected=formatYMD(this[MODEL_PROP_NAME$i])||"";return{selectedYMD:selected,activeYMD:selected||formatYMD(constrainDate(this.initialDate||this.getToday()),this.min,this.max),gridHasFocus:!1,isLive:!1}},computed:{valueId:function(){return this.safeId()},widgetId:function(){return this.safeId("_calendar-wrapper_")},navId:function(){return this.safeId("_calendar-nav_")},gridId:function(){return this.safeId("_calendar-grid_")},gridCaptionId:function(){return this.safeId("_calendar-grid-caption_")},gridHelpId:function(){return this.safeId("_calendar-grid-help_")},activeId:function(){return this.activeYMD?this.safeId("_cell-".concat(this.activeYMD,"_")):null},selectedDate:function(){return parseYMD(this.selectedYMD)},activeDate:function(){return parseYMD(this.activeYMD)},computedMin:function(){return parseYMD(this.min)},computedMax:function(){return parseYMD(this.max)},computedWeekStarts:function(){return mathMax(toInteger(this.startWeekday,0),0)%7},computedLocale:function(){return function(locales){var calendar=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"gregory";return locales=concat(locales).filter(identity),new Intl.DateTimeFormat(locales,{calendar:calendar}).resolvedOptions().locale}(concat(this.locale).filter(identity),"gregory")},computedDateDisabledFn:function(){var dateDisabledFn=this.dateDisabledFn;return hasPropFunction(dateDisabledFn)?dateDisabledFn:function(){return!1}},computedDateInfoFn:function(){var dateInfoFn=this.dateInfoFn;return hasPropFunction(dateInfoFn)?dateInfoFn:function(){return{}}},calendarLocale:function(){var fmt=new Intl.DateTimeFormat(this.computedLocale,{calendar:"gregory"}),calendar=fmt.resolvedOptions().calendar,locale=fmt.resolvedOptions().locale;return"gregory"!==calendar&&(locale=locale.replace(/-u-.+$/i,"").concat("-u-ca-gregory")),locale},calendarYear:function(){return this.activeDate.getFullYear()},calendarMonth:function(){return this.activeDate.getMonth()},calendarFirstDay:function(){return createDate(this.calendarYear,this.calendarMonth,1,12)},calendarDaysInMonth:function(){var date=createDate(this.calendarFirstDay);return date.setMonth(date.getMonth()+1,0),date.getDate()},computedVariant:function(){return"btn-".concat(this.selectedVariant||"primary")},computedTodayVariant:function(){return"btn-outline-".concat(this.todayVariant||this.selectedVariant||"primary")},computedNavButtonVariant:function(){return"btn-outline-".concat(this.navButtonVariant||"primary")},isRTL:function(){var dir=toString(this.direction).toLowerCase();return"rtl"===dir||"ltr"!==dir&&isLocaleRTL(this.computedLocale)},context:function(){var selectedYMD=this.selectedYMD,activeYMD=this.activeYMD,selectedDate=parseYMD(selectedYMD),activeDate=parseYMD(activeYMD);return{selectedYMD:selectedYMD,selectedDate:selectedDate,selectedFormatted:selectedDate?this.formatDateString(selectedDate):this.labelNoDateSelected,activeYMD:activeYMD,activeDate:activeDate,activeFormatted:activeDate?this.formatDateString(activeDate):"",disabled:this.dateDisabled(activeDate),locale:this.computedLocale,calendarLocale:this.calendarLocale,rtl:this.isRTL}},dateOutOfRange:function(){var min=this.computedMin,max=this.computedMax;return function(date){return date=parseYMD(date),min&&datemax}},dateDisabled:function(){var _this=this,rangeFn=this.dateOutOfRange;return function(date){date=parseYMD(date);var ymd=formatYMD(date);return!(!rangeFn(date)&&!_this.computedDateDisabledFn(ymd,date))}},formatDateString:function(){return createDateFormatter(this.calendarLocale,_objectSpread2$3(_objectSpread2$3({year:"numeric",month:"2-digit",day:"2-digit"},this.dateFormatOptions),{},{hour:void 0,minute:void 0,second:void 0,calendar:"gregory"}))},formatYearMonth:function(){return createDateFormatter(this.calendarLocale,{year:"numeric",month:"long",calendar:"gregory"})},formatWeekdayName:function(){return createDateFormatter(this.calendarLocale,{weekday:"long",calendar:"gregory"})},formatWeekdayNameShort:function(){return createDateFormatter(this.calendarLocale,{weekday:this.weekdayHeaderFormat||"short",calendar:"gregory"})},formatDay:function(){var nf=new Intl.NumberFormat([this.computedLocale],{style:"decimal",minimumIntegerDigits:1,minimumFractionDigits:0,maximumFractionDigits:0,notation:"standard"});return function(date){return nf.format(date.getDate())}},prevDecadeDisabled:function(){var min=this.computedMin;return this.disabled||min&&lastDateOfMonth(oneDecadeAgo(this.activeDate))max},nextYearDisabled:function(){var max=this.computedMax;return this.disabled||max&&firstDateOfMonth(oneYearAhead(this.activeDate))>max},nextDecadeDisabled:function(){var max=this.computedMax;return this.disabled||max&&firstDateOfMonth(oneDecadeAhead(this.activeDate))>max},calendar:function(){for(var matrix=[],firstDay=this.calendarFirstDay,calendarYear=firstDay.getFullYear(),calendarMonth=firstDay.getMonth(),daysInMonth=this.calendarDaysInMonth,startIndex=firstDay.getDay(),currentDay=0-((this.computedWeekStarts>startIndex?7:0)-this.computedWeekStarts)-startIndex,week=0;week<6&¤tDay',props$1Z=makePropsConfigurable({alt:makeProp(PROP_TYPE_STRING),blank:makeProp(PROP_TYPE_BOOLEAN,!1),blankColor:makeProp(PROP_TYPE_STRING,"transparent"),block:makeProp(PROP_TYPE_BOOLEAN,!1),center:makeProp(PROP_TYPE_BOOLEAN,!1),fluid:makeProp(PROP_TYPE_BOOLEAN,!1),fluidGrow:makeProp(PROP_TYPE_BOOLEAN,!1),height:makeProp(PROP_TYPE_NUMBER_STRING),left:makeProp(PROP_TYPE_BOOLEAN,!1),right:makeProp(PROP_TYPE_BOOLEAN,!1),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),sizes:makeProp(PROP_TYPE_ARRAY_STRING),src:makeProp(PROP_TYPE_STRING),srcset:makeProp(PROP_TYPE_ARRAY_STRING),thumbnail:makeProp(PROP_TYPE_BOOLEAN,!1),width:makeProp(PROP_TYPE_NUMBER_STRING)},"BImg"),BImg=extend({name:"BImg",functional:!0,props:props$1Z,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,alt=props.alt,src=props.src,block=props.block,fluidGrow=props.fluidGrow,rounded=props.rounded,width=toInteger(props.width)||null,height=toInteger(props.height)||null,align=null,srcset=concat(props.srcset).filter(identity).join(","),sizes=concat(props.sizes).filter(identity).join(",");return props.blank&&(!height&&width?height=width:!width&&height&&(width=height),width||height||(width=1,height=1),src=function(width,height,color){var src=encodeURIComponent(BLANK_TEMPLATE.replace("%{w}",toString(width)).replace("%{h}",toString(height)).replace("%{f}",color));return"data:image/svg+xml;charset=UTF-8,".concat(src)}(width,height,props.blankColor||"transparent"),srcset=null,sizes=null),props.left?align="float-left":props.right?align="float-right":props.center&&(align="mx-auto",block=!0),h("img",a(data,{attrs:{src:src,alt:alt,width:width?toString(width):null,height:height?toString(height):null,srcset:srcset||null,sizes:sizes||null},class:(_class={"img-thumbnail":props.thumbnail,"img-fluid":props.fluid||fluidGrow,"w-100":fluidGrow,rounded:""===rounded||!0===rounded},_defineProperty(_class,"rounded-".concat(rounded),isString(rounded)&&""!==rounded),_defineProperty(_class,align,align),_defineProperty(_class,"d-block",block),_class)}))}}),props$1Y=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},pick$1(props$1Z,["src","alt","width","height","left","right"])),{},{bottom:makeProp(PROP_TYPE_BOOLEAN,!1),end:makeProp(PROP_TYPE_BOOLEAN,!1),start:makeProp(PROP_TYPE_BOOLEAN,!1),top:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCardImg"),BCardImg=extend({name:"BCardImg",functional:!0,props:props$1Y,render:function(h,_ref){var props=_ref.props,data=_ref.data,src=props.src,alt=props.alt,width=props.width,height=props.height,baseClass="card-img";return props.top?baseClass+="-top":props.right||props.end?baseClass+="-right":props.bottom?baseClass+="-bottom":(props.left||props.start)&&(baseClass+="-left"),h("img",a(data,{class:baseClass,attrs:{src:src,alt:alt,width:width,height:height}}))}}),cardImgProps=copyProps(props$1Y,prefixPropName.bind(null,"img"));cardImgProps.imgSrc.required=!1;var _watch$i,_watch$h,_watch$g,props$1X=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$20),props$1$),props$1_),cardImgProps),props$23),{},{align:makeProp(PROP_TYPE_STRING),noBody:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCard"),BCard=extend({name:"BCard",functional:!0,props:props$1X,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,imgSrc=props.imgSrc,imgLeft=props.imgLeft,imgRight=props.imgRight,imgStart=props.imgStart,imgEnd=props.imgEnd,imgBottom=props.imgBottom,header=props.header,headerHtml=props.headerHtml,footer=props.footer,footerHtml=props.footerHtml,align=props.align,textVariant=props.textVariant,bgVariant=props.bgVariant,borderVariant=props.borderVariant,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$imgFirst=h(),$imgLast=h();if(imgSrc){var $img=h(BCardImg,{props:pluckProps(cardImgProps,props,unprefixPropName.bind(null,"img"))});imgBottom?$imgLast=$img:$imgFirst=$img}var $header=h(),hasHeaderSlot=hasNormalizedSlot("header",$scopedSlots,$slots);(hasHeaderSlot||header||headerHtml)&&($header=h(BCardHeader,{props:pluckProps(props$1$,props),domProps:hasHeaderSlot?{}:htmlOrText(headerHtml,header)},normalizeSlot("header",slotScope,$scopedSlots,$slots)));var $content=normalizeSlot("default",slotScope,$scopedSlots,$slots);props.noBody||($content=h(BCardBody,{props:pluckProps(props$20,props)},$content),props.overlay&&imgSrc&&($content=h("div",{staticClass:"position-relative"},[$imgFirst,$content,$imgLast]),$imgFirst=h(),$imgLast=h()));var $footer=h();return(hasNormalizedSlot("footer",$scopedSlots,$slots)||footer||footerHtml)&&($footer=h(BCardFooter,{props:pluckProps(props$1_,props),domProps:hasHeaderSlot?{}:htmlOrText(footerHtml,footer)},normalizeSlot("footer",slotScope,$scopedSlots,$slots))),h(props.tag,a(data,{staticClass:"card",class:(_class={"flex-row":imgLeft||imgStart,"flex-row-reverse":(imgRight||imgEnd)&&!(imgLeft||imgStart)},_defineProperty(_class,"text-".concat(align),align),_defineProperty(_class,"bg-".concat(bgVariant),bgVariant),_defineProperty(_class,"border-".concat(borderVariant),borderVariant),_defineProperty(_class,"text-".concat(textVariant),textVariant),_class)}),[$imgFirst,$header,$content,$footer,$imgLast])}}),OBSERVER_PROP_NAME="__bv__visibility_observer",VisibilityObserver=function(){function VisibilityObserver(el,options){_classCallCheck(this,VisibilityObserver),this.el=el,this.callback=options.callback,this.margin=options.margin||0,this.once=options.once||!1,this.observer=null,this.visible=void 0,this.doneOnce=!1,this.createObserver()}return _createClass(VisibilityObserver,[{key:"createObserver",value:function(){var _this=this;if(this.observer&&this.stop(),!this.doneOnce&&isFunction$1(this.callback)){try{this.observer=new IntersectionObserver(this.handler.bind(this),{root:null,rootMargin:this.margin,threshold:0})}catch(_unused){return this.doneOnce=!0,this.observer=void 0,void this.callback(null)}nextTick((function(){requestAF((function(){_this.observer&&_this.observer.observe(_this.el)}))}))}}},{key:"handler",value:function(entries){var entry=entries?entries[0]:{},isIntersecting=Boolean(entry.isIntersecting||entry.intersectionRatio>0);isIntersecting!==this.visible&&(this.visible=isIntersecting,this.callback(isIntersecting),this.once&&this.visible&&(this.doneOnce=!0,this.stop()))}},{key:"stop",value:function(){this.observer&&this.observer.disconnect(),this.observer=null}}]),VisibilityObserver}(),destroy$1=function(el){var observer=el[OBSERVER_PROP_NAME];observer&&observer.stop&&observer.stop(),delete el[OBSERVER_PROP_NAME]},bind$1=function(el,_ref){var value=_ref.value,modifiers=_ref.modifiers,options={margin:"0px",once:!1,callback:value};keys(modifiers).forEach((function(mod){RX_DIGITS.test(mod)?options.margin="".concat(mod,"px"):"once"===mod.toLowerCase()&&(options.once=!0)})),destroy$1(el),el[OBSERVER_PROP_NAME]=new VisibilityObserver(el,options),el[OBSERVER_PROP_NAME]._prevModifiers=clone(modifiers)},VBVisible={bind:bind$1,componentUpdated:function(el,_ref2,vnode){var value=_ref2.value,oldValue=_ref2.oldValue,modifiers=_ref2.modifiers;modifiers=clone(modifiers),!el||value===oldValue&&el[OBSERVER_PROP_NAME]&&looseEqual(modifiers,el[OBSERVER_PROP_NAME]._prevModifiers)||bind$1(el,{value:value,modifiers:modifiers})},unbind:function(el){destroy$1(el)}},imgProps$1=omit(props$1Z,["blank"]),props$1W=makePropsConfigurable(_objectSpread2$3(_objectSpread2$3({},imgProps$1),{},_defineProperty({blankHeight:makeProp(PROP_TYPE_NUMBER_STRING),blankSrc:makeProp(PROP_TYPE_STRING,null),blankWidth:makeProp(PROP_TYPE_NUMBER_STRING),offset:makeProp(PROP_TYPE_NUMBER_STRING,360)},"show",makeProp(PROP_TYPE_BOOLEAN,!1))),"BImgLazy"),BImgLazy=extend({name:"BImgLazy",directives:{"b-visible":VBVisible},props:props$1W,data:function(){return{isShown:this.show}},computed:{computedSrc:function(){var blankSrc=this.blankSrc;return!blankSrc||this.isShown?this.src:blankSrc},computedBlank:function(){return!(this.isShown||this.blankSrc)},computedWidth:function(){var width=this.width;return this.isShown?width:this.blankWidth||width},computedHeight:function(){var height=this.height;return this.isShown?height:this.blankHeight||height},computedSrcset:function(){var srcset=concat(this.srcset).filter(identity).join(",");return!srcset||this.blankSrc&&!this.isShown?null:srcset},computedSizes:function(){var sizes=concat(this.sizes).filter(identity).join(",");return!sizes||this.blankSrc&&!this.isShown?null:sizes}},watch:(_watch$i={},_defineProperty(_watch$i,"show",(function(newValue,oldValue){if(newValue!==oldValue){var visible=!HAS_INTERACTION_OBSERVER_SUPPORT||newValue;this.isShown=visible,newValue!==visible&&this.$nextTick(this.updateShowProp)}})),_defineProperty(_watch$i,"isShown",(function(newValue,oldValue){newValue!==oldValue&&this.updateShowProp()})),_watch$i),mounted:function(){var _this=this;this.$nextTick((function(){_this.isShown=!HAS_INTERACTION_OBSERVER_SUPPORT||_this.show}))},methods:{updateShowProp:function(){this.$emit("update:show",this.isShown)},doShow:function(visible){var _this2=this;!visible&&null!==visible||this.isShown||requestAF((function(){_this2.isShown=!0}))}},render:function(h){var _modifiers,directives=[];this.isShown||directives.push({name:"b-visible",value:this.doShow,modifiers:(_modifiers={},_defineProperty(_modifiers,"".concat(toInteger(this.offset,0)),!0),_defineProperty(_modifiers,"once",!0),_modifiers)});return h(BImg,{directives:directives,props:_objectSpread2$3(_objectSpread2$3({},pluckProps(imgProps$1,this.$props)),{},{src:this.computedSrc,blank:this.computedBlank,width:this.computedWidth,height:this.computedHeight,srcset:this.computedSrcset,sizes:this.computedSizes})})}}),props$1V=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},omit(props$1W,keys(props$1Z))),omit(props$1Y,["src","alt","width","height"]))),"BCardImgLazy"),BCardImgLazy=extend({name:"BCardImgLazy",functional:!0,props:props$1V,render:function(h,_ref){var props=_ref.props,data=_ref.data,baseClass="card-img";return props.top?baseClass+="-top":props.right||props.end?baseClass+="-right":props.bottom?baseClass+="-bottom":(props.left||props.start)&&(baseClass+="-left"),h(BImgLazy,a(data,{class:[baseClass],props:omit(props,["left","right"])}))}}),props$1U=makePropsConfigurable({textTag:makeProp(PROP_TYPE_STRING,"p")},"BCardText"),BCardText=extend({name:"BCardText",functional:!0,props:props$1U,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.textTag,a(data,{staticClass:"card-text"}),children)}}),props$1T=makePropsConfigurable({columns:makeProp(PROP_TYPE_BOOLEAN,!1),deck:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BCardGroup"),BCardGroup=extend({name:"BCardGroup",functional:!0,props:props$1T,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:props.deck?"card-deck":props.columns?"card-columns":"card-group"}),children)}}),CardPlugin=pluginFactory({components:{BCard:BCard,BCardHeader:BCardHeader,BCardBody:BCardBody,BCardTitle:BCardTitle,BCardSubTitle:BCardSubTitle,BCardFooter:BCardFooter,BCardImg:BCardImg,BCardImgLazy:BCardImgLazy,BCardText:BCardText,BCardGroup:BCardGroup}}),noop=function(){},observeDom=function(el,callback,options){if(el=el?el.$el||el:null,!isElement(el))return null;if(source="observeDom",!HAS_MUTATION_OBSERVER_SUPPORT&&(warn("".concat(source,": Requires MutationObserver support.")),1))return null;var source,obs=new MutationObs((function(mutations){for(var changed=!1,i=0;i0||mutation.removedNodes.length>0))&&(changed=!0)}changed&&callback()}));return obs.observe(el,_objectSpread2$3({childList:!0,subtree:!0},options)),obs},_makeModelMixin$i=makeModelMixin("value",{type:PROP_TYPE_NUMBER,defaultValue:0}),modelMixin$h=_makeModelMixin$i.mixin,modelProps$h=_makeModelMixin$i.props,MODEL_PROP_NAME$h=_makeModelMixin$i.prop,MODEL_EVENT_NAME$h=_makeModelMixin$i.event,DIRECTION={next:{dirClass:"carousel-item-left",overlayClass:"carousel-item-next"},prev:{dirClass:"carousel-item-right",overlayClass:"carousel-item-prev"}},PointerType={TOUCH:"touch",PEN:"pen"},TransitionEndEvents$1={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend oTransitionEnd",transition:"transitionend"},props$1S=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$h),{},{background:makeProp(PROP_TYPE_STRING),controls:makeProp(PROP_TYPE_BOOLEAN,!1),fade:makeProp(PROP_TYPE_BOOLEAN,!1),imgHeight:makeProp(PROP_TYPE_NUMBER_STRING),imgWidth:makeProp(PROP_TYPE_NUMBER_STRING),indicators:makeProp(PROP_TYPE_BOOLEAN,!1),interval:makeProp(PROP_TYPE_NUMBER,5e3),labelGotoSlide:makeProp(PROP_TYPE_STRING,"Goto slide"),labelIndicators:makeProp(PROP_TYPE_STRING,"Select a slide to display"),labelNext:makeProp(PROP_TYPE_STRING,"Next slide"),labelPrev:makeProp(PROP_TYPE_STRING,"Previous slide"),noAnimation:makeProp(PROP_TYPE_BOOLEAN,!1),noHoverPause:makeProp(PROP_TYPE_BOOLEAN,!1),noTouch:makeProp(PROP_TYPE_BOOLEAN,!1),noWrap:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BCarousel"),BCarousel=extend({name:"BCarousel",mixins:[idMixin,modelMixin$h,normalizeSlotMixin],provide:function(){var _this=this;return{getBvCarousel:function(){return _this}}},props:props$1S,data:function(){return{index:this[MODEL_PROP_NAME$h]||0,isSliding:!1,transitionEndEvent:null,slides:[],direction:null,isPaused:!(toInteger(this.interval,0)>0),touchStartX:0,touchDeltaX:0}},computed:{numSlides:function(){return this.slides.length}},watch:(_watch$h={},_defineProperty(_watch$h,MODEL_PROP_NAME$h,(function(newValue,oldValue){newValue!==oldValue&&this.setSlide(toInteger(newValue,0))})),_defineProperty(_watch$h,"interval",(function(newValue,oldValue){newValue!==oldValue&&(newValue?(this.pause(!0),this.start(!1)):this.pause(!1))})),_defineProperty(_watch$h,"isPaused",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(newValue?"paused":"unpaused")})),_defineProperty(_watch$h,"index",(function(to,from){to===from||this.isSliding||this.doSlide(to,from)})),_watch$h),created:function(){this.$_interval=null,this.$_animationTimeout=null,this.$_touchTimeout=null,this.$_observer=null,this.isPaused=!(toInteger(this.interval,0)>0)},mounted:function(){this.transitionEndEvent=function(el){for(var name in TransitionEndEvents$1)if(!isUndefined(el.style[name]))return TransitionEndEvents$1[name];return null}(this.$el)||null,this.updateSlides(),this.setObserver(!0)},beforeDestroy:function(){this.clearInterval(),this.clearAnimationTimeout(),this.clearTouchTimeout(),this.setObserver(!1)},methods:{clearInterval:function(_clearInterval){function clearInterval(){return _clearInterval.apply(this,arguments)}return clearInterval.toString=function(){return _clearInterval.toString()},clearInterval}((function(){clearInterval(this.$_interval),this.$_interval=null})),clearAnimationTimeout:function(){clearTimeout(this.$_animationTimeout),this.$_animationTimeout=null},clearTouchTimeout:function(){clearTimeout(this.$_touchTimeout),this.$_touchTimeout=null},setObserver:function(){var on=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on&&(this.$_observer=observeDom(this.$refs.inner,this.updateSlides.bind(this),{subtree:!1,childList:!0,attributes:!0,attributeFilter:["id"]}))},setSlide:function(slide){var _this2=this,direction=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(IS_BROWSER&&document.visibilityState&&document.hidden)){var noWrap=this.noWrap,numSlides=this.numSlides;slide=mathFloor(slide),0!==numSlides&&(this.isSliding?this.$once("sliding-end",(function(){requestAF((function(){return _this2.setSlide(slide,direction)}))})):(this.direction=direction,this.index=slide>=numSlides?noWrap?numSlides-1:0:slide<0?noWrap?0:numSlides-1:slide,noWrap&&this.index!==slide&&this.index!==this[MODEL_PROP_NAME$h]&&this.$emit(MODEL_EVENT_NAME$h,this.index)))}},prev:function(){this.setSlide(this.index-1,"prev")},next:function(){this.setSlide(this.index+1,"next")},pause:function(event){event||(this.isPaused=!0),this.clearInterval()},start:function(event){event||(this.isPaused=!1),this.clearInterval(),this.interval&&this.numSlides>1&&(this.$_interval=setInterval(this.next,mathMax(1e3,this.interval)))},restart:function(){this.$el.contains(getActiveElement())||this.start()},doSlide:function(to,from){var _this3=this,isCycling=Boolean(this.interval),direction=this.calcDirection(this.direction,from,to),overlayClass=direction.overlayClass,dirClass=direction.dirClass,currentSlide=this.slides[from],nextSlide=this.slides[to];if(currentSlide&&nextSlide){if(this.isSliding=!0,isCycling&&this.pause(!1),this.$emit("sliding-start",to),this.$emit(MODEL_EVENT_NAME$h,this.index),this.noAnimation)addClass(nextSlide,"active"),removeClass(currentSlide,"active"),this.isSliding=!1,this.$nextTick((function(){return _this3.$emit("sliding-end",to)}));else{addClass(nextSlide,overlayClass),reflow(nextSlide),addClass(currentSlide,dirClass),addClass(nextSlide,dirClass);var called=!1,onceTransEnd=function onceTransEnd(){if(!called){if(called=!0,_this3.transitionEndEvent)_this3.transitionEndEvent.split(/\s+/).forEach((function(event){return eventOff(nextSlide,event,onceTransEnd,EVENT_OPTIONS_NO_CAPTURE)}));_this3.clearAnimationTimeout(),removeClass(nextSlide,dirClass),removeClass(nextSlide,overlayClass),addClass(nextSlide,"active"),removeClass(currentSlide,"active"),removeClass(currentSlide,dirClass),removeClass(currentSlide,overlayClass),setAttr(currentSlide,"aria-current","false"),setAttr(nextSlide,"aria-current","true"),setAttr(currentSlide,"aria-hidden","true"),setAttr(nextSlide,"aria-hidden","false"),_this3.isSliding=!1,_this3.direction=null,_this3.$nextTick((function(){return _this3.$emit("sliding-end",to)}))}};if(this.transitionEndEvent)this.transitionEndEvent.split(/\s+/).forEach((function(event){return eventOn(nextSlide,event,onceTransEnd,EVENT_OPTIONS_NO_CAPTURE)}));this.$_animationTimeout=setTimeout(onceTransEnd,650)}isCycling&&this.start(!1)}},updateSlides:function(){this.pause(!0),this.slides=selectAll(".carousel-item",this.$refs.inner);var numSlides=this.slides.length,index=mathMax(0,mathMin(mathFloor(this.index),numSlides-1));this.slides.forEach((function(slide,idx){var n=idx+1;idx===index?(addClass(slide,"active"),setAttr(slide,"aria-current","true")):(removeClass(slide,"active"),setAttr(slide,"aria-current","false")),setAttr(slide,"aria-posinset",String(n)),setAttr(slide,"aria-setsize",String(numSlides))})),this.setSlide(index),this.start(this.isPaused)},calcDirection:function(){var direction=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return direction?DIRECTION[direction]:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)>(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)?DIRECTION.next:DIRECTION.prev},handleClick:function(event,fn){var keyCode=event.keyCode;"click"!==event.type&&keyCode!==CODE_SPACE&&keyCode!==CODE_ENTER||(stopEvent(event),fn())},handleSwipe:function(){var absDeltaX=mathAbs(this.touchDeltaX);if(!(absDeltaX<=40)){var direction=absDeltaX/this.touchDeltaX;this.touchDeltaX=0,direction>0?this.prev():direction<0&&this.next()}},touchStart:function(event){HAS_POINTER_EVENT_SUPPORT&&PointerType[event.pointerType.toUpperCase()]?this.touchStartX=event.clientX:HAS_POINTER_EVENT_SUPPORT||(this.touchStartX=event.touches[0].clientX)},touchMove:function(event){event.touches&&event.touches.length>1?this.touchDeltaX=0:this.touchDeltaX=event.touches[0].clientX-this.touchStartX},touchEnd:function(event){HAS_POINTER_EVENT_SUPPORT&&PointerType[event.pointerType.toUpperCase()]&&(this.touchDeltaX=event.clientX-this.touchStartX),this.handleSwipe(),this.pause(!1),this.clearTouchTimeout(),this.$_touchTimeout=setTimeout(this.start,500+mathMax(1e3,this.interval))}},render:function(h){var _this4=this,indicators=this.indicators,background=this.background,noAnimation=this.noAnimation,noHoverPause=this.noHoverPause,noTouch=this.noTouch,index=this.index,isSliding=this.isSliding,pause=this.pause,restart=this.restart,touchStart=this.touchStart,touchEnd=this.touchEnd,idInner=this.safeId("__BV_inner_"),$inner=h("div",{staticClass:"carousel-inner",attrs:{id:idInner,role:"list"},ref:"inner"},[this.normalizeSlot()]),$controls=h();if(this.controls){var makeControl=function(direction,label,handler){var handlerWrapper=function(event){isSliding?stopEvent(event,{propagation:!1}):_this4.handleClick(event,handler)};return h("a",{staticClass:"carousel-control-".concat(direction),attrs:{href:"#",role:"button","aria-controls":idInner,"aria-disabled":isSliding?"true":null},on:{click:handlerWrapper,keydown:handlerWrapper}},[h("span",{staticClass:"carousel-control-".concat(direction,"-icon"),attrs:{"aria-hidden":"true"}}),h("span",{class:"sr-only"},[label])])};$controls=[makeControl("prev",this.labelPrev,this.prev),makeControl("next",this.labelNext,this.next)]}var $indicators=h("ol",{staticClass:"carousel-indicators",directives:[{name:"show",value:indicators}],attrs:{id:this.safeId("__BV_indicators_"),"aria-hidden":indicators?"false":"true","aria-label":this.labelIndicators,"aria-owns":idInner}},this.slides.map((function(slide,i){var handler=function(event){_this4.handleClick(event,(function(){_this4.setSlide(i)}))};return h("li",{class:{active:i===index},attrs:{role:"button",id:_this4.safeId("__BV_indicator_".concat(i+1,"_")),tabindex:indicators?"0":"-1","aria-current":i===index?"true":"false","aria-label":"".concat(_this4.labelGotoSlide," ").concat(i+1),"aria-describedby":slide.id||null,"aria-controls":idInner},on:{click:handler,keydown:handler},key:"slide_".concat(i)})}))),on={mouseenter:noHoverPause?noop:pause,mouseleave:noHoverPause?noop:restart,focusin:pause,focusout:restart,keydown:function(event){if(!/input|textarea/i.test(event.target.tagName)){var keyCode=event.keyCode;keyCode!==CODE_LEFT&&keyCode!==CODE_RIGHT||(stopEvent(event),_this4[keyCode===CODE_LEFT?"prev":"next"]())}}};return HAS_TOUCH_SUPPORT&&!noTouch&&(HAS_POINTER_EVENT_SUPPORT?(on["&pointerdown"]=touchStart,on["&pointerup"]=touchEnd):(on["&touchstart"]=touchStart,on["&touchmove"]=this.touchMove,on["&touchend"]=touchEnd)),h("div",{staticClass:"carousel",class:{slide:!noAnimation,"carousel-fade":!noAnimation&&this.fade,"pointer-event":HAS_TOUCH_SUPPORT&&HAS_POINTER_EVENT_SUPPORT&&!noTouch},style:{background:background},attrs:{role:"region",id:this.safeId(),"aria-busy":isSliding?"true":"false"},on:on},[$inner,$controls,$indicators])}}),imgProps={imgAlt:makeProp(PROP_TYPE_STRING),imgBlank:makeProp(PROP_TYPE_BOOLEAN,!1),imgBlankColor:makeProp(PROP_TYPE_STRING,"transparent"),imgHeight:makeProp(PROP_TYPE_NUMBER_STRING),imgSrc:makeProp(PROP_TYPE_STRING),imgWidth:makeProp(PROP_TYPE_NUMBER_STRING)},props$1R=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),imgProps),{},{background:makeProp(PROP_TYPE_STRING),caption:makeProp(PROP_TYPE_STRING),captionHtml:makeProp(PROP_TYPE_STRING),captionTag:makeProp(PROP_TYPE_STRING,"h3"),contentTag:makeProp(PROP_TYPE_STRING,"div"),contentVisibleUp:makeProp(PROP_TYPE_STRING),text:makeProp(PROP_TYPE_STRING),textHtml:makeProp(PROP_TYPE_STRING),textTag:makeProp(PROP_TYPE_STRING,"p")})),"BCarouselSlide"),BCarouselSlide=extend({name:"BCarouselSlide",mixins:[idMixin,normalizeSlotMixin],inject:{getBvCarousel:{default:function(){return function(){return{noTouch:!0}}}}},props:props$1R,computed:{bvCarousel:function(){return this.getBvCarousel()},contentClasses:function(){return[this.contentVisibleUp?"d-none":"",this.contentVisibleUp?"d-".concat(this.contentVisibleUp,"-block"):""]},computedWidth:function(){return this.imgWidth||this.bvCarousel.imgWidth||null},computedHeight:function(){return this.imgHeight||this.bvCarousel.imgHeight||null}},render:function(h){var $img=this.normalizeSlot("img");if(!$img&&(this.imgSrc||this.imgBlank)){var on={};!this.bvCarousel.noTouch&&HAS_TOUCH_SUPPORT&&(on.dragstart=function(event){return stopEvent(event,{propagation:!1})}),$img=h(BImg,{props:_objectSpread2$3(_objectSpread2$3({},pluckProps(imgProps,this.$props,unprefixPropName.bind(null,"img"))),{},{width:this.computedWidth,height:this.computedHeight,fluidGrow:!0,block:!0}),on:on})}var $contentChildren=[!(!this.caption&&!this.captionHtml)&&h(this.captionTag,{domProps:htmlOrText(this.captionHtml,this.caption)}),!(!this.text&&!this.textHtml)&&h(this.textTag,{domProps:htmlOrText(this.textHtml,this.text)}),this.normalizeSlot()||!1],$content=h();return $contentChildren.some(identity)&&($content=h(this.contentTag,{staticClass:"carousel-caption",class:this.contentClasses},$contentChildren.map((function($child){return $child||h()})))),h("div",{staticClass:"carousel-item",style:{background:this.background||this.bvCarousel.background||null},attrs:{id:this.safeId(),role:"listitem"}},[$img,$content])}}),CarouselPlugin=pluginFactory({components:{BCarousel:BCarousel,BCarouselSlide:BCarouselSlide}}),TRANSITION_PROPS={css:!0,enterClass:"",enterActiveClass:"collapsing",enterToClass:"collapse show",leaveClass:"collapse show",leaveActiveClass:"collapsing",leaveToClass:"collapse"},TRANSITION_HANDLERS={enter:function(el){setStyle(el,"height",0),requestAF((function(){reflow(el),setStyle(el,"height","".concat(el.scrollHeight,"px"))}))},afterEnter:function(el){removeStyle(el,"height")},leave:function(el){setStyle(el,"height","auto"),setStyle(el,"display","block"),setStyle(el,"height","".concat(getBCR(el).height,"px")),reflow(el),setStyle(el,"height",0)},afterLeave:function(el){removeStyle(el,"height")}},props$1Q={appear:makeProp(PROP_TYPE_BOOLEAN,!1)},BVCollapse=extend({name:"BVCollapse",functional:!0,props:props$1Q,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h("transition",a(data,{props:TRANSITION_PROPS,on:TRANSITION_HANDLERS},{props:props}),children)}}),ROOT_ACTION_EVENT_NAME_TOGGLE$2=getRootActionEventName("BCollapse","toggle"),ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2=getRootActionEventName("BCollapse","request-state"),ROOT_EVENT_NAME_ACCORDION=getRootEventName("BCollapse","accordion"),ROOT_EVENT_NAME_STATE$3=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$3=getRootEventName("BCollapse","sync-state"),_makeModelMixin$h=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1}),modelMixin$g=_makeModelMixin$h.mixin,modelProps$g=_makeModelMixin$h.props,MODEL_PROP_NAME$g=_makeModelMixin$h.prop,MODEL_EVENT_NAME$g=_makeModelMixin$h.event,props$1P=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$g),{},{accordion:makeProp(PROP_TYPE_STRING),appear:makeProp(PROP_TYPE_BOOLEAN,!1),isNav:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BCollapse"),BCollapse=extend({name:"BCollapse",mixins:[idMixin,modelMixin$g,normalizeSlotMixin,listenOnRootMixin],props:props$1P,data:function(){return{show:this[MODEL_PROP_NAME$g],transitioning:!1}},computed:{classObject:function(){var transitioning=this.transitioning;return{"navbar-collapse":this.isNav,collapse:!transitioning,show:this.show&&!transitioning}},slotScope:function(){var _this=this;return{visible:this.show,close:function(){_this.show=!1}}}},watch:(_watch$g={},_defineProperty(_watch$g,MODEL_PROP_NAME$g,(function(newValue){newValue!==this.show&&(this.show=newValue)})),_defineProperty(_watch$g,"show",(function(newValue,oldValue){newValue!==oldValue&&this.emitState()})),_watch$g),created:function(){this.show=this[MODEL_PROP_NAME$g]},mounted:function(){var _this2=this;this.show=this[MODEL_PROP_NAME$g],this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE$2,this.handleToggleEvent),this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION,this.handleAccordionEvent),this.isNav&&(this.setWindowEvents(!0),this.handleResize()),this.$nextTick((function(){_this2.emitState()})),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2,(function(id){id===_this2.safeId()&&_this2.$nextTick(_this2.emitSync)}))},updated:function(){this.emitSync()},deactivated:function(){this.isNav&&this.setWindowEvents(!1)},activated:function(){this.isNav&&this.setWindowEvents(!0),this.emitSync()},beforeDestroy:function(){this.show=!1,this.isNav&&IS_BROWSER&&this.setWindowEvents(!1)},methods:{setWindowEvents:function(on){eventOnOff(on,window,"resize",this.handleResize,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,window,"orientationchange",this.handleResize,EVENT_OPTIONS_NO_CAPTURE)},toggle:function(){this.show=!this.show},onEnter:function(){this.transitioning=!0,this.$emit("show")},onAfterEnter:function(){this.transitioning=!1,this.$emit("shown")},onLeave:function(){this.transitioning=!0,this.$emit("hide")},onAfterLeave:function(){this.transitioning=!1,this.$emit("hidden")},emitState:function(){var show=this.show,accordion=this.accordion,id=this.safeId();this.$emit(MODEL_EVENT_NAME$g,show),this.emitOnRoot(ROOT_EVENT_NAME_STATE$3,id,show),accordion&&show&&this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION,id,accordion)},emitSync:function(){this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE$3,this.safeId(),this.show)},checkDisplayBlock:function(){var $el=this.$el,restore=hasClass($el,"show");removeClass($el,"show");var isBlock="block"===getCS($el).display;return restore&&addClass($el,"show"),isBlock},clickHandler:function(event){var el=event.target;this.isNav&&el&&"block"===getCS(this.$el).display&&(!matches(el,".nav-link,.dropdown-item")&&!closest(".nav-link,.dropdown-item",el)||this.checkDisplayBlock()||(this.show=!1))},handleToggleEvent:function(id){id===this.safeId()&&this.toggle()},handleAccordionEvent:function(openedId,openAccordion){var accordion=this.accordion,show=this.show;if(accordion&&accordion===openAccordion){var isThis=openedId===this.safeId();(isThis&&!show||!isThis&&show)&&this.toggle()}},handleResize:function(){this.show="block"===getCS(this.$el).display}},render:function(h){var appear=this.appear,$content=h(this.tag,{class:this.classObject,directives:[{name:"show",value:this.show}],attrs:{id:this.safeId()},on:{click:this.clickHandler}},this.normalizeSlot("default",this.slotScope));return h(BVCollapse,{props:{appear:appear},on:{enter:this.onEnter,afterEnter:this.onAfterEnter,leave:this.onLeave,afterLeave:this.onAfterLeave}},[$content])}}),getInstanceFromDirective=function(vnode,bindings){return isVue3?bindings.instance:vnode.context},BV_BASE="__BV_toggle",BV_TOGGLE_ROOT_HANDLER="".concat(BV_BASE,"_HANDLER__"),BV_TOGGLE_CLICK_HANDLER="".concat(BV_BASE,"_CLICK__"),BV_TOGGLE_STATE="".concat(BV_BASE,"_STATE__"),BV_TOGGLE_TARGETS="".concat(BV_BASE,"_TARGETS__"),ROOT_ACTION_EVENT_NAME_TOGGLE$1=getRootActionEventName("BCollapse","toggle"),ROOT_EVENT_NAME_STATE$2=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$2=getRootEventName("BCollapse","sync-state"),ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1=getRootActionEventName("BCollapse","request-state"),KEYDOWN_KEY_CODES=[CODE_ENTER,CODE_SPACE],isNonStandardTag=function(el){return!arrayIncludes(["button","a"],el.tagName.toLowerCase())},removeClickListener=function(el){var handler=el[BV_TOGGLE_CLICK_HANDLER];handler&&(eventOff(el,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)),el[BV_TOGGLE_CLICK_HANDLER]=null},removeRootListeners=function(el,instance){el[BV_TOGGLE_ROOT_HANDLER]&&instance&&getEventRoot(instance).$off([ROOT_EVENT_NAME_STATE$2,ROOT_EVENT_NAME_SYNC_STATE$2],el[BV_TOGGLE_ROOT_HANDLER]),el[BV_TOGGLE_ROOT_HANDLER]=null},setToggleState=function(el,state){state?(removeClass(el,"collapsed"),addClass(el,"not-collapsed"),setAttr(el,"aria-expanded","true")):(removeClass(el,"not-collapsed"),addClass(el,"collapsed"),setAttr(el,"aria-expanded","false"))},resetProp=function(el,prop){el[prop]=null,delete el[prop]},handleUpdate=function(el,binding,vnode){if(IS_BROWSER&&getInstanceFromDirective(vnode,binding)){isNonStandardTag(el)&&(hasAttr(el,"role")||setAttr(el,"role","button"),hasAttr(el,"tabindex")||setAttr(el,"tabindex","0")),setToggleState(el,el[BV_TOGGLE_STATE]);var targets=function(_ref,el){var modifiers=_ref.modifiers,arg=_ref.arg,value=_ref.value,targets=keys(modifiers||{});if(value=isString(value)?value.split(RX_SPACE_SPLIT):value,isTag(el.tagName,"a")){var href=getAttr(el,"href")||"";RX_HASH_ID.test(href)&&targets.push(href.replace(RX_HASH,""))}return concat(arg,value).forEach((function(t){return isString(t)&&targets.push(t)})),targets.filter((function(t,index,arr){return t&&arr.indexOf(t)===index}))}(binding,el);targets.length>0?(setAttr(el,"aria-controls",targets.join(" ")),setStyle(el,"overflow-anchor","none")):(removeAttr(el,"aria-controls"),removeStyle(el,"overflow-anchor")),requestAF((function(){!function(el,instance){if(removeClickListener(el),instance){var handler=function(event){"keydown"===event.type&&!arrayIncludes(KEYDOWN_KEY_CODES,event.keyCode)||isDisabled(el)||(el[BV_TOGGLE_TARGETS]||[]).forEach((function(target){getEventRoot(instance).$emit(ROOT_ACTION_EVENT_NAME_TOGGLE$1,target)}))};el[BV_TOGGLE_CLICK_HANDLER]=handler,eventOn(el,"click",handler,EVENT_OPTIONS_PASSIVE),isNonStandardTag(el)&&eventOn(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)}}(el,getInstanceFromDirective(vnode,binding))})),looseEqual(targets,el[BV_TOGGLE_TARGETS])||(el[BV_TOGGLE_TARGETS]=targets,targets.forEach((function(target){getEventRoot(getInstanceFromDirective(vnode,binding)).$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1,target)})))}},VBToggle={bind:function(el,binding,vnode){el[BV_TOGGLE_STATE]=!1,el[BV_TOGGLE_TARGETS]=[],function(el,instance){if(removeRootListeners(el,instance),instance){var handler=function(id,state){arrayIncludes(el[BV_TOGGLE_TARGETS]||[],id)&&(el[BV_TOGGLE_STATE]=state,setToggleState(el,state))};el[BV_TOGGLE_ROOT_HANDLER]=handler,getEventRoot(instance).$on([ROOT_EVENT_NAME_STATE$2,ROOT_EVENT_NAME_SYNC_STATE$2],handler)}}(el,getInstanceFromDirective(vnode,binding)),handleUpdate(el,binding,vnode)},componentUpdated:handleUpdate,updated:handleUpdate,unbind:function(el,binding,vnode){removeClickListener(el),removeRootListeners(el,getInstanceFromDirective(vnode,binding)),resetProp(el,BV_TOGGLE_ROOT_HANDLER),resetProp(el,BV_TOGGLE_CLICK_HANDLER),resetProp(el,BV_TOGGLE_STATE),resetProp(el,BV_TOGGLE_TARGETS),removeClass(el,"collapsed"),removeClass(el,"not-collapsed"),removeAttr(el,"aria-expanded"),removeAttr(el,"aria-controls"),removeAttr(el,"role"),removeStyle(el,"overflow-anchor")}},VBTogglePlugin=pluginFactory({directives:{VBToggle:VBToggle}}),CollapsePlugin=pluginFactory({components:{BCollapse:BCollapse},plugins:{VBTogglePlugin:VBTogglePlugin}}),isBrowser="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,timeoutDuration=function(){for(var longerTimeoutBrowsers=["Edge","Trident","Firefox"],i=0;i=0)return 1;return 0}();var debounce=isBrowser&&window.Promise?function(fn){var called=!1;return function(){called||(called=!0,window.Promise.resolve().then((function(){called=!1,fn()})))}}:function(fn){var scheduled=!1;return function(){scheduled||(scheduled=!0,setTimeout((function(){scheduled=!1,fn()}),timeoutDuration))}};function isFunction(functionToCheck){return functionToCheck&&"[object Function]"==={}.toString.call(functionToCheck)}function getStyleComputedProperty(element,property){if(1!==element.nodeType)return[];var css=element.ownerDocument.defaultView.getComputedStyle(element,null);return property?css[property]:css}function getParentNode(element){return"HTML"===element.nodeName?element:element.parentNode||element.host}function getScrollParent(element){if(!element)return document.body;switch(element.nodeName){case"HTML":case"BODY":return element.ownerDocument.body;case"#document":return element.body}var _getStyleComputedProp=getStyleComputedProperty(element),overflow=_getStyleComputedProp.overflow,overflowX=_getStyleComputedProp.overflowX,overflowY=_getStyleComputedProp.overflowY;return/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)?element:getScrollParent(getParentNode(element))}function getReferenceNode(reference){return reference&&reference.referenceNode?reference.referenceNode:reference}var isIE11=isBrowser&&!(!window.MSInputMethodContext||!document.documentMode),isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);function isIE(version){return 11===version?isIE11:10===version?isIE10:isIE11||isIE10}function getOffsetParent(element){if(!element)return document.documentElement;for(var noOffsetParent=isIE(10)?document.body:null,offsetParent=element.offsetParent||null;offsetParent===noOffsetParent&&element.nextElementSibling;)offsetParent=(element=element.nextElementSibling).offsetParent;var nodeName=offsetParent&&offsetParent.nodeName;return nodeName&&"BODY"!==nodeName&&"HTML"!==nodeName?-1!==["TH","TD","TABLE"].indexOf(offsetParent.nodeName)&&"static"===getStyleComputedProperty(offsetParent,"position")?getOffsetParent(offsetParent):offsetParent:element?element.ownerDocument.documentElement:document.documentElement}function getRoot(node){return null!==node.parentNode?getRoot(node.parentNode):node}function findCommonOffsetParent(element1,element2){if(!(element1&&element1.nodeType&&element2&&element2.nodeType))return document.documentElement;var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING,start=order?element1:element2,end=order?element2:element1,range=document.createRange();range.setStart(start,0),range.setEnd(end,0);var element,nodeName,commonAncestorContainer=range.commonAncestorContainer;if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end))return"BODY"===(nodeName=(element=commonAncestorContainer).nodeName)||"HTML"!==nodeName&&getOffsetParent(element.firstElementChild)!==element?getOffsetParent(commonAncestorContainer):commonAncestorContainer;var element1root=getRoot(element1);return element1root.host?findCommonOffsetParent(element1root.host,element2):findCommonOffsetParent(element1,getRoot(element2).host)}function getScroll(element){var upperSide="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName){var html=element.ownerDocument.documentElement;return(element.ownerDocument.scrollingElement||html)[upperSide]}return element[upperSide]}function getBordersSize(styles,axis){var sideA="x"===axis?"Left":"Top",sideB="Left"===sideA?"Right":"Bottom";return parseFloat(styles["border"+sideA+"Width"])+parseFloat(styles["border"+sideB+"Width"])}function getSize(axis,body,html,computedStyle){return Math.max(body["offset"+axis],body["scroll"+axis],html["client"+axis],html["offset"+axis],html["scroll"+axis],isIE(10)?parseInt(html["offset"+axis])+parseInt(computedStyle["margin"+("Height"===axis?"Top":"Left")])+parseInt(computedStyle["margin"+("Height"===axis?"Bottom":"Right")]):0)}function getWindowSizes(document){var body=document.body,html=document.documentElement,computedStyle=isIE(10)&&getComputedStyle(html);return{height:getSize("Height",body,html,computedStyle),width:getSize("Width",body,html,computedStyle)}}var createClass=function(){function defineProperties(target,props){for(var i=0;i2&&void 0!==arguments[2]&&arguments[2],isIE10=isIE(10),isHTML="HTML"===parent.nodeName,childrenRect=getBoundingClientRect(children),parentRect=getBoundingClientRect(parent),scrollParent=getScrollParent(children),styles=getStyleComputedProperty(parent),borderTopWidth=parseFloat(styles.borderTopWidth),borderLeftWidth=parseFloat(styles.borderLeftWidth);fixedPosition&&isHTML&&(parentRect.top=Math.max(parentRect.top,0),parentRect.left=Math.max(parentRect.left,0));var offsets=getClientRect({top:childrenRect.top-parentRect.top-borderTopWidth,left:childrenRect.left-parentRect.left-borderLeftWidth,width:childrenRect.width,height:childrenRect.height});if(offsets.marginTop=0,offsets.marginLeft=0,!isIE10&&isHTML){var marginTop=parseFloat(styles.marginTop),marginLeft=parseFloat(styles.marginLeft);offsets.top-=borderTopWidth-marginTop,offsets.bottom-=borderTopWidth-marginTop,offsets.left-=borderLeftWidth-marginLeft,offsets.right-=borderLeftWidth-marginLeft,offsets.marginTop=marginTop,offsets.marginLeft=marginLeft}return(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&"BODY"!==scrollParent.nodeName)&&(offsets=function(rect,element){var subtract=arguments.length>2&&void 0!==arguments[2]&&arguments[2],scrollTop=getScroll(element,"top"),scrollLeft=getScroll(element,"left"),modifier=subtract?-1:1;return rect.top+=scrollTop*modifier,rect.bottom+=scrollTop*modifier,rect.left+=scrollLeft*modifier,rect.right+=scrollLeft*modifier,rect}(offsets,parent)),offsets}function isFixed(element){var nodeName=element.nodeName;if("BODY"===nodeName||"HTML"===nodeName)return!1;if("fixed"===getStyleComputedProperty(element,"position"))return!0;var parentNode=getParentNode(element);return!!parentNode&&isFixed(parentNode)}function getFixedPositionOffsetParent(element){if(!element||!element.parentElement||isIE())return document.documentElement;for(var el=element.parentElement;el&&"none"===getStyleComputedProperty(el,"transform");)el=el.parentElement;return el||document.documentElement}function getBoundaries(popper,reference,padding,boundariesElement){var fixedPosition=arguments.length>4&&void 0!==arguments[4]&&arguments[4],boundaries={top:0,left:0},offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));if("viewport"===boundariesElement)boundaries=function(element){var excludeScroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],html=element.ownerDocument.documentElement,relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html),width=Math.max(html.clientWidth,window.innerWidth||0),height=Math.max(html.clientHeight,window.innerHeight||0),scrollTop=excludeScroll?0:getScroll(html),scrollLeft=excludeScroll?0:getScroll(html,"left");return getClientRect({top:scrollTop-relativeOffset.top+relativeOffset.marginTop,left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,width:width,height:height})}(offsetParent,fixedPosition);else{var boundariesNode=void 0;"scrollParent"===boundariesElement?"BODY"===(boundariesNode=getScrollParent(getParentNode(reference))).nodeName&&(boundariesNode=popper.ownerDocument.documentElement):boundariesNode="window"===boundariesElement?popper.ownerDocument.documentElement:boundariesElement;var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);if("HTML"!==boundariesNode.nodeName||isFixed(offsetParent))boundaries=offsets;else{var _getWindowSizes=getWindowSizes(popper.ownerDocument),height=_getWindowSizes.height,width=_getWindowSizes.width;boundaries.top+=offsets.top-offsets.marginTop,boundaries.bottom=height+offsets.top,boundaries.left+=offsets.left-offsets.marginLeft,boundaries.right=width+offsets.left}}var isPaddingNumber="number"==typeof(padding=padding||0);return boundaries.left+=isPaddingNumber?padding:padding.left||0,boundaries.top+=isPaddingNumber?padding:padding.top||0,boundaries.right-=isPaddingNumber?padding:padding.right||0,boundaries.bottom-=isPaddingNumber?padding:padding.bottom||0,boundaries}function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){var padding=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===placement.indexOf("auto"))return placement;var boundaries=getBoundaries(popper,reference,padding,boundariesElement),rects={top:{width:boundaries.width,height:refRect.top-boundaries.top},right:{width:boundaries.right-refRect.right,height:boundaries.height},bottom:{width:boundaries.width,height:boundaries.bottom-refRect.bottom},left:{width:refRect.left-boundaries.left,height:boundaries.height}},sortedAreas=Object.keys(rects).map((function(key){return _extends({key:key},rects[key],{area:(_ref=rects[key],_ref.width*_ref.height)});var _ref})).sort((function(a,b){return b.area-a.area})),filteredAreas=sortedAreas.filter((function(_ref2){var width=_ref2.width,height=_ref2.height;return width>=popper.clientWidth&&height>=popper.clientHeight})),computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key,variation=placement.split("-")[1];return computedPlacement+(variation?"-"+variation:"")}function getReferenceOffsets(state,popper,reference){var fixedPosition=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return getOffsetRectRelativeToArbitraryNode(reference,fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference)),fixedPosition)}function getOuterSizes(element){var styles=element.ownerDocument.defaultView.getComputedStyle(element),x=parseFloat(styles.marginTop||0)+parseFloat(styles.marginBottom||0),y=parseFloat(styles.marginLeft||0)+parseFloat(styles.marginRight||0);return{width:element.offsetWidth+y,height:element.offsetHeight+x}}function getOppositePlacement(placement){var hash={left:"right",right:"left",bottom:"top",top:"bottom"};return placement.replace(/left|right|bottom|top/g,(function(matched){return hash[matched]}))}function getPopperOffsets(popper,referenceOffsets,placement){placement=placement.split("-")[0];var popperRect=getOuterSizes(popper),popperOffsets={width:popperRect.width,height:popperRect.height},isHoriz=-1!==["right","left"].indexOf(placement),mainSide=isHoriz?"top":"left",secondarySide=isHoriz?"left":"top",measurement=isHoriz?"height":"width",secondaryMeasurement=isHoriz?"width":"height";return popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/2-popperRect[measurement]/2,popperOffsets[secondarySide]=placement===secondarySide?referenceOffsets[secondarySide]-popperRect[secondaryMeasurement]:referenceOffsets[getOppositePlacement(secondarySide)],popperOffsets}function find(arr,check){return Array.prototype.find?arr.find(check):arr.filter(check)[0]}function runModifiers(modifiers,data,ends){var modifiersToRun=void 0===ends?modifiers:modifiers.slice(0,function(arr,prop,value){if(Array.prototype.findIndex)return arr.findIndex((function(cur){return cur[prop]===value}));var match=find(arr,(function(obj){return obj[prop]===value}));return arr.indexOf(match)}(modifiers,"name",ends));return modifiersToRun.forEach((function(modifier){modifier.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var fn=modifier.function||modifier.fn;modifier.enabled&&isFunction(fn)&&(data.offsets.popper=getClientRect(data.offsets.popper),data.offsets.reference=getClientRect(data.offsets.reference),data=fn(data,modifier))})),data}function update(){if(!this.state.isDestroyed){var data={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed),data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),data.originalPlacement=data.placement,data.positionFixed=this.options.positionFixed,data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement),data.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",data=runModifiers(this.modifiers,data),this.state.isCreated?this.options.onUpdate(data):(this.state.isCreated=!0,this.options.onCreate(data))}}function isModifierEnabled(modifiers,modifierName){return modifiers.some((function(_ref){var name=_ref.name;return _ref.enabled&&name===modifierName}))}function getSupportedPropertyName(property){for(var prefixes=[!1,"ms","Webkit","Moz","O"],upperProp=property.charAt(0).toUpperCase()+property.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],index=validPlacements.indexOf(placement),arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));return counter?arr.reverse():arr}var BEHAVIORS_FLIP="flip",BEHAVIORS_CLOCKWISE="clockwise",BEHAVIORS_COUNTERCLOCKWISE="counterclockwise";function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){var offsets=[0,0],useHeight=-1!==["right","left"].indexOf(basePlacement),fragments=offset.split(/(\+|\-)/).map((function(frag){return frag.trim()})),divider=fragments.indexOf(find(fragments,(function(frag){return-1!==frag.search(/,|\s/)})));fragments[divider]&&-1===fragments[divider].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var splitRegex=/\s*,\s*|\s+/,ops=-1!==divider?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];return ops=ops.map((function(op,index){var measurement=(1===index?!useHeight:useHeight)?"height":"width",mergeWithPrevious=!1;return op.reduce((function(a,b){return""===a[a.length-1]&&-1!==["+","-"].indexOf(b)?(a[a.length-1]=b,mergeWithPrevious=!0,a):mergeWithPrevious?(a[a.length-1]+=b,mergeWithPrevious=!1,a):a.concat(b)}),[]).map((function(str){return function(str,measurement,popperOffsets,referenceOffsets){var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),value=+split[1],unit=split[2];if(!value)return str;if(0===unit.indexOf("%")){return getClientRect("%p"===unit?popperOffsets:referenceOffsets)[measurement]/100*value}if("vh"===unit||"vw"===unit)return("vh"===unit?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*value;return value}(str,measurement,popperOffsets,referenceOffsets)}))})),ops.forEach((function(op,index){op.forEach((function(frag,index2){isNumeric(frag)&&(offsets[index]+=frag*("-"===op[index2-1]?-1:1))}))})),offsets}var modifiers={shift:{order:100,enabled:!0,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],shiftvariation=placement.split("-")[1];if(shiftvariation){var _data$offsets=data.offsets,reference=_data$offsets.reference,popper=_data$offsets.popper,isVertical=-1!==["bottom","top"].indexOf(basePlacement),side=isVertical?"left":"top",measurement=isVertical?"width":"height",shiftOffsets={start:defineProperty({},side,reference[side]),end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])};data.offsets.popper=_extends({},popper,shiftOffsets[shiftvariation])}return data}},offset:{order:200,enabled:!0,fn:function(data,_ref){var offset=_ref.offset,placement=data.placement,_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,basePlacement=placement.split("-")[0],offsets=void 0;return offsets=isNumeric(+offset)?[+offset,0]:parseOffset(offset,popper,reference,basePlacement),"left"===basePlacement?(popper.top+=offsets[0],popper.left-=offsets[1]):"right"===basePlacement?(popper.top+=offsets[0],popper.left+=offsets[1]):"top"===basePlacement?(popper.left+=offsets[0],popper.top-=offsets[1]):"bottom"===basePlacement&&(popper.left+=offsets[0],popper.top+=offsets[1]),data.popper=popper,data},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(data,options){var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);data.instance.reference===boundariesElement&&(boundariesElement=getOffsetParent(boundariesElement));var transformProp=getSupportedPropertyName("transform"),popperStyles=data.instance.popper.style,top=popperStyles.top,left=popperStyles.left,transform=popperStyles[transformProp];popperStyles.top="",popperStyles.left="",popperStyles[transformProp]="";var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);popperStyles.top=top,popperStyles.left=left,popperStyles[transformProp]=transform,options.boundaries=boundaries;var order=options.priority,popper=data.offsets.popper,check={primary:function(placement){var value=popper[placement];return popper[placement]boundaries[placement]&&!options.escapeWithReference&&(value=Math.min(popper[mainSide],boundaries[placement]-("right"===placement?popper.width:popper.height))),defineProperty({},mainSide,value)}};return order.forEach((function(placement){var side=-1!==["left","top"].indexOf(placement)?"primary":"secondary";popper=_extends({},popper,check[side](placement))})),data.offsets.popper=popper,data},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(data){var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,placement=data.placement.split("-")[0],floor=Math.floor,isVertical=-1!==["top","bottom"].indexOf(placement),side=isVertical?"right":"bottom",opSide=isVertical?"left":"top",measurement=isVertical?"width":"height";return popper[side]floor(reference[side])&&(data.offsets.popper[opSide]=floor(reference[side])),data}},arrow:{order:500,enabled:!0,fn:function(data,options){var _data$offsets$arrow;if(!isModifierRequired(data.instance.modifiers,"arrow","keepTogether"))return data;var arrowElement=options.element;if("string"==typeof arrowElement){if(!(arrowElement=data.instance.popper.querySelector(arrowElement)))return data}else if(!data.instance.popper.contains(arrowElement))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),data;var placement=data.placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isVertical=-1!==["left","right"].indexOf(placement),len=isVertical?"height":"width",sideCapitalized=isVertical?"Top":"Left",side=sideCapitalized.toLowerCase(),altSide=isVertical?"left":"top",opSide=isVertical?"bottom":"right",arrowElementSize=getOuterSizes(arrowElement)[len];reference[opSide]-arrowElementSizepopper[opSide]&&(data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide]),data.offsets.popper=getClientRect(data.offsets.popper);var center=reference[side]+reference[len]/2-arrowElementSize/2,css=getStyleComputedProperty(data.instance.popper),popperMarginSide=parseFloat(css["margin"+sideCapitalized]),popperBorderSide=parseFloat(css["border"+sideCapitalized+"Width"]),sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;return sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0),data.arrowElement=arrowElement,data.offsets.arrow=(defineProperty(_data$offsets$arrow={},side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,""),_data$offsets$arrow),data},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(data,options){if(isModifierEnabled(data.instance.modifiers,"inner"))return data;if(data.flipped&&data.placement===data.originalPlacement)return data;var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed),placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement),variation=data.placement.split("-")[1]||"",flipOrder=[];switch(options.behavior){case BEHAVIORS_FLIP:flipOrder=[placement,placementOpposite];break;case BEHAVIORS_CLOCKWISE:flipOrder=clockwise(placement);break;case BEHAVIORS_COUNTERCLOCKWISE:flipOrder=clockwise(placement,!0);break;default:flipOrder=options.behavior}return flipOrder.forEach((function(step,index){if(placement!==step||flipOrder.length===index+1)return data;placement=data.placement.split("-")[0],placementOpposite=getOppositePlacement(placement);var popperOffsets=data.offsets.popper,refOffsets=data.offsets.reference,floor=Math.floor,overlapsRef="left"===placement&&floor(popperOffsets.right)>floor(refOffsets.left)||"right"===placement&&floor(popperOffsets.left)floor(refOffsets.top)||"bottom"===placement&&floor(popperOffsets.top)floor(boundaries.right),overflowsTop=floor(popperOffsets.top)floor(boundaries.bottom),overflowsBoundaries="left"===placement&&overflowsLeft||"right"===placement&&overflowsRight||"top"===placement&&overflowsTop||"bottom"===placement&&overflowsBottom,isVertical=-1!==["top","bottom"].indexOf(placement),flippedVariationByRef=!!options.flipVariations&&(isVertical&&"start"===variation&&overflowsLeft||isVertical&&"end"===variation&&overflowsRight||!isVertical&&"start"===variation&&overflowsTop||!isVertical&&"end"===variation&&overflowsBottom),flippedVariationByContent=!!options.flipVariationsByContent&&(isVertical&&"start"===variation&&overflowsRight||isVertical&&"end"===variation&&overflowsLeft||!isVertical&&"start"===variation&&overflowsBottom||!isVertical&&"end"===variation&&overflowsTop),flippedVariation=flippedVariationByRef||flippedVariationByContent;(overlapsRef||overflowsBoundaries||flippedVariation)&&(data.flipped=!0,(overlapsRef||overflowsBoundaries)&&(placement=flipOrder[index+1]),flippedVariation&&(variation=function(variation){return"end"===variation?"start":"start"===variation?"end":variation}(variation)),data.placement=placement+(variation?"-"+variation:""),data.offsets.popper=_extends({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement)),data=runModifiers(data.instance.modifiers,data,"flip"))})),data},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(data){var placement=data.placement,basePlacement=placement.split("-")[0],_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference,isHoriz=-1!==["left","right"].indexOf(basePlacement),subtractLength=-1===["top","left"].indexOf(basePlacement);return popper[isHoriz?"left":"top"]=reference[basePlacement]-(subtractLength?popper[isHoriz?"width":"height"]:0),data.placement=getOppositePlacement(placement),data.offsets.popper=getClientRect(popper),data}},hide:{order:800,enabled:!0,fn:function(data){if(!isModifierRequired(data.instance.modifiers,"hide","preventOverflow"))return data;var refRect=data.offsets.reference,bound=find(data.instance.modifiers,(function(modifier){return"preventOverflow"===modifier.name})).boundaries;if(refRect.bottombound.right||refRect.top>bound.bottom||refRect.right2&&void 0!==arguments[2]?arguments[2]:{};!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Popper),this.scheduleUpdate=function(){return requestAnimationFrame(_this.update)},this.update=debounce(this.update.bind(this)),this.options=_extends({},Popper.Defaults,options),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=reference&&reference.jquery?reference[0]:reference,this.popper=popper&&popper.jquery?popper[0]:popper,this.options.modifiers={},Object.keys(_extends({},Popper.Defaults.modifiers,options.modifiers)).forEach((function(name){_this.options.modifiers[name]=_extends({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(name){return _extends({name:name},_this.options.modifiers[name])})).sort((function(a,b){return a.order-b.order})),this.modifiers.forEach((function(modifierOptions){modifierOptions.enabled&&isFunction(modifierOptions.onLoad)&&modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state)})),this.update();var eventsEnabled=this.options.eventsEnabled;eventsEnabled&&this.enableEventListeners(),this.state.eventsEnabled=eventsEnabled}return createClass(Popper,[{key:"update",value:function(){return update.call(this)}},{key:"destroy",value:function(){return destroy.call(this)}},{key:"enableEventListeners",value:function(){return enableEventListeners.call(this)}},{key:"disableEventListeners",value:function(){return disableEventListeners.call(this)}}]),Popper}();Popper.Utils=("undefined"!=typeof window?window:global).PopperUtils,Popper.placements=placements,Popper.Defaults=Defaults;var BvEvent=function(){function BvEvent(type){var eventInit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(_classCallCheck(this,BvEvent),!type)throw new TypeError("Failed to construct '".concat(this.constructor.name,"'. 1 argument required, ").concat(arguments.length," given."));assign(this,BvEvent.Defaults,this.constructor.Defaults,eventInit,{type:type}),defineProperties(this,{type:{enumerable:!0,configurable:!1,writable:!1},cancelable:{enumerable:!0,configurable:!1,writable:!1},nativeEvent:{enumerable:!0,configurable:!1,writable:!1},target:{enumerable:!0,configurable:!1,writable:!1},relatedTarget:{enumerable:!0,configurable:!1,writable:!1},vueTarget:{enumerable:!0,configurable:!1,writable:!1},componentId:{enumerable:!0,configurable:!1,writable:!1}});var defaultPrevented=!1;this.preventDefault=function(){this.cancelable&&(defaultPrevented=!0)},defineProperty$1(this,"defaultPrevented",{enumerable:!0,get:function(){return defaultPrevented}})}return _createClass(BvEvent,null,[{key:"Defaults",get:function(){return{type:"",cancelable:!0,nativeEvent:null,target:null,relatedTarget:null,vueTarget:null,componentId:null}}}]),BvEvent}(),clickOutMixin=extend({data:function(){return{listenForClickOut:!1}},watch:{listenForClickOut:function(newValue,oldValue){newValue!==oldValue&&(eventOff(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE),newValue&&eventOn(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE))}},beforeCreate:function(){this.clickOutElement=null,this.clickOutEventName=null},mounted:function(){this.clickOutElement||(this.clickOutElement=document),this.clickOutEventName||(this.clickOutEventName="click"),this.listenForClickOut&&eventOn(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE)},beforeDestroy:function(){eventOff(this.clickOutElement,this.clickOutEventName,this._clickOutHandler,EVENT_OPTIONS_NO_CAPTURE)},methods:{isClickOut:function(event){return!contains(this.$el,event.target)},_clickOutHandler:function(event){this.clickOutHandler&&this.isClickOut(event)&&this.clickOutHandler(event)}}}),focusInMixin=extend({data:function(){return{listenForFocusIn:!1}},watch:{listenForFocusIn:function(newValue,oldValue){newValue!==oldValue&&(eventOff(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE),newValue&&eventOn(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE))}},beforeCreate:function(){this.focusInElement=null},mounted:function(){this.focusInElement||(this.focusInElement=document),this.listenForFocusIn&&eventOn(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE)},beforeDestroy:function(){eventOff(this.focusInElement,"focusin",this._focusInHandler,EVENT_OPTIONS_NO_CAPTURE)},methods:{_focusInHandler:function(event){this.focusInHandler&&this.focusInHandler(event)}}}),registry=null;isVue3&&(registry=new WeakMap);var _watch$f,_methods,_objectSpread2$2,_watch$e,_objectSpread2$1,_watch$d,_watch$c,_watch$b,_watch$a,_watch$9,_watch$8,_watch$7,ROOT_EVENT_NAME_SHOWN=getRootEventName("BDropdown","shown"),ROOT_EVENT_NAME_HIDDEN=getRootEventName("BDropdown","hidden"),SELECTOR_ITEM=[".dropdown-item",".b-dropdown-form"].map((function(selector){return"".concat(selector,":not(.disabled):not([disabled])")})).join(", "),props$1O=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),{},{boundary:makeProp([HTMLElement,PROP_TYPE_STRING],"scrollParent"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),dropleft:makeProp(PROP_TYPE_BOOLEAN,!1),dropright:makeProp(PROP_TYPE_BOOLEAN,!1),dropup:makeProp(PROP_TYPE_BOOLEAN,!1),noFlip:makeProp(PROP_TYPE_BOOLEAN,!1),offset:makeProp(PROP_TYPE_NUMBER_STRING,0),popperOpts:makeProp(PROP_TYPE_OBJECT,{}),right:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BDropdown"),dropdownMixin=extend({mixins:[idMixin,listenOnRootMixin,clickOutMixin,focusInMixin],provide:function(){var _this=this;return{getBvDropdown:function(){return _this}}},inject:{getBvNavbar:{default:function(){return function(){return null}}}},props:props$1O,data:function(){return{visible:!1,visibleChangePrevented:!1}},computed:{bvNavbar:function(){return this.getBvNavbar()},inNavbar:function(){return!isNull(this.bvNavbar)},toggler:function(){var toggle=this.$refs.toggle;return toggle?toggle.$el||toggle:null},directionClass:function(){return this.dropup?"dropup":this.dropright?"dropright":this.dropleft?"dropleft":""},boundaryClass:function(){return"scrollParent"===this.boundary||this.inNavbar?"":"position-static"},hideDelay:function(){return this.inNavbar?HAS_TOUCH_SUPPORT?300:50:0}},watch:{visible:function(newValue,oldValue){if(this.visibleChangePrevented)this.visibleChangePrevented=!1;else if(newValue!==oldValue){var bvEvent=new BvEvent(newValue?"show":"hide",{cancelable:!0,vueTarget:this,target:this.$refs.menu,relatedTarget:null,componentId:this.safeId?this.safeId():this.id||null});if(this.emitEvent(bvEvent),bvEvent.defaultPrevented)return this.visibleChangePrevented=!0,this.visible=oldValue,void this.$off("hidden",this.focusToggler);newValue?this.showMenu():this.hideMenu()}},disabled:function(newValue,oldValue){newValue!==oldValue&&newValue&&this.visible&&(this.visible=!1)}},created:function(){this.$_popper=null,this.$_hideTimeout=null},deactivated:function(){this.visible=!1,this.whileOpenListen(!1),this.destroyPopper()},mounted:function(){var element,instance;element=this.$el,instance=this,isVue3&®istry.set(element,instance)},beforeDestroy:function(){var element;this.visible=!1,this.whileOpenListen(!1),this.destroyPopper(),this.clearHideTimeout(),element=this.$el,isVue3&®istry.delete(element)},methods:{emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BDropdown",type),bvEvent),this.$emit(type,bvEvent)},showMenu:function(){var _this2=this;if(!this.disabled){if(!this.inNavbar)if(void 0===Popper)warn("Popper.js not found. Falling back to CSS positioning","BDropdown");else{var el=this.dropup&&this.right||this.split?this.$el:this.$refs.toggle;el=el.$el||el,this.createPopper(el)}this.emitOnRoot(ROOT_EVENT_NAME_SHOWN,this),this.whileOpenListen(!0),this.$nextTick((function(){_this2.focusMenu(),_this2.$emit("shown")}))}},hideMenu:function(){this.whileOpenListen(!1),this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN,this),this.$emit("hidden"),this.destroyPopper()},createPopper:function(element){this.destroyPopper(),this.$_popper=new Popper(element,this.$refs.menu,this.getPopperConfig())},destroyPopper:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},updatePopper:function(){try{this.$_popper.scheduleUpdate()}catch(_unused){}},clearHideTimeout:function(){clearTimeout(this.$_hideTimeout),this.$_hideTimeout=null},getPopperConfig:function(){var placement="bottom-start";this.dropup?placement=this.right?"top-end":"top-start":this.dropright?placement="right-start":this.dropleft?placement="left-start":this.right&&(placement="bottom-end");var popperConfig={placement:placement,modifiers:{offset:{offset:this.offset||0},flip:{enabled:!this.noFlip}}},boundariesElement=this.boundary;return boundariesElement&&(popperConfig.modifiers.preventOverflow={boundariesElement:boundariesElement}),mergeDeep(popperConfig,this.popperOpts||{})},whileOpenListen:function(isOpen){this.listenForClickOut=isOpen,this.listenForFocusIn=isOpen,this[isOpen?"listenOnRoot":"listenOffRoot"](ROOT_EVENT_NAME_SHOWN,this.rootCloseListener)},rootCloseListener:function(vm){vm!==this&&(this.visible=!1)},show:function(){var _this3=this;this.disabled||requestAF((function(){_this3.visible=!0}))},hide:function(){var refocus=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disabled||(this.visible=!1,refocus&&this.$once("hidden",this.focusToggler))},toggle:function(event){var _event=event=event||{},type=_event.type,keyCode=_event.keyCode;("click"===type||"keydown"===type&&-1!==[CODE_ENTER,CODE_SPACE,CODE_DOWN].indexOf(keyCode))&&(this.disabled?this.visible=!1:(this.$emit("toggle",event),stopEvent(event),this.visible?this.hide(!0):this.show()))},onMousedown:function(event){stopEvent(event,{propagation:!1})},onKeydown:function(event){var keyCode=event.keyCode;27===keyCode?this.onEsc(event):keyCode===CODE_DOWN?this.focusNext(event,!1):keyCode===CODE_UP&&this.focusNext(event,!0)},onEsc:function(event){this.visible&&(this.visible=!1,stopEvent(event),this.$once("hidden",this.focusToggler))},onSplitClick:function(event){this.disabled?this.visible=!1:this.$emit("click",event)},hideHandler:function(event){var _this4=this,target=event.target;!this.visible||contains(this.$refs.menu,target)||contains(this.toggler,target)||(this.clearHideTimeout(),this.$_hideTimeout=setTimeout((function(){return _this4.hide()}),this.hideDelay))},clickOutHandler:function(event){this.hideHandler(event)},focusInHandler:function(event){this.hideHandler(event)},focusNext:function(event,up){var _this5=this,target=event.target;!this.visible||event&&closest(".dropdown form",target)||(stopEvent(event),this.$nextTick((function(){var items=_this5.getItems();if(!(items.length<1)){var index=items.indexOf(target);up&&index>0?index--:!up&&index1&&void 0!==arguments[1]?arguments[1]:null;if(isPlainObject(option)){var value=get(option,this.valueField),text=get(option,this.textField);return{value:isUndefined(value)?key||text:value,text:stripTags(String(isUndefined(text)?key:text)),html:get(option,this.htmlField),disabled:Boolean(get(option,this.disabledField))}}return{value:key||option,text:stripTags(String(option)),disabled:!1}},normalizeOptions:function(options){var _this=this;return isArray(options)?options.map((function(option){return _this.normalizeOption(option)})):isPlainObject(options)?(warn('Setting prop "options" to an object is deprecated. Use the array format instead.',this.$options.name),keys(options).map((function(key){return _this.normalizeOption(options[key]||{},key)}))):[]}}}),props$1C=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1D),{},{id:makeProp(PROP_TYPE_STRING,void 0,!0)})),"BFormDatalist"),BFormDatalist=extend({name:"BFormDatalist",mixins:[formOptionsMixin,normalizeSlotMixin],props:props$1C,render:function(h){var id=this.id,$options=this.formOptions.map((function(option,index){var value=option.value,text=option.text,html=option.html,disabled=option.disabled;return h("option",{attrs:{value:value,disabled:disabled},domProps:htmlOrText(html,text),key:"option_".concat(index)})}));return h("datalist",{attrs:{id:id}},[$options,this.normalizeSlot()])}}),props$1B=makePropsConfigurable({id:makeProp(PROP_TYPE_STRING),inline:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"small"),textVariant:makeProp(PROP_TYPE_STRING,"muted")},"BFormText"),BFormText=extend({name:"BFormText",functional:!0,props:props$1B,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{class:_defineProperty({"form-text":!props.inline},"text-".concat(props.textVariant),props.textVariant),attrs:{id:props.id}}),children)}}),props$1A=makePropsConfigurable({ariaLive:makeProp(PROP_TYPE_STRING),forceShow:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING),state:makeProp(PROP_TYPE_BOOLEAN,null),tag:makeProp(PROP_TYPE_STRING,"div"),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1)},"BFormInvalidFeedback"),BFormInvalidFeedback=extend({name:"BFormInvalidFeedback",functional:!0,props:props$1A,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,tooltip=props.tooltip,ariaLive=props.ariaLive,show=!0===props.forceShow||!1===props.state;return h(props.tag,a(data,{class:{"d-block":show,"invalid-feedback":!tooltip,"invalid-tooltip":tooltip},attrs:{id:props.id||null,role:props.role||null,"aria-live":ariaLive||null,"aria-atomic":ariaLive?"true":null}}),children)}}),props$1z=makePropsConfigurable({ariaLive:makeProp(PROP_TYPE_STRING),forceShow:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING),state:makeProp(PROP_TYPE_BOOLEAN,null),tag:makeProp(PROP_TYPE_STRING,"div"),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1)},"BFormValidFeedback"),BFormValidFeedback=extend({name:"BFormValidFeedback",functional:!0,props:props$1z,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,tooltip=props.tooltip,ariaLive=props.ariaLive,show=!0===props.forceShow||!0===props.state;return h(props.tag,a(data,{class:{"d-block":show,"valid-feedback":!tooltip,"valid-tooltip":tooltip},attrs:{id:props.id||null,role:props.role||null,"aria-live":ariaLive||null,"aria-atomic":ariaLive?"true":null}}),children)}}),props$1y=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BFormRow"),BFormRow=extend({name:"BFormRow",functional:!0,props:props$1y,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"form-row"}),children)}}),FormPlugin=pluginFactory({components:{BForm:BForm,BFormDatalist:BFormDatalist,BDatalist:BFormDatalist,BFormText:BFormText,BFormInvalidFeedback:BFormInvalidFeedback,BFormFeedback:BFormInvalidFeedback,BFormValidFeedback:BFormValidFeedback,BFormRow:BFormRow}}),looseIndexOf=function(array,value){for(var i=0;i-1:looseEqual(checked,value)},isRadio:function(){return!1}},watch:_defineProperty({},"indeterminate",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.setIndeterminate(newValue)})),mounted:function(){this.setIndeterminate(this.indeterminate)},methods:{computedLocalCheckedWatcher:function(newValue,oldValue){if(!looseEqual(newValue,oldValue)){this.$emit(MODEL_EVENT_NAME$f,newValue);var $input=this.$refs.input;$input&&this.$emit("update:indeterminate",$input.indeterminate)}},handleChange:function(_ref){var _this=this,_ref$target=_ref.target,checked=_ref$target.checked,indeterminate=_ref$target.indeterminate,value=this.value,uncheckedValue=this.uncheckedValue,localChecked=this.computedLocalChecked;if(isArray(localChecked)){var index=looseIndexOf(localChecked,value);checked&&index<0?localChecked=localChecked.concat(value):!checked&&index>-1&&(localChecked=localChecked.slice(0,index).concat(localChecked.slice(index+1)))}else localChecked=checked?value:uncheckedValue;this.computedLocalChecked=localChecked,this.$nextTick((function(){_this.$emit("change",localChecked),_this.isGroup&&_this.bvGroup.$emit("change",localChecked),_this.$emit("update:indeterminate",indeterminate)}))},setIndeterminate:function(state){isArray(this.computedLocalChecked)&&(state=!1);var $input=this.$refs.input;$input&&($input.indeterminate=state,this.$emit("update:indeterminate",state))}}}),props$1r=makePropsConfigurable(props$1t,"BFormRadio"),BFormRadio=extend({name:"BFormRadio",mixins:[formRadioCheckMixin],inject:{getBvGroup:{from:"getBvRadioGroup",default:function(){return function(){return null}}}},props:props$1r,computed:{bvGroup:function(){return this.getBvGroup()}}}),PASS_DOWN_ATTRS=["aria-describedby","aria-labelledby"],_makeModelMixin$f=makeModelMixin("checked"),modelMixin$e=_makeModelMixin$f.mixin,modelProps$e=_makeModelMixin$f.props,MODEL_PROP_NAME$e=_makeModelMixin$f.prop,MODEL_EVENT_NAME$e=_makeModelMixin$f.event,props$1q=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$e),props$1x),props$1D),props$1v),props$1u),props$1w),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),buttonVariant:makeProp(PROP_TYPE_STRING),buttons:makeProp(PROP_TYPE_BOOLEAN,!1),stacked:makeProp(PROP_TYPE_BOOLEAN,!1),validated:makeProp(PROP_TYPE_BOOLEAN,!1)})),"formRadioCheckGroups"),formRadioCheckGroupMixin=extend({mixins:[idMixin,modelMixin$e,normalizeSlotMixin,formControlMixin,formOptionsMixin,formSizeMixin,formStateMixin,formCustomMixin],inheritAttrs:!1,props:props$1q,data:function(){return{localChecked:this[MODEL_PROP_NAME$e]}},computed:{inline:function(){return!this.stacked},groupName:function(){return this.name||this.safeId()},groupClasses:function(){var inline=this.inline,size=this.size,classes={"was-validated":this.validated};return this.buttons&&(classes=[classes,"btn-group-toggle",_defineProperty({"btn-group":inline,"btn-group-vertical":!inline},"btn-group-".concat(size),size)]),classes}},watch:(_watch$e={},_defineProperty(_watch$e,MODEL_PROP_NAME$e,(function(newValue){looseEqual(newValue,this.localChecked)||(this.localChecked=newValue)})),_defineProperty(_watch$e,"localChecked",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit(MODEL_EVENT_NAME$e,newValue)})),_watch$e),render:function(h){var _this=this,isRadioGroup=this.isRadioGroup,attrs=pick$1(this.$attrs,PASS_DOWN_ATTRS),optionComponent=isRadioGroup?BFormRadio:BFormCheckbox,$inputs=this.formOptions.map((function(option,index){var key="BV_option_".concat(index);return h(optionComponent,{props:{disabled:option.disabled||!1,id:_this.safeId(key),value:option.value},attrs:attrs,key:key},[h("span",{domProps:htmlOrText(option.html,option.text)})])}));return h("div",{class:[this.groupClasses,"bv-no-focus-ring"],attrs:_objectSpread2$3(_objectSpread2$3({},omit(this.$attrs,PASS_DOWN_ATTRS)),{},{"aria-invalid":this.computedAriaInvalid,"aria-required":this.required?"true":null,id:this.safeId(),role:isRadioGroup?"radiogroup":"group",tabindex:"-1"})},[this.normalizeSlot("first"),$inputs,this.normalizeSlot()])}}),props$1p=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1q),{},(_defineProperty(_objectSpread2$1={},MODEL_PROP_NAME$e,makeProp(PROP_TYPE_ARRAY,[])),_defineProperty(_objectSpread2$1,"switches",makeProp(PROP_TYPE_BOOLEAN,!1)),_objectSpread2$1))),"BFormCheckboxGroup"),BFormCheckboxGroup=extend({name:"BFormCheckboxGroup",mixins:[formRadioCheckGroupMixin],provide:function(){var _this=this;return{getBvCheckGroup:function(){return _this}}},props:props$1p,computed:{isRadioGroup:function(){return!1}}}),FormCheckboxPlugin=pluginFactory({components:{BFormCheckbox:BFormCheckbox,BCheckbox:BFormCheckbox,BCheck:BFormCheckbox,BFormCheckboxGroup:BFormCheckboxGroup,BCheckboxGroup:BFormCheckboxGroup,BCheckGroup:BFormCheckboxGroup}}),PROP$2="__BV_hover_handler__",updateListeners=function(on,el,listener){eventOnOff(on,el,"mouseenter",listener,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,el,"mouseleave",listener,EVENT_OPTIONS_NO_CAPTURE)},directive=function(el,_ref){var _ref$value=_ref.value,handler=void 0===_ref$value?null:_ref$value;if(IS_BROWSER){var listener=el[PROP$2],hasListener=isFunction$1(listener),handlerChanged=!(hasListener&&listener.fn===handler);hasListener&&handlerChanged&&(updateListeners(!1,el,listener),delete el[PROP$2]),isFunction$1(handler)&&handlerChanged&&(el[PROP$2]=function(handler){var listener=function(event){handler("mouseenter"===event.type,event)};return listener.fn=handler,listener}(handler),updateListeners(!0,el,el[PROP$2]))}},VBHover={bind:directive,componentUpdated:directive,unbind:function(el){directive(el,{value:null})}},props$1o=sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1v),props$1u),omit(props$1O,["disabled"])),omit(props$1x,["autofocus"])),{},{buttonOnly:makeProp(PROP_TYPE_BOOLEAN,!1),buttonVariant:makeProp(PROP_TYPE_STRING,"secondary"),formattedValue:makeProp(PROP_TYPE_STRING),labelSelected:makeProp(PROP_TYPE_STRING),lang:makeProp(PROP_TYPE_STRING),menuClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),placeholder:makeProp(PROP_TYPE_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),rtl:makeProp(PROP_TYPE_BOOLEAN,null),value:makeProp(PROP_TYPE_STRING,"")})),BVFormBtnLabelControl=extend({name:"BVFormBtnLabelControl",directives:{"b-hover":VBHover},mixins:[idMixin,formSizeMixin,formStateMixin,dropdownMixin,normalizeSlotMixin],props:props$1o,data:function(){return{isHovered:!1,hasFocus:!1}},computed:{idButton:function(){return this.safeId()},idLabel:function(){return this.safeId("_value_")},idMenu:function(){return this.safeId("_dialog_")},idWrapper:function(){return this.safeId("_outer_")},computedDir:function(){return!0===this.rtl?"rtl":!1===this.rtl?"ltr":null}},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.toggle)},blur:function(){this.disabled||attemptBlur(this.$refs.toggle)},setFocus:function(event){this.hasFocus="focus"===event.type},handleHover:function(hovered){this.isHovered=hovered}},render:function(h){var _class,idButton=this.idButton,idLabel=this.idLabel,idMenu=this.idMenu,idWrapper=this.idWrapper,disabled=this.disabled,readonly=this.readonly,required=this.required,name=this.name,state=this.state,visible=this.visible,size=this.size,isHovered=this.isHovered,hasFocus=this.hasFocus,labelSelected=this.labelSelected,buttonVariant=this.buttonVariant,buttonOnly=this.buttonOnly,value=toString(this.value)||"",invalid=!1===state||required&&!value,btnScope={isHovered:isHovered,hasFocus:hasFocus,state:state,opened:visible},$button=h("button",{staticClass:"btn",class:(_class={},_defineProperty(_class,"btn-".concat(buttonVariant),buttonOnly),_defineProperty(_class,"btn-".concat(size),size),_defineProperty(_class,"h-auto",!buttonOnly),_defineProperty(_class,"dropdown-toggle",buttonOnly),_defineProperty(_class,"dropdown-toggle-no-caret",buttonOnly),_class),attrs:{id:idButton,type:"button",disabled:disabled,"aria-haspopup":"dialog","aria-expanded":visible?"true":"false","aria-invalid":invalid?"true":null,"aria-required":required?"true":null},directives:[{name:"b-hover",value:this.handleHover}],on:{mousedown:this.onMousedown,click:this.toggle,keydown:this.toggle,"!focus":this.setFocus,"!blur":this.setFocus},ref:"toggle"},[this.hasNormalizedSlot("button-content")?this.normalizeSlot("button-content",btnScope):h(BIconChevronDown,{props:{scale:1.25}})]),$hidden=h();name&&!disabled&&($hidden=h("input",{attrs:{type:"hidden",name:name||null,form:this.form||null,value:value}}));var $menu=h("div",{staticClass:"dropdown-menu",class:[this.menuClass,{show:visible,"dropdown-menu-right":this.right}],attrs:{id:idMenu,role:"dialog",tabindex:"-1","aria-modal":"false","aria-labelledby":idLabel},on:{keydown:this.onKeydown},ref:"menu"},[this.normalizeSlot("default",{opened:visible})]),$label=h("label",{class:buttonOnly?"sr-only":["form-control",{"text-muted":!value},this.stateClass,this.sizeFormClass],attrs:{id:idLabel,for:idButton,"aria-invalid":invalid?"true":null,"aria-required":required?"true":null},directives:[{name:"b-hover",value:this.handleHover}],on:{"!click":function(event){stopEvent(event,{preventDefault:!1})}}},[value?this.formattedValue||value:this.placeholder||"",value&&labelSelected?h("bdi",{staticClass:"sr-only"},labelSelected):""]);return h("div",{staticClass:"b-form-btn-label-control dropdown",class:[this.directionClass,this.boundaryClass,[{"btn-group":buttonOnly,"form-control":!buttonOnly,focus:hasFocus&&!buttonOnly,show:visible,"is-valid":!0===state,"is-invalid":!1===state},buttonOnly?null:this.sizeFormClass]],attrs:{id:idWrapper,role:buttonOnly?null:"group",lang:this.lang||null,dir:this.computedDir,"aria-disabled":disabled,"aria-readonly":readonly&&!disabled,"aria-labelledby":idLabel,"aria-invalid":!1===state||required&&!value?"true":null,"aria-required":required?"true":null}},[$button,$hidden,$menu,$label])}}),_makeModelMixin$e=makeModelMixin("value",{type:PROP_TYPE_DATE_STRING}),modelMixin$d=_makeModelMixin$e.mixin,modelProps$d=_makeModelMixin$e.props,MODEL_PROP_NAME$d=_makeModelMixin$e.prop,MODEL_EVENT_NAME$d=_makeModelMixin$e.event,calendarProps=omit(props$24,["block","hidden","id","noKeyNav","roleDescription","value","width"]),formBtnLabelControlProps$1=omit(props$1o,["formattedValue","id","lang","rtl","value"]),props$1n=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$d),calendarProps),formBtnLabelControlProps$1),{},{calendarWidth:makeProp(PROP_TYPE_STRING,"270px"),closeButton:makeProp(PROP_TYPE_BOOLEAN,!1),closeButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),dark:makeProp(PROP_TYPE_BOOLEAN,!1),labelCloseButton:makeProp(PROP_TYPE_STRING,"Close"),labelResetButton:makeProp(PROP_TYPE_STRING,"Reset"),labelTodayButton:makeProp(PROP_TYPE_STRING,"Select today"),noCloseOnSelect:makeProp(PROP_TYPE_BOOLEAN,!1),resetButton:makeProp(PROP_TYPE_BOOLEAN,!1),resetButtonVariant:makeProp(PROP_TYPE_STRING,"outline-danger"),resetValue:makeProp(PROP_TYPE_DATE_STRING),todayButton:makeProp(PROP_TYPE_BOOLEAN,!1),todayButtonVariant:makeProp(PROP_TYPE_STRING,"outline-primary")})),"BFormDatepicker"),BFormDatepicker=extend({name:"BFormDatepicker",mixins:[idMixin,modelMixin$d],props:props$1n,data:function(){return{localYMD:formatYMD(this[MODEL_PROP_NAME$d])||"",isVisible:!1,localLocale:null,isRTL:!1,formattedValue:"",activeYMD:""}},computed:{calendarYM:function(){return this.activeYMD.slice(0,-3)},computedLang:function(){return(this.localLocale||"").replace(/-u-.*$/i,"")||null},computedResetValue:function(){return formatYMD(constrainDate(this.resetValue))||""}},watch:(_watch$d={},_defineProperty(_watch$d,MODEL_PROP_NAME$d,(function(newValue){this.localYMD=formatYMD(newValue)||""})),_defineProperty(_watch$d,"localYMD",(function(newValue){this.isVisible&&this.$emit(MODEL_EVENT_NAME$d,this.valueAsDate?parseYMD(newValue)||null:newValue||"")})),_defineProperty(_watch$d,"calendarYM",(function(newValue,oldValue){if(newValue!==oldValue&&oldValue)try{this.$refs.control.updatePopper()}catch(_unused){}})),_watch$d),methods:{focus:function(){this.disabled||attemptFocus(this.$refs.control)},blur:function(){this.disabled||attemptBlur(this.$refs.control)},setAndClose:function(ymd){var _this=this;this.localYMD=ymd,this.noCloseOnSelect||this.$nextTick((function(){_this.$refs.control.hide(!0)}))},onSelected:function(ymd){var _this2=this;this.$nextTick((function(){_this2.setAndClose(ymd)}))},onInput:function(ymd){this.localYMD!==ymd&&(this.localYMD=ymd)},onContext:function(ctx){var activeYMD=ctx.activeYMD,isRTL=ctx.isRTL,locale=ctx.locale,selectedYMD=ctx.selectedYMD,selectedFormatted=ctx.selectedFormatted;this.isRTL=isRTL,this.localLocale=locale,this.formattedValue=selectedFormatted,this.localYMD=selectedYMD,this.activeYMD=activeYMD,this.$emit("context",ctx)},onTodayButton:function(){this.setAndClose(formatYMD(constrainDate(createDate(),this.min,this.max)))},onResetButton:function(){this.setAndClose(this.computedResetValue)},onCloseButton:function(){this.$refs.control.hide(!0)},onShow:function(){this.isVisible=!0},onShown:function(){var _this3=this;this.$nextTick((function(){attemptFocus(_this3.$refs.calendar),_this3.$emit("shown")}))},onHidden:function(){this.isVisible=!1,this.$emit("hidden")},defaultButtonFn:function(_ref){var isHovered=_ref.isHovered,hasFocus=_ref.hasFocus;return this.$createElement(isHovered||hasFocus?BIconCalendarFill:BIconCalendar,{attrs:{"aria-hidden":"true"}})}},render:function(h){var localYMD=this.localYMD,disabled=this.disabled,readonly=this.readonly,dark=this.dark,$props=this.$props,$scopedSlots=this.$scopedSlots,placeholder=isUndefinedOrNull(this.placeholder)?this.labelNoDateSelected:this.placeholder,$footer=[];if(this.todayButton){var label=this.labelTodayButton;$footer.push(h(BButton,{props:{disabled:disabled||readonly,size:"sm",variant:this.todayButtonVariant},attrs:{"aria-label":label||null},on:{click:this.onTodayButton}},label))}if(this.resetButton){var _label=this.labelResetButton;$footer.push(h(BButton,{props:{disabled:disabled||readonly,size:"sm",variant:this.resetButtonVariant},attrs:{"aria-label":_label||null},on:{click:this.onResetButton}},_label))}if(this.closeButton){var _label2=this.labelCloseButton;$footer.push(h(BButton,{props:{disabled:disabled,size:"sm",variant:this.closeButtonVariant},attrs:{"aria-label":_label2||null},on:{click:this.onCloseButton}},_label2))}$footer.length>0&&($footer=[h("div",{staticClass:"b-form-date-controls d-flex flex-wrap",class:{"justify-content-between":$footer.length>1,"justify-content-end":$footer.length<2}},$footer)]);var $calendar=h(BCalendar,{staticClass:"b-form-date-calendar w-100",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(calendarProps,$props)),{},{hidden:!this.isVisible,value:localYMD,valueAsDate:!1,width:this.calendarWidth}),on:{selected:this.onSelected,input:this.onInput,context:this.onContext},scopedSlots:pick$1($scopedSlots,["nav-prev-decade","nav-prev-year","nav-prev-month","nav-this-month","nav-next-month","nav-next-year","nav-next-decade"]),key:"calendar",ref:"calendar"},$footer);return h(BVFormBtnLabelControl,{staticClass:"b-form-datepicker",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formBtnLabelControlProps$1,$props)),{},{formattedValue:localYMD?this.formattedValue:"",id:this.safeId(),lang:this.computedLang,menuClass:[{"bg-dark":dark,"text-light":dark},this.menuClass],placeholder:placeholder,rtl:this.isRTL,value:localYMD}),on:{show:this.onShow,shown:this.onShown,hidden:this.onHidden},scopedSlots:_defineProperty({},"button-content",$scopedSlots["button-content"]||this.defaultButtonFn),ref:"control"},[$calendar])}}),FormDatepickerPlugin=pluginFactory({components:{BFormDatepicker:BFormDatepicker,BDatepicker:BFormDatepicker}}),_makeModelMixin$d=makeModelMixin("value",{type:[PROP_TYPE_ARRAY,File],defaultValue:null,validator:function(value){return""===value?(warn(VALUE_EMPTY_DEPRECATED_MSG,"BFormFile"),!0):isUndefinedOrNull(value)||isValidValue(value)}}),modelMixin$c=_makeModelMixin$d.mixin,modelProps$c=_makeModelMixin$d.props,MODEL_PROP_NAME$c=_makeModelMixin$d.prop,MODEL_EVENT_NAME$c=_makeModelMixin$d.event,VALUE_EMPTY_DEPRECATED_MSG='Setting "value"/"v-model" to an empty string for reset is deprecated. Set to "null" instead.',isValidValue=function isValidValue(value){return function(value){return value instanceof File}(value)||isArray(value)&&value.every((function(v){return isValidValue(v)}))},getDataTransferItemEntry=function(item){return isFunction$1(item.getAsEntry)?item.getAsEntry():isFunction$1(item.webkitGetAsEntry)?item.webkitGetAsEntry():null},getAllFileEntriesInDirectory=function getAllFileEntriesInDirectory(directoryReader){var path=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(resolve){var entryPromises=[];!function readDirectoryEntries(){directoryReader.readEntries((function(entries){0===entries.length?resolve(Promise.all(entryPromises).then((function(entries){return entries.reduce((function(result,item){return concat(result,item)}),[])}))):(entryPromises.push(Promise.all(entries.map((function(entry){if(entry){if(entry.isDirectory)return getAllFileEntriesInDirectory(entry.createReader(),"".concat(path).concat(entry.name,"/"));if(entry.isFile)return new Promise((function(resolve){entry.file((function(file){file.$path="".concat(path).concat(file.name),resolve(file)}))}))}return null})).filter(identity))),readDirectoryEntries())}))}()}))},props$1m=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$c),props$1x),props$1w),props$1u),props$1v),{},{accept:makeProp(PROP_TYPE_STRING,""),browseText:makeProp(PROP_TYPE_STRING,"Browse"),capture:makeProp(PROP_TYPE_BOOLEAN,!1),directory:makeProp(PROP_TYPE_BOOLEAN,!1),dropPlaceholder:makeProp(PROP_TYPE_STRING,"Drop files here"),fileNameFormatter:makeProp(PROP_TYPE_FUNCTION),multiple:makeProp(PROP_TYPE_BOOLEAN,!1),noDrop:makeProp(PROP_TYPE_BOOLEAN,!1),noDropPlaceholder:makeProp(PROP_TYPE_STRING,"Not allowed"),noTraverse:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING,"No file chosen")})),"BFormFile"),BFormFile=extend({name:"BFormFile",mixins:[attrsMixin,idMixin,modelMixin$c,normalizeSlotMixin,formControlMixin,formStateMixin,formCustomMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$1m,data:function(){return{files:[],dragging:!1,dropAllowed:!this.noDrop,hasFocus:!1}},computed:{computedAccept:function(){var accept=this.accept;return 0===(accept=(accept||"").trim().split(/[,\s]+/).filter(identity)).length?null:accept.map((function(extOrType){var prop="name",startMatch="^",endMatch="$";return RX_EXTENSION.test(extOrType)?startMatch="":(prop="type",RX_STAR.test(extOrType)&&(endMatch=".+$",extOrType=extOrType.slice(0,-1))),extOrType=escapeRegExp(extOrType),{rx:new RegExp("".concat(startMatch).concat(extOrType).concat(endMatch)),prop:prop}}))},computedCapture:function(){var capture=this.capture;return!0===capture||""===capture||(capture||null)},computedAttrs:function(){var name=this.name,disabled=this.disabled,required=this.required,form=this.form,computedCapture=this.computedCapture,accept=this.accept,multiple=this.multiple,directory=this.directory;return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{type:"file",id:this.safeId(),name:name,disabled:disabled,required:required,form:form||null,capture:computedCapture,accept:accept||null,multiple:multiple,directory:directory,webkitdirectory:directory,"aria-required":required?"true":null})},computedFileNameFormatter:function(){var fileNameFormatter=this.fileNameFormatter;return hasPropFunction(fileNameFormatter)?fileNameFormatter:this.defaultFileNameFormatter},clonedFiles:function(){return cloneDeep(this.files)},flattenedFiles:function(){return flattenDeep(this.files)},fileNames:function(){return this.flattenedFiles.map((function(file){return file.name}))},labelContent:function(){if(this.dragging&&!this.noDrop)return this.normalizeSlot("drop-placeholder",{allowed:this.dropAllowed})||(this.dropAllowed?this.dropPlaceholder:this.$createElement("span",{staticClass:"text-danger"},this.noDropPlaceholder));if(0===this.files.length)return this.normalizeSlot("placeholder")||this.placeholder;var flattenedFiles=this.flattenedFiles,clonedFiles=this.clonedFiles,fileNames=this.fileNames,computedFileNameFormatter=this.computedFileNameFormatter;return this.hasNormalizedSlot("file-name")?this.normalizeSlot("file-name",{files:flattenedFiles,filesTraversed:clonedFiles,names:fileNames}):computedFileNameFormatter(flattenedFiles,clonedFiles,fileNames)}},watch:(_watch$c={},_defineProperty(_watch$c,MODEL_PROP_NAME$c,(function(newValue){(!newValue||isArray(newValue)&&0===newValue.length)&&this.reset()})),_defineProperty(_watch$c,"files",(function(newValue,oldValue){if(!looseEqual(newValue,oldValue)){var multiple=this.multiple,noTraverse=this.noTraverse,files=!multiple||noTraverse?flattenDeep(newValue):newValue;this.$emit(MODEL_EVENT_NAME$c,multiple?files:files[0]||null)}})),_watch$c),created:function(){this.$_form=null},mounted:function(){var $form=closest("form",this.$el);$form&&(eventOn($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE),this.$_form=$form)},beforeDestroy:function(){var $form=this.$_form;$form&&eventOff($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},methods:{isFileValid:function(file){if(!file)return!1;var accept=this.computedAccept;return!accept||accept.some((function(a){return a.rx.test(file[a.prop])}))},isFilesArrayValid:function(files){var _this=this;return isArray(files)?files.every((function(file){return _this.isFileValid(file)})):this.isFileValid(files)},defaultFileNameFormatter:function(flattenedFiles,clonedFiles,fileNames){return fileNames.join(", ")},setFiles:function(files){this.dropAllowed=!this.noDrop,this.dragging=!1,this.files=this.multiple?this.directory?files:flattenDeep(files):flattenDeep(files).slice(0,1)},setInputFiles:function(files){try{var dataTransfer=new ClipboardEvent("").clipboardData||new DataTransfer;flattenDeep(cloneDeep(files)).forEach((function(file){delete file.$path,dataTransfer.items.add(file)})),this.$refs.input.files=dataTransfer.files}catch(_unused){}},reset:function(){try{var $input=this.$refs.input;$input.value="",$input.type="",$input.type="file"}catch(_unused2){}this.files=[]},handleFiles:function(files){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var filteredFiles=files.filter(this.isFilesArrayValid);filteredFiles.length>0&&(this.setFiles(filteredFiles),this.setInputFiles(filteredFiles))}else this.setFiles(files)},focusHandler:function(event){this.plain||"focusout"===event.type?this.hasFocus=!1:this.hasFocus=!0},onChange:function(event){var _this2=this,type=event.type,target=event.target,_event$dataTransfer=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer?{}:_event$dataTransfer,isDrop="drop"===type;this.$emit("change",event);var items=from(dataTransfer.items||[]);if(HAS_PROMISE_SUPPORT&&items.length>0&&!isNull(getDataTransferItemEntry(items[0])))(function(dataTransferItemList){var traverseDirectories=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Promise.all(from(dataTransferItemList).filter((function(item){return"file"===item.kind})).map((function(item){var entry=getDataTransferItemEntry(item);if(entry){if(entry.isDirectory&&traverseDirectories)return getAllFileEntriesInDirectory(entry.createReader(),"".concat(entry.name,"/"));if(entry.isFile)return new Promise((function(resolve){entry.file((function(file){file.$path="",resolve(file)}))}))}return null})).filter(identity))})(items,this.directory).then((function(files){return _this2.handleFiles(files,isDrop)}));else{var files=from(target.files||dataTransfer.files||[]).map((function(file){return file.$path=file.webkitRelativePath||"",file}));this.handleFiles(files,isDrop)}},onDragenter:function(event){stopEvent(event),this.dragging=!0;var _event$dataTransfer2=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer2?{}:_event$dataTransfer2;if(this.noDrop||this.disabled||!this.dropAllowed)return dataTransfer.dropEffect="none",void(this.dropAllowed=!1);dataTransfer.dropEffect="copy"},onDragover:function(event){stopEvent(event),this.dragging=!0;var _event$dataTransfer3=event.dataTransfer,dataTransfer=void 0===_event$dataTransfer3?{}:_event$dataTransfer3;if(this.noDrop||this.disabled||!this.dropAllowed)return dataTransfer.dropEffect="none",void(this.dropAllowed=!1);dataTransfer.dropEffect="copy"},onDragleave:function(event){var _this3=this;stopEvent(event),this.$nextTick((function(){_this3.dragging=!1,_this3.dropAllowed=!_this3.noDrop}))},onDrop:function(event){var _this4=this;stopEvent(event),this.dragging=!1,this.noDrop||this.disabled||!this.dropAllowed?this.$nextTick((function(){_this4.dropAllowed=!_this4.noDrop})):this.onChange(event)}},render:function(h){var custom=this.custom,plain=this.plain,size=this.size,dragging=this.dragging,stateClass=this.stateClass,bvAttrs=this.bvAttrs,$input=h("input",{class:[{"form-control-file":plain,"custom-file-input":custom,focus:custom&&this.hasFocus},stateClass],style:custom?{zIndex:-5}:{},attrs:this.computedAttrs,on:{change:this.onChange,focusin:this.focusHandler,focusout:this.focusHandler,reset:this.reset},ref:"input"});if(plain)return $input;var $label=h("label",{staticClass:"custom-file-label",class:{dragging:dragging},attrs:{for:this.safeId(),"data-browse":this.browseText||null}},[h("span",{staticClass:"d-block form-file-text",style:{pointerEvents:"none"}},[this.labelContent])]);return h("div",{staticClass:"custom-file b-form-file",class:[_defineProperty({},"b-custom-control-".concat(size),size),stateClass,bvAttrs.class],style:bvAttrs.style,attrs:{id:this.safeId("_BV_file_outer_")},on:{dragenter:this.onDragenter,dragover:this.onDragover,dragleave:this.onDragleave,drop:this.onDrop}},[$input,$label])}}),FormFilePlugin=pluginFactory({components:{BFormFile:BFormFile,BFile:BFormFile}}),escapeChar=function(value){return"\\"+value},cssEscape=function(value){var length=(value=toString(value)).length,firstCharCode=value.charCodeAt(0);return value.split("").reduce((function(result,char,index){var charCode=value.charCodeAt(index);return 0===charCode?result+"�":127===charCode||charCode>=1&&charCode<=31||0===index&&charCode>=48&&charCode<=57||1===index&&charCode>=48&&charCode<=57&&45===firstCharCode?result+escapeChar("".concat(charCode.toString(16)," ")):0===index&&45===charCode&&1===length?result+escapeChar(char):charCode>=128||45===charCode||95===charCode||charCode>=48&&charCode<=57||charCode>=65&&charCode<=90||charCode>=97&&charCode<=122?result+char:result+escapeChar(char)}),"")},ALIGN_SELF_VALUES=["auto","start","end","center","baseline","stretch"],computeBreakpointClass=memoize((function(type,breakpoint,value){var className=type;if(!isUndefinedOrNull(value)&&!1!==value)return breakpoint&&(className+="-".concat(breakpoint)),"col"!==type||""!==value&&!0!==value?(className+="-".concat(value),lowerCase(className)):lowerCase(className)})),breakpointPropMap=create(null),BCol={name:"BCol",functional:!0,get props(){return delete this.props,this.props=(breakpoints=getBreakpointsUpCached().filter(identity),breakpointCol=breakpoints.reduce((function(props,breakpoint){return props[breakpoint]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props}),create(null)),breakpointOffset=breakpoints.reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"offset")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),breakpointOrder=breakpoints.reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"order")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),breakpointPropMap=assign(create(null),{col:keys(breakpointCol),offset:keys(breakpointOffset),order:keys(breakpointOrder)}),makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},breakpointCol),breakpointOffset),breakpointOrder),{},{alignSelf:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(ALIGN_SELF_VALUES,value)})),col:makeProp(PROP_TYPE_BOOLEAN,!1),cols:makeProp(PROP_TYPE_NUMBER_STRING),offset:makeProp(PROP_TYPE_NUMBER_STRING),order:makeProp(PROP_TYPE_NUMBER_STRING),tag:makeProp(PROP_TYPE_STRING,"div")})),"BCol"));var breakpoints,breakpointCol,breakpointOffset,breakpointOrder},render:function(h,_ref){var _classList$push,props=_ref.props,data=_ref.data,children=_ref.children,cols=props.cols,offset=props.offset,order=props.order,alignSelf=props.alignSelf,classList=[];for(var type in breakpointPropMap)for(var _keys=breakpointPropMap[type],i=0;i<_keys.length;i++){var c=computeBreakpointClass(type,_keys[i].replace(type,""),props[_keys[i]]);c&&classList.push(c)}var hasColClasses=classList.some((function(className){return RX_COL_CLASS.test(className)}));return classList.push((_defineProperty(_classList$push={col:props.col||!hasColClasses&&!cols},"col-".concat(cols),cols),_defineProperty(_classList$push,"offset-".concat(offset),offset),_defineProperty(_classList$push,"order-".concat(order),order),_defineProperty(_classList$push,"align-self-".concat(alignSelf),alignSelf),_classList$push)),h(props.tag,a(data,{class:classList}),children)}},INPUTS=["input","select","textarea"],INPUT_SELECTOR=INPUTS.map((function(v){return"".concat(v,":not([disabled])")})).join(),LEGEND_INTERACTIVE_ELEMENTS=[].concat(INPUTS,["a","button","label"]),BFormGroup={name:"BFormGroup",mixins:[idMixin,formStateMixin,normalizeSlotMixin],get props(){return delete this.props,this.props=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1u),getBreakpointsUpCached().reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"contentCols")]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props[suffixPropName(breakpoint,"labelAlign")]=makeProp(PROP_TYPE_STRING),props[suffixPropName(breakpoint,"labelCols")]=makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING),props}),create(null))),{},{description:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),feedbackAriaLive:makeProp(PROP_TYPE_STRING,"assertive"),invalidFeedback:makeProp(PROP_TYPE_STRING),label:makeProp(PROP_TYPE_STRING),labelClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),labelFor:makeProp(PROP_TYPE_STRING),labelSize:makeProp(PROP_TYPE_STRING),labelSrOnly:makeProp(PROP_TYPE_BOOLEAN,!1),tooltip:makeProp(PROP_TYPE_BOOLEAN,!1),validFeedback:makeProp(PROP_TYPE_STRING),validated:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BFormGroup")},data:function(){return{ariaDescribedby:null}},computed:{contentColProps:function(){return this.getColProps(this.$props,"content")},labelAlignClasses:function(){return this.getAlignClasses(this.$props,"label")},labelColProps:function(){return this.getColProps(this.$props,"label")},isHorizontal:function(){return keys(this.contentColProps).length>0||keys(this.labelColProps).length>0}},watch:{ariaDescribedby:function(newValue,oldValue){newValue!==oldValue&&this.updateAriaDescribedby(newValue,oldValue)}},mounted:function(){var _this=this;this.$nextTick((function(){_this.updateAriaDescribedby(_this.ariaDescribedby)}))},methods:{getAlignClasses:function(props,prefix){return getBreakpointsUpCached().reduce((function(result,breakpoint){var propValue=props[suffixPropName(breakpoint,"".concat(prefix,"Align"))]||null;return propValue&&result.push(["text",breakpoint,propValue].filter(identity).join("-")),result}),[])},getColProps:function(props,prefix){return getBreakpointsUpCached().reduce((function(result,breakpoint){var propValue=props[suffixPropName(breakpoint,"".concat(prefix,"Cols"))];return isBoolean(propValue=""===propValue||(propValue||!1))||"auto"===propValue||(propValue=(propValue=toInteger(propValue,0))>0&&propValue),propValue&&(result[breakpoint||(isBoolean(propValue)?"col":"cols")]=propValue),result}),{})},updateAriaDescribedby:function(newValue,oldValue){var labelFor=this.labelFor;if(IS_BROWSER&&labelFor){var $input=select("#".concat(cssEscape(labelFor)),this.$refs.content);if($input){var attr="aria-describedby",newIds=(newValue||"").split(RX_SPACE_SPLIT),oldIds=(oldValue||"").split(RX_SPACE_SPLIT),ids=(getAttr($input,attr)||"").split(RX_SPACE_SPLIT).filter((function(id){return!arrayIncludes(oldIds,id)})).concat(newIds).filter((function(id,index,ids){return ids.indexOf(id)===index})).filter(identity).join(" ").trim();ids?setAttr($input,attr,ids):removeAttr($input,attr)}}},onLegendClick:function(event){if(!this.labelFor){var target=event.target,tagName=target?target.tagName:"";if(-1===LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName)){var inputs=selectAll(INPUT_SELECTOR,this.$refs.content).filter(isVisible);1===inputs.length&&attemptFocus(inputs[0])}}}},render:function(h){var state=this.computedState,feedbackAriaLive=this.feedbackAriaLive,isHorizontal=this.isHorizontal,labelFor=this.labelFor,normalizeSlot=this.normalizeSlot,safeId=this.safeId,tooltip=this.tooltip,id=safeId(),isFieldset=!labelFor,$label=h(),labelContent=normalizeSlot("label")||this.label,labelId=labelContent?safeId("_BV_label_"):null;if(labelContent||isHorizontal){var labelSize=this.labelSize,labelColProps=this.labelColProps,labelTag=isFieldset?"legend":"label";this.labelSrOnly?(labelContent&&($label=h(labelTag,{class:"sr-only",attrs:{id:labelId,for:labelFor||null}},[labelContent])),$label=h(isHorizontal?BCol:"div",{props:isHorizontal?labelColProps:{}},[$label])):$label=h(isHorizontal?BCol:labelTag,{on:isFieldset?{click:this.onLegendClick}:{},props:isHorizontal?_objectSpread2$3(_objectSpread2$3({},labelColProps),{},{tag:labelTag}):{},attrs:{id:labelId,for:labelFor||null,tabindex:isFieldset?"-1":null},class:[isFieldset?"bv-no-focus-ring":"",isHorizontal||isFieldset?"col-form-label":"",!isHorizontal&&isFieldset?"pt-0":"",isHorizontal||isFieldset?"":"d-block",labelSize?"col-form-label-".concat(labelSize):"",this.labelAlignClasses,this.labelClass]},[labelContent])}var $invalidFeedback=h(),invalidFeedbackContent=normalizeSlot("invalid-feedback")||this.invalidFeedback,invalidFeedbackId=invalidFeedbackContent?safeId("_BV_feedback_invalid_"):null;invalidFeedbackContent&&($invalidFeedback=h(BFormInvalidFeedback,{props:{ariaLive:feedbackAriaLive,id:invalidFeedbackId,state:state,tooltip:tooltip},attrs:{tabindex:invalidFeedbackContent?"-1":null}},[invalidFeedbackContent]));var $validFeedback=h(),validFeedbackContent=normalizeSlot("valid-feedback")||this.validFeedback,validFeedbackId=validFeedbackContent?safeId("_BV_feedback_valid_"):null;validFeedbackContent&&($validFeedback=h(BFormValidFeedback,{props:{ariaLive:feedbackAriaLive,id:validFeedbackId,state:state,tooltip:tooltip},attrs:{tabindex:validFeedbackContent?"-1":null}},[validFeedbackContent]));var $description=h(),descriptionContent=normalizeSlot("description")||this.description,descriptionId=descriptionContent?safeId("_BV_description_"):null;descriptionContent&&($description=h(BFormText,{attrs:{id:descriptionId,tabindex:"-1"}},[descriptionContent]));var ariaDescribedby=this.ariaDescribedby=[descriptionId,!1===state?invalidFeedbackId:null,!0===state?validFeedbackId:null].filter(identity).join(" ")||null,$content=h(isHorizontal?BCol:"div",{props:isHorizontal?this.contentColProps:{},ref:"content"},[normalizeSlot("default",{ariaDescribedby:ariaDescribedby,descriptionId:descriptionId,id:id,labelId:labelId})||h(),$invalidFeedback,$validFeedback,$description]);return h(isFieldset?"fieldset":isHorizontal?BFormRow:"div",{staticClass:"form-group",class:[{"was-validated":this.validated},this.stateClass],attrs:{id:id,disabled:isFieldset?this.disabled:null,role:isFieldset?null:"group","aria-invalid":this.computedAriaInvalid,"aria-labelledby":isFieldset&&isHorizontal?labelId:null}},isHorizontal&&isFieldset?[h(BFormRow,[$label,$content])]:[$label,$content])}},FormGroupPlugin=pluginFactory({components:{BFormGroup:BFormGroup,BFormFieldset:BFormGroup}}),formSelectionMixin=extend({computed:{selectionStart:{cache:!1,get:function(){return this.$refs.input.selectionStart},set:function(val){this.$refs.input.selectionStart=val}},selectionEnd:{cache:!1,get:function(){return this.$refs.input.selectionEnd},set:function(val){this.$refs.input.selectionEnd=val}},selectionDirection:{cache:!1,get:function(){return this.$refs.input.selectionDirection},set:function(val){this.$refs.input.selectionDirection=val}}},methods:{select:function(){var _this$$refs$input;(_this$$refs$input=this.$refs.input).select.apply(_this$$refs$input,arguments)},setSelectionRange:function(){var _this$$refs$input2;(_this$$refs$input2=this.$refs.input).setSelectionRange.apply(_this$$refs$input2,arguments)},setRangeText:function(){var _this$$refs$input3;(_this$$refs$input3=this.$refs.input).setRangeText.apply(_this$$refs$input3,arguments)}}}),_makeModelMixin$c=makeModelMixin("value",{type:PROP_TYPE_NUMBER_STRING,defaultValue:"",event:"update"}),modelMixin$b=_makeModelMixin$c.mixin,modelProps$b=_makeModelMixin$c.props,MODEL_PROP_NAME$b=_makeModelMixin$c.prop,MODEL_EVENT_NAME$b=_makeModelMixin$c.event,props$1l=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$b),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),autocomplete:makeProp(PROP_TYPE_STRING),debounce:makeProp(PROP_TYPE_NUMBER_STRING,0),formatter:makeProp(PROP_TYPE_FUNCTION),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),lazyFormatter:makeProp(PROP_TYPE_BOOLEAN,!1),number:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING),plaintext:makeProp(PROP_TYPE_BOOLEAN,!1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),trim:makeProp(PROP_TYPE_BOOLEAN,!1)})),"formTextControls"),formTextMixin=extend({mixins:[modelMixin$b],props:props$1l,data:function(){var value=this[MODEL_PROP_NAME$b];return{localValue:toString(value),vModelValue:this.modifyValue(value)}},computed:{computedClass:function(){var plaintext=this.plaintext,type=this.type,isRange="range"===type,isColor="color"===type;return[{"custom-range":isRange,"form-control-plaintext":plaintext&&!isRange&&!isColor,"form-control":isColor||!plaintext&&!isRange},this.sizeFormClass,this.stateClass]},computedDebounce:function(){return mathMax(toInteger(this.debounce,0),0)},hasFormatter:function(){return hasPropFunction(this.formatter)}},watch:_defineProperty({},MODEL_PROP_NAME$b,(function(newValue){var stringifyValue=toString(newValue),modifiedValue=this.modifyValue(newValue);stringifyValue===this.localValue&&modifiedValue===this.vModelValue||(this.clearDebounce(),this.localValue=stringifyValue,this.vModelValue=modifiedValue)})),created:function(){this.$_inputDebounceTimer=null},beforeDestroy:function(){this.clearDebounce()},methods:{clearDebounce:function(){clearTimeout(this.$_inputDebounceTimer),this.$_inputDebounceTimer=null},formatValue:function(value,event){var force=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return value=toString(value),!this.hasFormatter||this.lazyFormatter&&!force||(value=this.formatter(value,event)),value},modifyValue:function(value){return value=toString(value),this.trim&&(value=value.trim()),this.number&&(value=toFloat(value,value)),value},updateValue:function(value){var _this=this,force=arguments.length>1&&void 0!==arguments[1]&&arguments[1],lazy=this.lazy;if(!lazy||force){this.clearDebounce();var doUpdate=function(){if((value=_this.modifyValue(value))!==_this.vModelValue)_this.vModelValue=value,_this.$emit(MODEL_EVENT_NAME$b,value);else if(_this.hasFormatter){var $input=_this.$refs.input;$input&&value!==$input.value&&($input.value=value)}},debounce=this.computedDebounce;debounce>0&&!lazy&&!force?this.$_inputDebounceTimer=setTimeout(doUpdate,debounce):doUpdate()}},onInput:function(event){if(!event.target.composing){var value=event.target.value,formattedValue=this.formatValue(value,event);!1===formattedValue||event.defaultPrevented?stopEvent(event,{propagation:!1}):(this.localValue=formattedValue,this.updateValue(formattedValue),this.$emit("input",formattedValue))}},onChange:function(event){var value=event.target.value,formattedValue=this.formatValue(value,event);!1===formattedValue||event.defaultPrevented?stopEvent(event,{propagation:!1}):(this.localValue=formattedValue,this.updateValue(formattedValue,!0),this.$emit("change",formattedValue))},onBlur:function(event){var value=event.target.value,formattedValue=this.formatValue(value,event,!0);!1!==formattedValue&&(this.localValue=toString(this.modifyValue(formattedValue)),this.updateValue(formattedValue,!0)),this.$emit("blur",event)},focus:function(){this.disabled||attemptFocus(this.$el)},blur:function(){this.disabled||attemptBlur(this.$el)}}}),formValidityMixin=extend({computed:{validity:{cache:!1,get:function(){return this.$refs.input.validity}},validationMessage:{cache:!1,get:function(){return this.$refs.input.validationMessage}},willValidate:{cache:!1,get:function(){return this.$refs.input.willValidate}}},methods:{setCustomValidity:function(){var _this$$refs$input;return(_this$$refs$input=this.$refs.input).setCustomValidity.apply(_this$$refs$input,arguments)},checkValidity:function(){var _this$$refs$input2;return(_this$$refs$input2=this.$refs.input).checkValidity.apply(_this$$refs$input2,arguments)},reportValidity:function(){var _this$$refs$input3;return(_this$$refs$input3=this.$refs.input).reportValidity.apply(_this$$refs$input3,arguments)}}}),TYPES$1=["text","password","email","number","url","tel","search","range","color","date","time","datetime","datetime-local","month","week"],props$1k=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1x),props$1v),props$1u),props$1l),{},{list:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING),min:makeProp(PROP_TYPE_NUMBER_STRING),noWheel:makeProp(PROP_TYPE_BOOLEAN,!1),step:makeProp(PROP_TYPE_NUMBER_STRING),type:makeProp(PROP_TYPE_STRING,"text",(function(type){return arrayIncludes(TYPES$1,type)}))})),"BFormInput"),BFormInput=extend({name:"BFormInput",mixins:[listenersMixin,idMixin,formControlMixin,formSizeMixin,formStateMixin,formTextMixin,formSelectionMixin,formValidityMixin],props:props$1k,computed:{localType:function(){var type=this.type;return arrayIncludes(TYPES$1,type)?type:"text"},computedAttrs:function(){var type=this.localType,name=this.name,form=this.form,disabled=this.disabled,placeholder=this.placeholder,required=this.required,min=this.min,max=this.max,step=this.step;return{id:this.safeId(),name:name,form:form,type:type,disabled:disabled,placeholder:placeholder,required:required,autocomplete:this.autocomplete||null,readonly:this.readonly||this.plaintext,min:min,max:max,step:step,list:"password"!==type?this.list:null,"aria-required":required?"true":null,"aria-invalid":this.computedAriaInvalid}},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{input:this.onInput,change:this.onChange,blur:this.onBlur})}},watch:{noWheel:function(newValue){this.setWheelStopper(newValue)}},mounted:function(){this.setWheelStopper(this.noWheel)},deactivated:function(){this.setWheelStopper(!1)},activated:function(){this.setWheelStopper(this.noWheel)},beforeDestroy:function(){this.setWheelStopper(!1)},methods:{setWheelStopper:function(on){var input=this.$el;eventOnOff(on,input,"focus",this.onWheelFocus),eventOnOff(on,input,"blur",this.onWheelBlur),on||eventOff(document,"wheel",this.stopWheel)},onWheelFocus:function(){eventOn(document,"wheel",this.stopWheel)},onWheelBlur:function(){eventOff(document,"wheel",this.stopWheel)},stopWheel:function(event){stopEvent(event,{propagation:!1}),attemptBlur(this.$el)}},render:function(h){return h("input",{class:this.computedClass,attrs:this.computedAttrs,domProps:{value:this.localValue},on:this.computedListeners,ref:"input"})}}),FormInputPlugin=pluginFactory({components:{BFormInput:BFormInput,BInput:BFormInput}}),props$1j=makePropsConfigurable(props$1q,"BFormRadioGroup"),BFormRadioGroup=extend({name:"BFormRadioGroup",mixins:[formRadioCheckGroupMixin],provide:function(){var _this=this;return{getBvRadioGroup:function(){return _this}}},props:props$1j,computed:{isRadioGroup:function(){return!0}}}),FormRadioPlugin=pluginFactory({components:{BFormRadio:BFormRadio,BRadio:BFormRadio,BFormRadioGroup:BFormRadioGroup,BRadioGroup:BFormRadioGroup}}),_makeModelMixin$b=makeModelMixin("value",{type:PROP_TYPE_NUMBER_STRING,event:"change"}),modelMixin$a=_makeModelMixin$b.mixin,modelProps$a=_makeModelMixin$b.props,MODEL_PROP_NAME$a=_makeModelMixin$b.prop,MODEL_EVENT_NAME$a=_makeModelMixin$b.event,computeStars=function(stars){return mathMax(3,toInteger(stars,5))},clampValue=function(value,min,max){return mathMax(mathMin(value,max),min)},BVFormRatingStar=extend({name:"BVFormRatingStar",mixins:[normalizeSlotMixin],props:{disabled:makeProp(PROP_TYPE_BOOLEAN,!1),focused:makeProp(PROP_TYPE_BOOLEAN,!1),hasClear:makeProp(PROP_TYPE_BOOLEAN,!1),rating:makeProp(PROP_TYPE_NUMBER,0),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),star:makeProp(PROP_TYPE_NUMBER,0),variant:makeProp(PROP_TYPE_STRING)},methods:{onClick:function(event){this.disabled||this.readonly||(stopEvent(event,{propagation:!1}),this.$emit("selected",this.star))}},render:function(h){var rating=this.rating,star=this.star,focused=this.focused,hasClear=this.hasClear,variant=this.variant,disabled=this.disabled,readonly=this.readonly,minStar=hasClear?0:1,type=rating>=star?"full":rating>=star-.5?"half":"empty",slotScope={variant:variant,disabled:disabled,readonly:readonly};return h("span",{staticClass:"b-rating-star",class:{focused:focused&&rating===star||!toInteger(rating)&&star===minStar,"b-rating-star-empty":"empty"===type,"b-rating-star-half":"half"===type,"b-rating-star-full":"full"===type},attrs:{tabindex:disabled||readonly?null:"-1"},on:{click:this.onClick}},[h("span",{staticClass:"b-rating-icon"},[this.normalizeSlot(type,slotScope)])])}}),props$1i=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$a),omit(props$1x,["required","autofocus"])),props$1v),{},{color:makeProp(PROP_TYPE_STRING),iconClear:makeProp(PROP_TYPE_STRING,"x"),iconEmpty:makeProp(PROP_TYPE_STRING,"star"),iconFull:makeProp(PROP_TYPE_STRING,"star-fill"),iconHalf:makeProp(PROP_TYPE_STRING,"star-half"),inline:makeProp(PROP_TYPE_BOOLEAN,!1),locale:makeProp(PROP_TYPE_ARRAY_STRING),noBorder:makeProp(PROP_TYPE_BOOLEAN,!1),precision:makeProp(PROP_TYPE_NUMBER_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),showClear:makeProp(PROP_TYPE_BOOLEAN,!1),showValue:makeProp(PROP_TYPE_BOOLEAN,!1),showValueMax:makeProp(PROP_TYPE_BOOLEAN,!1),stars:makeProp(PROP_TYPE_NUMBER_STRING,5,(function(value){return toInteger(value)>=3})),variant:makeProp(PROP_TYPE_STRING)})),"BFormRating"),BFormRating=extend({name:"BFormRating",components:{BIconStar:BIconStar,BIconStarHalf:BIconStarHalf,BIconStarFill:BIconStarFill,BIconX:BIconX},mixins:[idMixin,modelMixin$a,formSizeMixin],props:props$1i,data:function(){var value=toFloat(this[MODEL_PROP_NAME$a],null),stars=computeStars(this.stars);return{localValue:isNull(value)?null:clampValue(value,0,stars),hasFocus:!1}},computed:{computedStars:function(){return computeStars(this.stars)},computedRating:function(){var value=toFloat(this.localValue,0),precision=toInteger(this.precision,3);return clampValue(toFloat(value.toFixed(precision)),0,this.computedStars)},computedLocale:function(){var locales=concat(this.locale).filter(identity);return new Intl.NumberFormat(locales).resolvedOptions().locale},isInteractive:function(){return!this.disabled&&!this.readonly},isRTL:function(){return isLocaleRTL(this.computedLocale)},formattedRating:function(){var precision=toInteger(this.precision),showValueMax=this.showValueMax,locale=this.computedLocale,formatOptions={notation:"standard",minimumFractionDigits:isNaN(precision)?0:precision,maximumFractionDigits:isNaN(precision)?3:precision},stars=this.computedStars.toLocaleString(locale),value=this.localValue;return value=isNull(value)?showValueMax?"-":"":value.toLocaleString(locale,formatOptions),showValueMax?"".concat(value,"/").concat(stars):value}},watch:(_watch$b={},_defineProperty(_watch$b,MODEL_PROP_NAME$a,(function(newValue,oldValue){if(newValue!==oldValue){var value=toFloat(newValue,null);this.localValue=isNull(value)?null:clampValue(value,0,this.computedStars)}})),_defineProperty(_watch$b,"localValue",(function(newValue,oldValue){newValue!==oldValue&&newValue!==(this.value||0)&&this.$emit(MODEL_EVENT_NAME$a,newValue||null)})),_defineProperty(_watch$b,"disabled",(function(newValue){newValue&&(this.hasFocus=!1,this.blur())})),_watch$b),methods:{focus:function(){this.disabled||attemptFocus(this.$el)},blur:function(){this.disabled||attemptBlur(this.$el)},onKeydown:function(event){var keyCode=event.keyCode;if(this.isInteractive&&arrayIncludes([CODE_LEFT,CODE_DOWN,CODE_RIGHT,CODE_UP],keyCode)){stopEvent(event,{propagation:!1});var value=toInteger(this.localValue,0),min=this.showClear?0:1,stars=this.computedStars,amountRtl=this.isRTL?-1:1;keyCode===CODE_LEFT?this.localValue=clampValue(value-amountRtl,min,stars)||null:keyCode===CODE_RIGHT?this.localValue=clampValue(value+amountRtl,min,stars):keyCode===CODE_DOWN?this.localValue=clampValue(value-1,min,stars)||null:keyCode===CODE_UP&&(this.localValue=clampValue(value+1,min,stars))}},onSelected:function(value){this.isInteractive&&(this.localValue=value)},onFocus:function(event){this.hasFocus=!!this.isInteractive&&"focus"===event.type},renderIcon:function(icon){return this.$createElement(BIcon,{props:{icon:icon,variant:this.disabled||this.color?null:this.variant||null}})},iconEmptyFn:function(){return this.renderIcon(this.iconEmpty)},iconHalfFn:function(){return this.renderIcon(this.iconHalf)},iconFullFn:function(){return this.renderIcon(this.iconFull)},iconClearFn:function(){return this.$createElement(BIcon,{props:{icon:this.iconClear}})}},render:function(h){var _this=this,disabled=this.disabled,readonly=this.readonly,name=this.name,form=this.form,inline=this.inline,variant=this.variant,color=this.color,noBorder=this.noBorder,hasFocus=this.hasFocus,computedRating=this.computedRating,computedStars=this.computedStars,formattedRating=this.formattedRating,showClear=this.showClear,isRTL=this.isRTL,isInteractive=this.isInteractive,$scopedSlots=this.$scopedSlots,$content=[];if(showClear&&!disabled&&!readonly){var $icon=h("span",{staticClass:"b-rating-icon"},[($scopedSlots["icon-clear"]||this.iconClearFn)()]);$content.push(h("span",{staticClass:"b-rating-star b-rating-star-clear flex-grow-1",class:{focused:hasFocus&&0===computedRating},attrs:{tabindex:isInteractive?"-1":null},on:{click:function(){return _this.onSelected(null)}},key:"clear"},[$icon]))}for(var index=0;index1&&void 0!==arguments[1]?arguments[1]:null;if(isPlainObject(option)){var value=get(option,this.valueField),text=get(option,this.textField),options=get(option,this.optionsField,null);return isNull(options)?{value:isUndefined(value)?key||text:value,text:String(isUndefined(text)?key:text),html:get(option,this.htmlField),disabled:Boolean(get(option,this.disabledField))}:{label:String(get(option,this.labelField)||text),options:this.normalizeOptions(options)}}return{value:key||option,text:String(option),disabled:!1}}}}),props$1f=makePropsConfigurable({disabled:makeProp(PROP_TYPE_BOOLEAN,!1),value:makeProp(undefined,void 0,!0)},"BFormSelectOption"),BFormSelectOption=extend({name:"BFormSelectOption",functional:!0,props:props$1f,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,value=props.value;return h("option",a(data,{attrs:{disabled:props.disabled},domProps:{value:value}}),children)}}),props$1e=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$1D),{},{label:makeProp(PROP_TYPE_STRING,void 0,!0)})),"BFormSelectOptionGroup"),BFormSelectOptionGroup=extend({name:"BFormSelectOptionGroup",mixins:[normalizeSlotMixin,formOptionsMixin],props:props$1e,render:function(h){var label=this.label,$options=this.formOptions.map((function(option,index){var value=option.value,text=option.text,html=option.html,disabled=option.disabled;return h(BFormSelectOption,{attrs:{value:value,disabled:disabled},domProps:htmlOrText(html,text),key:"option_".concat(index)})}));return h("optgroup",{attrs:{label:label}},[this.normalizeSlot("first"),$options,this.normalizeSlot()])}}),props$1d=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1h),props$1x),props$1w),props$1v),props$1u),{},{ariaInvalid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),multiple:makeProp(PROP_TYPE_BOOLEAN,!1),selectSize:makeProp(PROP_TYPE_NUMBER,0)})),"BFormSelect"),BFormSelect=extend({name:"BFormSelect",mixins:[idMixin,mixin,formControlMixin,formSizeMixin,formStateMixin,formCustomMixin,optionsMixin,normalizeSlotMixin],props:props$1d,data:function(){return{localValue:this[prop]}},computed:{computedSelectSize:function(){return this.plain||0!==this.selectSize?this.selectSize:null},inputClass:function(){return[this.plain?"form-control":"custom-select",this.size&&this.plain?"form-control-".concat(this.size):null,this.size&&!this.plain?"custom-select-".concat(this.size):null,this.stateClass]}},watch:{value:function(newValue){this.localValue=newValue},localValue:function(){this.$emit(event,this.localValue)}},methods:{focus:function(){attemptFocus(this.$refs.input)},blur:function(){attemptBlur(this.$refs.input)},onChange:function(event){var _this=this,target=event.target,selectedValue=from(target.options).filter((function(o){return o.selected})).map((function(o){return"_value"in o?o._value:o.value}));this.localValue=target.multiple?selectedValue:selectedValue[0],this.$nextTick((function(){_this.$emit("change",_this.localValue)}))}},render:function(h){var name=this.name,disabled=this.disabled,required=this.required,size=this.computedSelectSize,value=this.localValue,$options=this.formOptions.map((function(option,index){var value=option.value,label=option.label,options=option.options,disabled=option.disabled,key="option_".concat(index);return isArray(options)?h(BFormSelectOptionGroup,{props:{label:label,options:options},key:key}):h(BFormSelectOption,{props:{value:value,disabled:disabled},domProps:htmlOrText(option.html,option.text),key:key})}));return h("select",{class:this.inputClass,attrs:{id:this.safeId(),name:name,form:this.form||null,multiple:this.multiple||null,size:size,disabled:disabled,required:required,"aria-required":required?"true":null,"aria-invalid":this.computedAriaInvalid},on:{change:this.onChange},directives:[{name:"model",value:value}],ref:"input"},[this.normalizeSlot("first"),$options,this.normalizeSlot()])}}),FormSelectPlugin=pluginFactory({components:{BFormSelect:BFormSelect,BFormSelectOption:BFormSelectOption,BFormSelectOptionGroup:BFormSelectOptionGroup,BSelect:BFormSelect,BSelectOption:BFormSelectOption,BSelectOptionGroup:BFormSelectOptionGroup}}),_makeModelMixin$9=makeModelMixin("value",{type:PROP_TYPE_BOOLEAN_NUMBER}),modelMixin$9=_makeModelMixin$9.mixin,modelProps$9=_makeModelMixin$9.props,MODEL_PROP_NAME$9=_makeModelMixin$9.prop,MODEL_EVENT_NAME$9=_makeModelMixin$9.event,KEY_CODES=[CODE_UP,CODE_DOWN,CODE_HOME,CODE_END,33,34],props$1c=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$9),omit(props$1x,["required","autofocus"])),props$1v),props$1u),{},{ariaControls:makeProp(PROP_TYPE_STRING),ariaLabel:makeProp(PROP_TYPE_STRING),formatterFn:makeProp(PROP_TYPE_FUNCTION),inline:makeProp(PROP_TYPE_BOOLEAN,!1),labelDecrement:makeProp(PROP_TYPE_STRING,"Decrement"),labelIncrement:makeProp(PROP_TYPE_STRING,"Increment"),locale:makeProp(PROP_TYPE_ARRAY_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,100),min:makeProp(PROP_TYPE_NUMBER_STRING,1),placeholder:makeProp(PROP_TYPE_STRING),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),repeatDelay:makeProp(PROP_TYPE_NUMBER_STRING,500),repeatInterval:makeProp(PROP_TYPE_NUMBER_STRING,100),repeatStepMultiplier:makeProp(PROP_TYPE_NUMBER_STRING,4),repeatThreshold:makeProp(PROP_TYPE_NUMBER_STRING,10),step:makeProp(PROP_TYPE_NUMBER_STRING,1),vertical:makeProp(PROP_TYPE_BOOLEAN,!1),wrap:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BFormSpinbutton"),BFormSpinbutton=extend({name:"BFormSpinbutton",mixins:[attrsMixin,idMixin,modelMixin$9,formSizeMixin,formStateMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$1c,data:function(){return{localValue:toFloat(this[MODEL_PROP_NAME$9],null),hasFocus:!1}},computed:{required:function(){return!1},spinId:function(){return this.safeId()},computedInline:function(){return this.inline&&!this.vertical},computedReadonly:function(){return this.readonly&&!this.disabled},computedRequired:function(){return this.required&&!this.computedReadonly&&!this.disabled},computedStep:function(){return toFloat(this.step,1)},computedMin:function(){return toFloat(this.min,1)},computedMax:function(){var max=toFloat(this.max,100),step=this.computedStep,min=this.computedMin;return mathFloor((max-min)/step)*step+min},computedDelay:function(){var delay=toInteger(this.repeatDelay,0);return delay>0?delay:500},computedInterval:function(){var interval=toInteger(this.repeatInterval,0);return interval>0?interval:100},computedThreshold:function(){return mathMax(toInteger(this.repeatThreshold,10),1)},computedStepMultiplier:function(){return mathMax(toInteger(this.repeatStepMultiplier,4),1)},computedPrecision:function(){var step=this.computedStep;return mathFloor(step)===step?0:(step.toString().split(".")[1]||"").length},computedMultiplier:function(){return mathPow(10,this.computedPrecision||0)},valueAsFixed:function(){var value=this.localValue;return isNull(value)?"":value.toFixed(this.computedPrecision)},computedLocale:function(){var locales=concat(this.locale).filter(identity);return new Intl.NumberFormat(locales).resolvedOptions().locale},computedRTL:function(){return isLocaleRTL(this.computedLocale)},defaultFormatter:function(){var precision=this.computedPrecision;return new Intl.NumberFormat(this.computedLocale,{style:"decimal",useGrouping:!1,minimumIntegerDigits:1,minimumFractionDigits:precision,maximumFractionDigits:precision,notation:"standard"}).format},computedFormatter:function(){var formatterFn=this.formatterFn;return hasPropFunction(formatterFn)?formatterFn:this.defaultFormatter},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{role:"group",lang:this.computedLocale,tabindex:this.disabled?null:"-1",title:this.ariaLabel})},computedSpinAttrs:function(){var spinId=this.spinId,value=this.localValue,required=this.computedRequired,disabled=this.disabled,state=this.state,computedFormatter=this.computedFormatter,hasValue=!isNull(value);return _objectSpread2$3(_objectSpread2$3({dir:this.computedRTL?"rtl":"ltr"},this.bvAttrs),{},{id:spinId,role:"spinbutton",tabindex:disabled?null:"0","aria-live":"off","aria-label":this.ariaLabel||null,"aria-controls":this.ariaControls||null,"aria-invalid":!1===state||!hasValue&&required?"true":null,"aria-required":required?"true":null,"aria-valuemin":toString(this.computedMin),"aria-valuemax":toString(this.computedMax),"aria-valuenow":hasValue?value:null,"aria-valuetext":hasValue?computedFormatter(value):null})}},watch:(_watch$a={},_defineProperty(_watch$a,MODEL_PROP_NAME$9,(function(value){this.localValue=toFloat(value,null)})),_defineProperty(_watch$a,"localValue",(function(value){this.$emit(MODEL_EVENT_NAME$9,value)})),_defineProperty(_watch$a,"disabled",(function(_disabled){_disabled&&this.clearRepeat()})),_defineProperty(_watch$a,"readonly",(function(_readonly){_readonly&&this.clearRepeat()})),_watch$a),created:function(){this.$_autoDelayTimer=null,this.$_autoRepeatTimer=null,this.$_keyIsDown=!1},beforeDestroy:function(){this.clearRepeat()},deactivated:function(){this.clearRepeat()},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.spinner)},blur:function(){this.disabled||attemptBlur(this.$refs.spinner)},emitChange:function(){this.$emit("change",this.localValue)},stepValue:function(direction){var value=this.localValue;if(!this.disabled&&!isNull(value)){var step=this.computedStep*direction,min=this.computedMin,max=this.computedMax,multiplier=this.computedMultiplier,wrap=this.wrap;value=mathRound((value-min)/step)*step+min+step,value=mathRound(value*multiplier)/multiplier,this.localValue=value>max?wrap?min:max:value0&&void 0!==arguments[0]?arguments[0]:1,value=this.localValue;isNull(value)?this.localValue=this.computedMin:this.stepValue(1*multiplier)},stepDown:function(){var multiplier=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,value=this.localValue;isNull(value)?this.localValue=this.wrap?this.computedMax:this.computedMin:this.stepValue(-1*multiplier)},onKeydown:function(event){var keyCode=event.keyCode,altKey=event.altKey,ctrlKey=event.ctrlKey,metaKey=event.metaKey;if(!(this.disabled||this.readonly||altKey||ctrlKey||metaKey)&&arrayIncludes(KEY_CODES,keyCode)){if(stopEvent(event,{propagation:!1}),this.$_keyIsDown)return;this.resetTimers(),arrayIncludes([CODE_UP,CODE_DOWN],keyCode)?(this.$_keyIsDown=!0,keyCode===CODE_UP?this.handleStepRepeat(event,this.stepUp):keyCode===CODE_DOWN&&this.handleStepRepeat(event,this.stepDown)):33===keyCode?this.stepUp(this.computedStepMultiplier):34===keyCode?this.stepDown(this.computedStepMultiplier):keyCode===CODE_HOME?this.localValue=this.computedMin:keyCode===CODE_END&&(this.localValue=this.computedMax)}},onKeyup:function(event){var keyCode=event.keyCode,altKey=event.altKey,ctrlKey=event.ctrlKey,metaKey=event.metaKey;this.disabled||this.readonly||altKey||ctrlKey||metaKey||arrayIncludes(KEY_CODES,keyCode)&&(stopEvent(event,{propagation:!1}),this.resetTimers(),this.$_keyIsDown=!1,this.emitChange())},handleStepRepeat:function(event,stepper){var _this=this,_ref=event||{},type=_ref.type,button=_ref.button;if(!this.disabled&&!this.readonly){if("mousedown"===type&&button)return;this.resetTimers(),stepper(1);var threshold=this.computedThreshold,multiplier=this.computedStepMultiplier,delay=this.computedDelay,interval=this.computedInterval;this.$_autoDelayTimer=setTimeout((function(){var count=0;_this.$_autoRepeatTimer=setInterval((function(){stepper(count0&&arr.indexOf(tag)===index}))},processEventValue=function(event){return isString(event)?event:isEvent(event)&&event.target.value||""},props$1a=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$8),props$1x),props$1v),props$1u),{},{addButtonText:makeProp(PROP_TYPE_STRING,"Add"),addButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),addOnChange:makeProp(PROP_TYPE_BOOLEAN,!1),duplicateTagText:makeProp(PROP_TYPE_STRING,"Duplicate tag(s)"),feedbackAriaLive:makeProp(PROP_TYPE_STRING,"assertive"),ignoreInputFocusSelector:makeProp(PROP_TYPE_ARRAY_STRING,DEFAULT_INPUT_FOCUS_SELECTOR),inputAttrs:makeProp(PROP_TYPE_OBJECT,{}),inputClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),inputId:makeProp(PROP_TYPE_STRING),inputType:makeProp(PROP_TYPE_STRING,"text",(function(value){return arrayIncludes(TYPES,value)})),invalidTagText:makeProp(PROP_TYPE_STRING,"Invalid tag(s)"),limit:makeProp(PROP_TYPE_NUMBER),limitTagsText:makeProp(PROP_TYPE_STRING,"Tag limit reached"),noAddOnEnter:makeProp(PROP_TYPE_BOOLEAN,!1),noOuterFocus:makeProp(PROP_TYPE_BOOLEAN,!1),noTagRemove:makeProp(PROP_TYPE_BOOLEAN,!1),placeholder:makeProp(PROP_TYPE_STRING,"Add tag..."),removeOnDelete:makeProp(PROP_TYPE_BOOLEAN,!1),separator:makeProp(PROP_TYPE_ARRAY_STRING),tagClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tagPills:makeProp(PROP_TYPE_BOOLEAN,!1),tagRemoveLabel:makeProp(PROP_TYPE_STRING,"Remove tag"),tagRemovedLabel:makeProp(PROP_TYPE_STRING,"Tag removed"),tagValidator:makeProp(PROP_TYPE_FUNCTION),tagVariant:makeProp(PROP_TYPE_STRING,"secondary")})),"BFormTags"),BFormTags=extend({name:"BFormTags",mixins:[listenersMixin,idMixin,modelMixin$8,formControlMixin,formSizeMixin,formStateMixin,normalizeSlotMixin],props:props$1a,data:function(){return{hasFocus:!1,newTag:"",tags:[],removedTags:[],tagsState:{all:[],valid:[],invalid:[],duplicate:[]},focusState:null}},computed:{computedInputId:function(){return this.inputId||this.safeId("__input__")},computedInputType:function(){return arrayIncludes(TYPES,this.inputType)?this.inputType:"text"},computedInputAttrs:function(){var disabled=this.disabled,form=this.form;return _objectSpread2$3(_objectSpread2$3({},this.inputAttrs),{},{id:this.computedInputId,value:this.newTag,disabled:disabled,form:form})},computedInputHandlers:function(){return _objectSpread2$3(_objectSpread2$3({},omit(this.bvListeners,["focusin","focusout"])),{},{blur:this.onInputBlur,change:this.onInputChange,focus:this.onInputFocus,input:this.onInputInput,keydown:this.onInputKeydown,reset:this.reset})},computedSeparator:function(){return concat(this.separator).filter(isString).filter(identity).join("")},computedSeparatorRegExp:function(){var separator=this.computedSeparator;return separator?new RegExp("[".concat(escapeRegExp(separator).replace(RX_SPACES,"\\s"),"]+")):null},computedJoiner:function(){var joiner=this.computedSeparator.charAt(0);return" "!==joiner?"".concat(joiner," "):joiner},computeIgnoreInputFocusSelector:function(){return concat(this.ignoreInputFocusSelector).filter(identity).join(",").trim()},disableAddButton:function(){var _this=this,newTag=trim(this.newTag);return""===newTag||!this.splitTags(newTag).some((function(t){return!arrayIncludes(_this.tags,t)&&_this.validateTag(t)}))},duplicateTags:function(){return this.tagsState.duplicate},hasDuplicateTags:function(){return this.duplicateTags.length>0},invalidTags:function(){return this.tagsState.invalid},hasInvalidTags:function(){return this.invalidTags.length>0},isLimitReached:function(){var limit=this.limit;return isNumber(limit)&&limit>=0&&this.tags.length>=limit}},watch:(_watch$9={},_defineProperty(_watch$9,MODEL_PROP_NAME$8,(function(newValue){this.tags=cleanTags(newValue)})),_defineProperty(_watch$9,"tags",(function(newValue,oldValue){looseEqual(newValue,this[MODEL_PROP_NAME$8])||this.$emit(MODEL_EVENT_NAME$8,newValue),looseEqual(newValue,oldValue)||(newValue=concat(newValue).filter(identity),oldValue=concat(oldValue).filter(identity),this.removedTags=oldValue.filter((function(old){return!arrayIncludes(newValue,old)})))})),_defineProperty(_watch$9,"tagsState",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("tag-state",newValue.valid,newValue.invalid,newValue.duplicate)})),_watch$9),created:function(){this.tags=cleanTags(this[MODEL_PROP_NAME$8])},mounted:function(){var $form=closest("form",this.$el);$form&&eventOn($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},beforeDestroy:function(){var $form=closest("form",this.$el);$form&&eventOff($form,"reset",this.reset,EVENT_OPTIONS_PASSIVE)},methods:{addTag:function(newTag){if(newTag=isString(newTag)?newTag:this.newTag,!this.disabled&&""!==trim(newTag)&&!this.isLimitReached){var parsed=this.parseTags(newTag);if(parsed.valid.length>0||0===parsed.all.length)if(matches(this.getInput(),"select"))this.newTag="";else{var invalidAndDuplicates=[].concat(_toConsumableArray$1(parsed.invalid),_toConsumableArray$1(parsed.duplicate));this.newTag=parsed.all.filter((function(tag){return arrayIncludes(invalidAndDuplicates,tag)})).join(this.computedJoiner).concat(invalidAndDuplicates.length>0?this.computedJoiner.charAt(0):"")}parsed.valid.length>0&&(this.tags=concat(this.tags,parsed.valid)),this.tagsState=parsed,this.focus()}},removeTag:function(tag){this.disabled||(this.tags=this.tags.filter((function(t){return t!==tag})))},reset:function(){var _this2=this;this.newTag="",this.tags=[],this.$nextTick((function(){_this2.removedTags=[],_this2.tagsState={all:[],valid:[],invalid:[],duplicate:[]}}))},onInputInput:function(event){if(!(this.disabled||isEvent(event)&&event.target.composing)){var newTag=processEventValue(event),separatorRe=this.computedSeparatorRegExp;this.newTag!==newTag&&(this.newTag=newTag),newTag=toString(newTag).replace(RX_TRIM_LEFT,""),separatorRe&&separatorRe.test(newTag.slice(-1))?this.addTag():this.tagsState=""===newTag?{all:[],valid:[],invalid:[],duplicate:[]}:this.parseTags(newTag)}},onInputChange:function(event){if(!this.disabled&&this.addOnChange){var newTag=processEventValue(event);this.newTag!==newTag&&(this.newTag=newTag),this.addTag()}},onInputKeydown:function(event){if(!this.disabled&&isEvent(event)){var keyCode=event.keyCode,value=event.target.value||"";this.noAddOnEnter||keyCode!==CODE_ENTER?!this.removeOnDelete||8!==keyCode&&46!==keyCode||""!==value||(stopEvent(event,{propagation:!1}),this.tags=this.tags.slice(0,-1)):(stopEvent(event,{propagation:!1}),this.addTag())}},onClick:function(event){var _this3=this,ignoreFocusSelector=this.computeIgnoreInputFocusSelector;ignoreFocusSelector&&closest(ignoreFocusSelector,event.target,!0)||this.$nextTick((function(){_this3.focus()}))},onInputFocus:function(event){var _this4=this;"out"!==this.focusState&&(this.focusState="in",this.$nextTick((function(){requestAF((function(){_this4.hasFocus&&(_this4.$emit("focus",event),_this4.focusState=null)}))})))},onInputBlur:function(event){var _this5=this;"in"!==this.focusState&&(this.focusState="out",this.$nextTick((function(){requestAF((function(){_this5.hasFocus||(_this5.$emit("blur",event),_this5.focusState=null)}))})))},onFocusin:function(event){this.hasFocus=!0,this.$emit("focusin",event)},onFocusout:function(event){this.hasFocus=!1,this.$emit("focusout",event)},handleAutofocus:function(){var _this6=this;this.$nextTick((function(){requestAF((function(){_this6.autofocus&&_this6.focus()}))}))},focus:function(){this.disabled||attemptFocus(this.getInput())},blur:function(){this.disabled||attemptBlur(this.getInput())},splitTags:function(newTag){newTag=toString(newTag);var separatorRe=this.computedSeparatorRegExp;return(separatorRe?newTag.split(separatorRe):[newTag]).map(trim).filter(identity)},parseTags:function(newTag){var _this7=this,tags=this.splitTags(newTag),parsed={all:tags,valid:[],invalid:[],duplicate:[]};return tags.forEach((function(tag){arrayIncludes(_this7.tags,tag)||arrayIncludes(parsed.valid,tag)?arrayIncludes(parsed.duplicate,tag)||parsed.duplicate.push(tag):_this7.validateTag(tag)?parsed.valid.push(tag):arrayIncludes(parsed.invalid,tag)||parsed.invalid.push(tag)})),parsed},validateTag:function(tag){var tagValidator=this.tagValidator;return!hasPropFunction(tagValidator)||tagValidator(tag)},getInput:function(){return select("#".concat(cssEscape(this.computedInputId)),this.$el)},defaultRender:function(_ref){var addButtonText=_ref.addButtonText,addButtonVariant=_ref.addButtonVariant,addTag=_ref.addTag,disableAddButton=_ref.disableAddButton,disabled=_ref.disabled,duplicateTagText=_ref.duplicateTagText,inputAttrs=_ref.inputAttrs,inputClass=_ref.inputClass,inputHandlers=_ref.inputHandlers,inputType=_ref.inputType,invalidTagText=_ref.invalidTagText,isDuplicate=_ref.isDuplicate,isInvalid=_ref.isInvalid,isLimitReached=_ref.isLimitReached,limitTagsText=_ref.limitTagsText,noTagRemove=_ref.noTagRemove,placeholder=_ref.placeholder,removeTag=_ref.removeTag,tagClass=_ref.tagClass,tagPills=_ref.tagPills,tagRemoveLabel=_ref.tagRemoveLabel,tagVariant=_ref.tagVariant,tags=_ref.tags,h=this.$createElement,$tags=tags.map((function(tag){return tag=toString(tag),h(BFormTag,{class:tagClass,props:{disabled:disabled,noRemove:noTagRemove,pill:tagPills,removeLabel:tagRemoveLabel,tag:"li",title:tag,variant:tagVariant},on:{remove:function(){return removeTag(tag)}},key:"tags_".concat(tag)},tag)})),invalidFeedbackId=invalidTagText&&isInvalid?this.safeId("__invalid_feedback__"):null,duplicateFeedbackId=duplicateTagText&&isDuplicate?this.safeId("__duplicate_feedback__"):null,limitFeedbackId=limitTagsText&&isLimitReached?this.safeId("__limit_feedback__"):null,ariaDescribedby=[inputAttrs["aria-describedby"],invalidFeedbackId,duplicateFeedbackId,limitFeedbackId].filter(identity).join(" "),$input=h("input",{staticClass:"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0",class:inputClass,style:{outline:0,minWidth:"5rem"},attrs:_objectSpread2$3(_objectSpread2$3({},inputAttrs),{},{"aria-describedby":ariaDescribedby||null,type:inputType,placeholder:placeholder||null}),domProps:{value:inputAttrs.value},on:inputHandlers,directives:[{name:"model",value:inputAttrs.value}],ref:"input"}),$button=h(BButton,{staticClass:"b-form-tags-button py-0",class:{invisible:disableAddButton},style:{fontSize:"90%"},props:{disabled:disableAddButton||isLimitReached,variant:addButtonVariant},on:{click:function(){return addTag()}},ref:"button"},[this.normalizeSlot("add-button-text")||addButtonText]),tagListId=this.safeId("__tag_list__"),$field=h("li",{staticClass:"b-form-tags-field flex-grow-1",attrs:{role:"none","aria-live":"off","aria-controls":tagListId},key:"tags_field"},[h("div",{staticClass:"d-flex",attrs:{role:"group"}},[$input,$button])]),$ul=h("ul",{staticClass:"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center",attrs:{id:tagListId},key:"tags_list"},[$tags,$field]),$feedback=h();if(invalidTagText||duplicateTagText||limitTagsText){var ariaLive=this.feedbackAriaLive,joiner=this.computedJoiner,$invalid=h();invalidFeedbackId&&($invalid=h(BFormInvalidFeedback,{props:{id:invalidFeedbackId,ariaLive:ariaLive,forceShow:!0},key:"tags_invalid_feedback"},[this.invalidTagText,": ",this.invalidTags.join(joiner)]));var $duplicate=h();duplicateFeedbackId&&($duplicate=h(BFormText,{props:{id:duplicateFeedbackId,ariaLive:ariaLive},key:"tags_duplicate_feedback"},[this.duplicateTagText,": ",this.duplicateTags.join(joiner)]));var $limit=h();limitFeedbackId&&($limit=h(BFormText,{props:{id:limitFeedbackId,ariaLive:ariaLive},key:"tags_limit_feedback"},[limitTagsText])),$feedback=h("div",{attrs:{"aria-live":"polite","aria-atomic":"true"},key:"tags_feedback"},[$invalid,$duplicate,$limit])}return[$ul,$feedback]}},render:function(h){var name=this.name,disabled=this.disabled,required=this.required,form=this.form,tags=this.tags,computedInputId=this.computedInputId,hasFocus=this.hasFocus,noOuterFocus=this.noOuterFocus,scope=_objectSpread2$3({tags:tags.slice(),inputAttrs:this.computedInputAttrs,inputType:this.computedInputType,inputHandlers:this.computedInputHandlers,removeTag:this.removeTag,addTag:this.addTag,reset:this.reset,inputId:computedInputId,isInvalid:this.hasInvalidTags,invalidTags:this.invalidTags.slice(),isDuplicate:this.hasDuplicateTags,duplicateTags:this.duplicateTags.slice(),isLimitReached:this.isLimitReached,disableAddButton:this.disableAddButton},pick$1(this.$props,["addButtonText","addButtonVariant","disabled","duplicateTagText","form","inputClass","invalidTagText","limit","limitTagsText","noTagRemove","placeholder","required","separator","size","state","tagClass","tagPills","tagRemoveLabel","tagVariant"])),$content=this.normalizeSlot("default",scope)||this.defaultRender(scope),$output=h("output",{staticClass:"sr-only",attrs:{id:this.safeId("__selected_tags__"),role:"status",for:computedInputId,"aria-live":hasFocus?"polite":"off","aria-atomic":"true","aria-relevant":"additions text"}},this.tags.join(", ")),$removed=h("div",{staticClass:"sr-only",attrs:{id:this.safeId("__removed_tags__"),role:"status","aria-live":hasFocus?"assertive":"off","aria-atomic":"true"}},this.removedTags.length>0?"(".concat(this.tagRemovedLabel,") ").concat(this.removedTags.join(", ")):""),$hidden=h();if(name&&!disabled){var hasTags=tags.length>0;$hidden=(hasTags?tags:[""]).map((function(tag){return h("input",{class:{"sr-only":!hasTags},attrs:{type:hasTags?"hidden":"text",value:tag,required:required,name:name,form:form},key:"tag_input_".concat(tag)})}))}return h("div",{staticClass:"b-form-tags form-control h-auto",class:[{focus:hasFocus&&!noOuterFocus&&!disabled,disabled:disabled},this.sizeFormClass,this.stateClass],attrs:{id:this.safeId(),role:"group",tabindex:disabled||noOuterFocus?null:"-1","aria-describedby":this.safeId("__selected_tags__")},on:{click:this.onClick,focusin:this.onFocusin,focusout:this.onFocusout}},[$output,$removed,$content,$hidden])}}),FormTagsPlugin=pluginFactory({components:{BFormTags:BFormTags,BTags:BFormTags,BFormTag:BFormTag,BTag:BFormTag}}),props$19=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$1x),props$1v),props$1u),props$1l),{},{maxRows:makeProp(PROP_TYPE_NUMBER_STRING),noAutoShrink:makeProp(PROP_TYPE_BOOLEAN,!1),noResize:makeProp(PROP_TYPE_BOOLEAN,!1),rows:makeProp(PROP_TYPE_NUMBER_STRING,2),wrap:makeProp(PROP_TYPE_STRING,"soft")})),"BFormTextarea"),BFormTextarea=extend({name:"BFormTextarea",directives:{"b-visible":VBVisible},mixins:[listenersMixin,idMixin,listenOnRootMixin,formControlMixin,formSizeMixin,formStateMixin,formTextMixin,formSelectionMixin,formValidityMixin],props:props$19,data:function(){return{heightInPx:null}},computed:{type:function(){return null},computedStyle:function(){var styles={resize:!this.computedRows||this.noResize?"none":null};return this.computedRows||(styles.height=this.heightInPx,styles.overflowY="scroll"),styles},computedMinRows:function(){return mathMax(toInteger(this.rows,2),2)},computedMaxRows:function(){return mathMax(this.computedMinRows,toInteger(this.maxRows,0))},computedRows:function(){return this.computedMinRows===this.computedMaxRows?this.computedMinRows:null},computedAttrs:function(){var disabled=this.disabled,required=this.required;return{id:this.safeId(),name:this.name||null,form:this.form||null,disabled:disabled,placeholder:this.placeholder||null,required:required,autocomplete:this.autocomplete||null,readonly:this.readonly||this.plaintext,rows:this.computedRows,wrap:this.wrap||null,"aria-required":this.required?"true":null,"aria-invalid":this.computedAriaInvalid}},computedListeners:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvListeners),{},{input:this.onInput,change:this.onChange,blur:this.onBlur})}},watch:{localValue:function(){this.setHeight()}},mounted:function(){this.setHeight()},methods:{visibleCallback:function(visible){visible&&this.$nextTick(this.setHeight)},setHeight:function(){var _this=this;this.$nextTick((function(){requestAF((function(){_this.heightInPx=_this.computeHeight()}))}))},computeHeight:function(){if(this.$isServer||!isNull(this.computedRows))return null;var el=this.$el;if(!isVisible(el))return null;var computedStyle=getCS(el),lineHeight=toFloat(computedStyle.lineHeight,1),border=toFloat(computedStyle.borderTopWidth,0)+toFloat(computedStyle.borderBottomWidth,0),padding=toFloat(computedStyle.paddingTop,0)+toFloat(computedStyle.paddingBottom,0),offset=border+padding,minHeight=lineHeight*this.computedMinRows+offset,oldHeight=getStyle(el,"height")||computedStyle.height;setStyle(el,"height","auto");var scrollHeight=el.scrollHeight;setStyle(el,"height",oldHeight);var contentRows=mathMax((scrollHeight-padding)/lineHeight,2),rows=mathMin(mathMax(contentRows,this.computedMinRows),this.computedMaxRows),height=mathMax(mathCeil(rows*lineHeight+offset),minHeight);return this.noAutoShrink&&toFloat(oldHeight,0)>height?oldHeight:"".concat(height,"px")}},render:function(h){return h("textarea",{class:this.computedClass,style:this.computedStyle,directives:[{name:"b-visible",value:this.visibleCallback,modifiers:{640:!0}}],attrs:this.computedAttrs,domProps:{value:this.localValue},on:this.computedListeners,ref:"input"})}}),FormTextareaPlugin=pluginFactory({components:{BFormTextarea:BFormTextarea,BTextarea:BFormTextarea}}),_makeModelMixin$7=makeModelMixin("value",{type:PROP_TYPE_STRING,defaultValue:""}),modelMixin$7=_makeModelMixin$7.mixin,modelProps$7=_makeModelMixin$7.props,MODEL_PROP_NAME$7=_makeModelMixin$7.prop,MODEL_EVENT_NAME$7=_makeModelMixin$7.event,padLeftZeros=function(value){return"00".concat(value||"").slice(-2)},parseHMS=function(value){value=toString(value);var hh=null,mm=null,ss=null;if(RX_TIME.test(value)){var _value$split$map2=_slicedToArray(value.split(":").map((function(v){return toInteger(v,null)})),3);hh=_value$split$map2[0],mm=_value$split$map2[1],ss=_value$split$map2[2]}return{hours:isUndefinedOrNull(hh)?null:hh,minutes:isUndefinedOrNull(mm)?null:mm,seconds:isUndefinedOrNull(ss)?null:ss,ampm:isUndefinedOrNull(hh)||hh<12?0:1}},props$18=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$7),pick$1(props$1c,["labelIncrement","labelDecrement"])),{},{ariaLabelledby:makeProp(PROP_TYPE_STRING),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),footerTag:makeProp(PROP_TYPE_STRING,"footer"),headerTag:makeProp(PROP_TYPE_STRING,"header"),hidden:makeProp(PROP_TYPE_BOOLEAN,!1),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),hour12:makeProp(PROP_TYPE_BOOLEAN,null),labelAm:makeProp(PROP_TYPE_STRING,"AM"),labelAmpm:makeProp(PROP_TYPE_STRING,"AM/PM"),labelHours:makeProp(PROP_TYPE_STRING,"Hours"),labelMinutes:makeProp(PROP_TYPE_STRING,"Minutes"),labelNoTimeSelected:makeProp(PROP_TYPE_STRING,"No time selected"),labelPm:makeProp(PROP_TYPE_STRING,"PM"),labelSeconds:makeProp(PROP_TYPE_STRING,"Seconds"),labelSelected:makeProp(PROP_TYPE_STRING,"Selected time"),locale:makeProp(PROP_TYPE_ARRAY_STRING),minutesStep:makeProp(PROP_TYPE_NUMBER_STRING,1),readonly:makeProp(PROP_TYPE_BOOLEAN,!1),secondsStep:makeProp(PROP_TYPE_NUMBER_STRING,1),showSeconds:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BTime"),BTime=extend({name:"BTime",mixins:[idMixin,modelMixin$7,normalizeSlotMixin],props:props$18,data:function(){var parsed=parseHMS(this[MODEL_PROP_NAME$7]||"");return{modelHours:parsed.hours,modelMinutes:parsed.minutes,modelSeconds:parsed.seconds,modelAmpm:parsed.ampm,isLive:!1}},computed:{computedHMS:function(){return function(_ref){var hours=_ref.hours,minutes=_ref.minutes,seconds=_ref.seconds,requireSeconds=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return isNull(hours)||isNull(minutes)||requireSeconds&&isNull(seconds)?"":[hours,minutes,requireSeconds?seconds:0].map(padLeftZeros).join(":")}({hours:this.modelHours,minutes:this.modelMinutes,seconds:this.modelSeconds},this.showSeconds)},resolvedOptions:function(){var locale=concat(this.locale).filter(identity),options={hour:"numeric",minute:"numeric",second:"numeric"};isUndefinedOrNull(this.hour12)||(options.hour12=!!this.hour12);var resolved=new Intl.DateTimeFormat(locale,options).resolvedOptions(),hour12=resolved.hour12||!1,hourCycle=resolved.hourCycle||(hour12?"h12":"h23");return{locale:resolved.locale,hour12:hour12,hourCycle:hourCycle}},computedLocale:function(){return this.resolvedOptions.locale},computedLang:function(){return(this.computedLocale||"").replace(/-u-.*$/,"")},computedRTL:function(){return isLocaleRTL(this.computedLang)},computedHourCycle:function(){return this.resolvedOptions.hourCycle},is12Hour:function(){return!!this.resolvedOptions.hour12},context:function(){return{locale:this.computedLocale,isRTL:this.computedRTL,hourCycle:this.computedHourCycle,hour12:this.is12Hour,hours:this.modelHours,minutes:this.modelMinutes,seconds:this.showSeconds?this.modelSeconds:0,value:this.computedHMS,formatted:this.formattedTimeString}},valueId:function(){return this.safeId()||null},computedAriaLabelledby:function(){return[this.ariaLabelledby,this.valueId].filter(identity).join(" ")||null},timeFormatter:function(){var options={hour12:this.is12Hour,hourCycle:this.computedHourCycle,hour:"numeric",minute:"numeric",timeZone:"UTC"};return this.showSeconds&&(options.second="numeric"),createDateFormatter(this.computedLocale,options)},numberFormatter:function(){return new Intl.NumberFormat(this.computedLocale,{style:"decimal",minimumIntegerDigits:2,minimumFractionDigits:0,maximumFractionDigits:0,notation:"standard"}).format},formattedTimeString:function(){var hours=this.modelHours,minutes=this.modelMinutes,seconds=this.showSeconds&&this.modelSeconds||0;return this.computedHMS?this.timeFormatter(createDate(Date.UTC(0,0,1,hours,minutes,seconds))):this.labelNoTimeSelected||" "},spinScopedSlots:function(){var h=this.$createElement;return{increment:function(_ref2){var hasFocus=_ref2.hasFocus;return h(BIconChevronUp,{props:{scale:hasFocus?1.5:1.25},attrs:{"aria-hidden":"true"}})},decrement:function(_ref3){var hasFocus=_ref3.hasFocus;return h(BIconChevronUp,{props:{flipV:!0,scale:hasFocus?1.5:1.25},attrs:{"aria-hidden":"true"}})}}}},watch:(_watch$8={},_defineProperty(_watch$8,MODEL_PROP_NAME$7,(function(newValue,oldValue){if(newValue!==oldValue&&!looseEqual(parseHMS(newValue),parseHMS(this.computedHMS))){var _parseHMS=parseHMS(newValue),hours=_parseHMS.hours,minutes=_parseHMS.minutes,seconds=_parseHMS.seconds,ampm=_parseHMS.ampm;this.modelHours=hours,this.modelMinutes=minutes,this.modelSeconds=seconds,this.modelAmpm=ampm}})),_defineProperty(_watch$8,"computedHMS",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(MODEL_EVENT_NAME$7,newValue)})),_defineProperty(_watch$8,"context",(function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("context",newValue)})),_defineProperty(_watch$8,"modelAmpm",(function(newValue,oldValue){var _this=this;if(newValue!==oldValue){var hours=isNull(this.modelHours)?0:this.modelHours;this.$nextTick((function(){0===newValue&&hours>11?_this.modelHours=hours-12:1===newValue&&hours<12&&(_this.modelHours=hours+12)}))}})),_defineProperty(_watch$8,"modelHours",(function(newHours,oldHours){newHours!==oldHours&&(this.modelAmpm=newHours>11?1:0)})),_watch$8),created:function(){var _this2=this;this.$nextTick((function(){_this2.$emit("context",_this2.context)}))},mounted:function(){this.setLive(!0)},activated:function(){this.setLive(!0)},deactivated:function(){this.setLive(!1)},beforeDestroy:function(){this.setLive(!1)},methods:{focus:function(){this.disabled||attemptFocus(this.$refs.spinners[0])},blur:function(){if(!this.disabled){var activeElement=getActiveElement();contains(this.$el,activeElement)&&attemptBlur(activeElement)}},formatHours:function(hh){var hourCycle=this.computedHourCycle;return hh=0===(hh=this.is12Hour&&hh>12?hh-12:hh)&&"h12"===hourCycle?12:0===hh&&"h24"===hourCycle?24:12===hh&&"h11"===hourCycle?0:hh,this.numberFormatter(hh)},formatMinutes:function(mm){return this.numberFormatter(mm)},formatSeconds:function(ss){return this.numberFormatter(ss)},formatAmpm:function(ampm){return 0===ampm?this.labelAm:1===ampm?this.labelPm:""},setHours:function(value){this.modelHours=value},setMinutes:function(value){this.modelMinutes=value},setSeconds:function(value){this.modelSeconds=value},setAmpm:function(value){this.modelAmpm=value},onSpinLeftRight:function(){var event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},type=event.type,keyCode=event.keyCode;if(!this.disabled&&"keydown"===type&&(keyCode===CODE_LEFT||keyCode===CODE_RIGHT)){stopEvent(event);var spinners=this.$refs.spinners||[],index=spinners.map((function(cmp){return!!cmp.hasFocus})).indexOf(!0);index=(index+=keyCode===CODE_LEFT?-1:1)>=spinners.length?0:index<0?spinners.length-1:index,attemptFocus(spinners[index])}},setLive:function(on){var _this3=this;on?this.$nextTick((function(){requestAF((function(){_this3.isLive=!0}))})):this.isLive=!1}},render:function(h){var _this4=this;if(this.hidden)return h();var disabled=this.disabled,readonly=this.readonly,locale=this.computedLocale,ariaLabelledby=this.computedAriaLabelledby,labelIncrement=this.labelIncrement,labelDecrement=this.labelDecrement,valueId=this.valueId,focusHandler=this.focus,spinIds=[],makeSpinbutton=function(handler,key,classes){var spinbuttonProps=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},id=_this4.safeId("_spinbutton_".concat(key,"_"))||null;return spinIds.push(id),h(BFormSpinbutton,_defineProperty({class:classes,props:_objectSpread2$3({id:id,placeholder:"--",vertical:!0,required:!0,disabled:disabled,readonly:readonly,locale:locale,labelIncrement:labelIncrement,labelDecrement:labelDecrement,wrap:!0,ariaControls:valueId,min:0},spinbuttonProps),scopedSlots:_this4.spinScopedSlots,on:{change:handler},key:key,ref:"spinners"},REF_FOR_KEY,!0))},makeColon=function(){return h("div",{staticClass:"d-flex flex-column",class:{"text-muted":disabled||readonly},attrs:{"aria-hidden":"true"}},[h(BIconCircleFill,{props:{shiftV:4,scale:.5}}),h(BIconCircleFill,{props:{shiftV:-4,scale:.5}})])},$spinners=[];$spinners.push(makeSpinbutton(this.setHours,"hours","b-time-hours",{value:this.modelHours,max:23,step:1,formatterFn:this.formatHours,ariaLabel:this.labelHours})),$spinners.push(makeColon()),$spinners.push(makeSpinbutton(this.setMinutes,"minutes","b-time-minutes",{value:this.modelMinutes,max:59,step:this.minutesStep||1,formatterFn:this.formatMinutes,ariaLabel:this.labelMinutes})),this.showSeconds&&($spinners.push(makeColon()),$spinners.push(makeSpinbutton(this.setSeconds,"seconds","b-time-seconds",{value:this.modelSeconds,max:59,step:this.secondsStep||1,formatterFn:this.formatSeconds,ariaLabel:this.labelSeconds}))),this.isLive&&this.is12Hour&&$spinners.push(makeSpinbutton(this.setAmpm,"ampm","b-time-ampm",{value:this.modelAmpm,max:1,formatterFn:this.formatAmpm,ariaLabel:this.labelAmpm,required:!1})),$spinners=h("div",{staticClass:"d-flex align-items-center justify-content-center mx-auto",attrs:{role:"group",tabindex:disabled||readonly?null:"-1","aria-labelledby":ariaLabelledby},on:{keydown:this.onSpinLeftRight,click:function(event){event.target===event.currentTarget&&focusHandler()}}},$spinners);var $value=h("output",{staticClass:"form-control form-control-sm text-center",class:{disabled:disabled||readonly},attrs:{id:valueId,role:"status",for:spinIds.filter(identity).join(" ")||null,tabindex:disabled?null:"-1","aria-live":this.isLive?"polite":"off","aria-atomic":"true"},on:{click:focusHandler,focus:focusHandler}},[h("bdi",this.formattedTimeString),this.computedHMS?h("span",{staticClass:"sr-only"}," (".concat(this.labelSelected,") ")):""]),$header=h(this.headerTag,{staticClass:"b-time-header",class:{"sr-only":this.hideHeader}},[$value]),$content=this.normalizeSlot(),$footer=$content?h(this.footerTag,{staticClass:"b-time-footer"},$content):h();return h("div",{staticClass:"b-time d-inline-flex flex-column text-center",attrs:{role:"group",lang:this.computedLang||null,"aria-labelledby":ariaLabelledby||null,"aria-disabled":disabled?"true":null,"aria-readonly":readonly&&!disabled?"true":null}},[$header,$spinners,$footer])}}),_makeModelMixin$6=makeModelMixin("value",{type:PROP_TYPE_STRING,defaultValue:""}),modelMixin$6=_makeModelMixin$6.mixin,modelProps$6=_makeModelMixin$6.props,MODEL_PROP_NAME$6=_makeModelMixin$6.prop,MODEL_EVENT_NAME$6=_makeModelMixin$6.event,timeProps=omit(props$18,["hidden","id","value"]),formBtnLabelControlProps=omit(props$1o,["formattedValue","id","lang","rtl","value"]),props$17=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$6),timeProps),formBtnLabelControlProps),{},{closeButtonVariant:makeProp(PROP_TYPE_STRING,"outline-secondary"),labelCloseButton:makeProp(PROP_TYPE_STRING,"Close"),labelNowButton:makeProp(PROP_TYPE_STRING,"Select now"),labelResetButton:makeProp(PROP_TYPE_STRING,"Reset"),noCloseButton:makeProp(PROP_TYPE_BOOLEAN,!1),nowButton:makeProp(PROP_TYPE_BOOLEAN,!1),nowButtonVariant:makeProp(PROP_TYPE_STRING,"outline-primary"),resetButton:makeProp(PROP_TYPE_BOOLEAN,!1),resetButtonVariant:makeProp(PROP_TYPE_STRING,"outline-danger"),resetValue:makeProp(PROP_TYPE_DATE_STRING)})),"BFormTimepicker"),BFormTimepicker=extend({name:"BFormTimepicker",mixins:[idMixin,modelMixin$6],props:props$17,data:function(){return{localHMS:this[MODEL_PROP_NAME$6]||"",localLocale:null,isRTL:!1,formattedValue:"",isVisible:!1}},computed:{computedLang:function(){return(this.localLocale||"").replace(/-u-.*$/i,"")||null}},watch:(_watch$7={},_defineProperty(_watch$7,MODEL_PROP_NAME$6,(function(newValue){this.localHMS=newValue||""})),_defineProperty(_watch$7,"localHMS",(function(newValue){this.isVisible&&this.$emit(MODEL_EVENT_NAME$6,newValue||"")})),_watch$7),methods:{focus:function(){this.disabled||attemptFocus(this.$refs.control)},blur:function(){this.disabled||attemptBlur(this.$refs.control)},setAndClose:function(value){var _this=this;this.localHMS=value,this.$nextTick((function(){_this.$refs.control.hide(!0)}))},onInput:function(hms){this.localHMS!==hms&&(this.localHMS=hms)},onContext:function(ctx){var isRTL=ctx.isRTL,locale=ctx.locale,value=ctx.value,formatted=ctx.formatted;this.isRTL=isRTL,this.localLocale=locale,this.formattedValue=formatted,this.localHMS=value||"",this.$emit("context",ctx)},onNowButton:function(){var now=new Date,value=[now.getHours(),now.getMinutes(),this.showSeconds?now.getSeconds():0].map((function(v){return"00".concat(v||"").slice(-2)})).join(":");this.setAndClose(value)},onResetButton:function(){this.setAndClose(this.resetValue)},onCloseButton:function(){this.$refs.control.hide(!0)},onShow:function(){this.isVisible=!0},onShown:function(){var _this2=this;this.$nextTick((function(){attemptFocus(_this2.$refs.time),_this2.$emit("shown")}))},onHidden:function(){this.isVisible=!1,this.$emit("hidden")},defaultButtonFn:function(_ref){var isHovered=_ref.isHovered,hasFocus=_ref.hasFocus;return this.$createElement(isHovered||hasFocus?BIconClockFill:BIconClock,{attrs:{"aria-hidden":"true"}})}},render:function(h){var localHMS=this.localHMS,disabled=this.disabled,readonly=this.readonly,$props=this.$props,placeholder=isUndefinedOrNull(this.placeholder)?this.labelNoTimeSelected:this.placeholder,$footer=[];if(this.nowButton){var label=this.labelNowButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled||readonly,variant:this.nowButtonVariant},attrs:{"aria-label":label||null},on:{click:this.onNowButton},key:"now-btn"},label))}if(this.resetButton){$footer.length>0&&$footer.push(h("span"," "));var _label=this.labelResetButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled||readonly,variant:this.resetButtonVariant},attrs:{"aria-label":_label||null},on:{click:this.onResetButton},key:"reset-btn"},_label))}if(!this.noCloseButton){$footer.length>0&&$footer.push(h("span"," "));var _label2=this.labelCloseButton;$footer.push(h(BButton,{props:{size:"sm",disabled:disabled,variant:this.closeButtonVariant},attrs:{"aria-label":_label2||null},on:{click:this.onCloseButton},key:"close-btn"},_label2))}$footer.length>0&&($footer=[h("div",{staticClass:"b-form-date-controls d-flex flex-wrap",class:{"justify-content-between":$footer.length>1,"justify-content-end":$footer.length<2}},$footer)]);var $time=h(BTime,{staticClass:"b-form-time-control",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(timeProps,$props)),{},{value:localHMS,hidden:!this.isVisible}),on:{input:this.onInput,context:this.onContext},ref:"time"},$footer);return h(BVFormBtnLabelControl,{staticClass:"b-form-timepicker",props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formBtnLabelControlProps,$props)),{},{id:this.safeId(),value:localHMS,formattedValue:localHMS?this.formattedValue:"",placeholder:placeholder,rtl:this.isRTL,lang:this.computedLang}),on:{show:this.onShow,shown:this.onShown,hidden:this.onHidden},scopedSlots:_defineProperty({},"button-content",this.$scopedSlots["button-content"]||this.defaultButtonFn),ref:"control"},[$time])}}),FormTimepickerPlugin=pluginFactory({components:{BFormTimepicker:BFormTimepicker,BTimepicker:BFormTimepicker}}),ImagePlugin=pluginFactory({components:{BImg:BImg,BImgLazy:BImgLazy}}),props$16=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroupText"),BInputGroupText=extend({name:"BInputGroupText",functional:!0,props:props$16,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"input-group-text"}),children)}}),props$15=makePropsConfigurable({append:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING),isText:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroupAddon"),BInputGroupAddon=extend({name:"BInputGroupAddon",functional:!0,props:props$15,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,append=props.append;return h(props.tag,a(data,{class:{"input-group-append":append,"input-group-prepend":!append},attrs:{id:props.id}}),props.isText?[h(BInputGroupText,children)]:children)}}),props$14=makePropsConfigurable(omit(props$15,["append"]),"BInputGroupAppend"),BInputGroupAppend=extend({name:"BInputGroupAppend",functional:!0,props:props$14,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(BInputGroupAddon,a(data,{props:_objectSpread2$3(_objectSpread2$3({},props),{},{append:!0})}),children)}}),props$13=makePropsConfigurable(omit(props$15,["append"]),"BInputGroupPrepend"),BInputGroupPrepend=extend({name:"BInputGroupPrepend",functional:!0,props:props$13,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(BInputGroupAddon,a(data,{props:_objectSpread2$3(_objectSpread2$3({},props),{},{append:!1})}),children)}}),props$12=makePropsConfigurable({append:makeProp(PROP_TYPE_STRING),appendHtml:makeProp(PROP_TYPE_STRING),id:makeProp(PROP_TYPE_STRING),prepend:makeProp(PROP_TYPE_STRING),prependHtml:makeProp(PROP_TYPE_STRING),size:makeProp(PROP_TYPE_STRING),tag:makeProp(PROP_TYPE_STRING,"div")},"BInputGroup"),BInputGroup=extend({name:"BInputGroup",functional:!0,props:props$12,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,prepend=props.prepend,prependHtml=props.prependHtml,append=props.append,appendHtml=props.appendHtml,size=props.size,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$prepend=h(),hasPrependSlot=hasNormalizedSlot("prepend",$scopedSlots,$slots);(hasPrependSlot||prepend||prependHtml)&&($prepend=h(BInputGroupPrepend,[hasPrependSlot?normalizeSlot("prepend",slotScope,$scopedSlots,$slots):h(BInputGroupText,{domProps:htmlOrText(prependHtml,prepend)})]));var $append=h(),hasAppendSlot=hasNormalizedSlot("append",$scopedSlots,$slots);return(hasAppendSlot||append||appendHtml)&&($append=h(BInputGroupAppend,[hasAppendSlot?normalizeSlot("append",slotScope,$scopedSlots,$slots):h(BInputGroupText,{domProps:htmlOrText(appendHtml,append)})])),h(props.tag,a(data,{staticClass:"input-group",class:_defineProperty({},"input-group-".concat(size),size),attrs:{id:props.id||null,role:"group"}}),[$prepend,normalizeSlot("default",slotScope,$scopedSlots,$slots),$append])}}),InputGroupPlugin=pluginFactory({components:{BInputGroup:BInputGroup,BInputGroupAddon:BInputGroupAddon,BInputGroupPrepend:BInputGroupPrepend,BInputGroupAppend:BInputGroupAppend,BInputGroupText:BInputGroupText}}),props$11=makePropsConfigurable({fluid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BContainer"),BContainer=extend({name:"BContainer",functional:!0,props:props$11,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,fluid=props.fluid;return h(props.tag,a(data,{class:_defineProperty({container:!(fluid||""===fluid),"container-fluid":!0===fluid||""===fluid},"container-".concat(fluid),fluid&&!0!==fluid)}),children)}}),props$10=makePropsConfigurable({bgVariant:makeProp(PROP_TYPE_STRING),borderVariant:makeProp(PROP_TYPE_STRING),containerFluid:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),fluid:makeProp(PROP_TYPE_BOOLEAN,!1),header:makeProp(PROP_TYPE_STRING),headerHtml:makeProp(PROP_TYPE_STRING),headerLevel:makeProp(PROP_TYPE_NUMBER_STRING,3),headerTag:makeProp(PROP_TYPE_STRING,"h1"),lead:makeProp(PROP_TYPE_STRING),leadHtml:makeProp(PROP_TYPE_STRING),leadTag:makeProp(PROP_TYPE_STRING,"p"),tag:makeProp(PROP_TYPE_STRING,"div"),textVariant:makeProp(PROP_TYPE_STRING)},"BJumbotron"),BJumbotron=extend({name:"BJumbotron",functional:!0,props:props$10,render:function(h,_ref){var _class2,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,header=props.header,headerHtml=props.headerHtml,lead=props.lead,leadHtml=props.leadHtml,textVariant=props.textVariant,bgVariant=props.bgVariant,borderVariant=props.borderVariant,$scopedSlots=scopedSlots||{},$slots=slots(),slotScope={},$header=h(),hasHeaderSlot=hasNormalizedSlot("header",$scopedSlots,$slots);if(hasHeaderSlot||header||headerHtml){var headerLevel=props.headerLevel;$header=h(props.headerTag,{class:_defineProperty({},"display-".concat(headerLevel),headerLevel),domProps:hasHeaderSlot?{}:htmlOrText(headerHtml,header)},normalizeSlot("header",slotScope,$scopedSlots,$slots))}var $lead=h(),hasLeadSlot=hasNormalizedSlot("lead",$scopedSlots,$slots);(hasLeadSlot||lead||leadHtml)&&($lead=h(props.leadTag,{staticClass:"lead",domProps:hasLeadSlot?{}:htmlOrText(leadHtml,lead)},normalizeSlot("lead",slotScope,$scopedSlots,$slots)));var $children=[$header,$lead,normalizeSlot("default",slotScope,$scopedSlots,$slots)];return props.fluid&&($children=[h(BContainer,{props:{fluid:props.containerFluid}},$children)]),h(props.tag,a(data,{staticClass:"jumbotron",class:(_class2={"jumbotron-fluid":props.fluid},_defineProperty(_class2,"text-".concat(textVariant),textVariant),_defineProperty(_class2,"bg-".concat(bgVariant),bgVariant),_defineProperty(_class2,"border-".concat(borderVariant),borderVariant),_defineProperty(_class2,"border",borderVariant),_class2)}),$children)}}),JumbotronPlugin=pluginFactory({components:{BJumbotron:BJumbotron}}),COMMON_ALIGNMENT=["start","end","center"],computeRowColsClass=memoize((function(breakpoint,cols){return(cols=trim(toString(cols)))?lowerCase(["row-cols",breakpoint,cols].filter(identity).join("-")):null})),computeRowColsBreakpoint=memoize((function(prop){return lowerCase(prop.replace("cols",""))})),rowColsPropList=[],BRow={name:"BRow",functional:!0,get props(){var rowColsProps;return delete this.props,this.props=(rowColsProps=getBreakpointsUpCached().reduce((function(props,breakpoint){return props[suffixPropName(breakpoint,"cols")]=makeProp(PROP_TYPE_NUMBER_STRING),props}),create(null)),rowColsPropList=keys(rowColsProps),makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},rowColsProps),{},{alignContent:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"between","around","stretch"),value)})),alignH:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"between","around"),value)})),alignV:makeProp(PROP_TYPE_STRING,null,(function(value){return arrayIncludes(concat(COMMON_ALIGNMENT,"baseline","stretch"),value)})),noGutters:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BRow")),this.props},render:function(h,_ref){var _classList$push,props=_ref.props,data=_ref.data,children=_ref.children,alignV=props.alignV,alignH=props.alignH,alignContent=props.alignContent,classList=[];return rowColsPropList.forEach((function(prop){var c=computeRowColsClass(computeRowColsBreakpoint(prop),props[prop]);c&&classList.push(c)})),classList.push((_defineProperty(_classList$push={"no-gutters":props.noGutters},"align-items-".concat(alignV),alignV),_defineProperty(_classList$push,"justify-content-".concat(alignH),alignH),_defineProperty(_classList$push,"align-content-".concat(alignContent),alignContent),_classList$push)),h(props.tag,a(data,{staticClass:"row",class:classList}),children)}},LayoutPlugin=pluginFactory({components:{BContainer:BContainer,BRow:BRow,BCol:BCol,BFormRow:BFormRow}}),LinkPlugin=pluginFactory({components:{BLink:BLink}}),props$$=makePropsConfigurable({flush:makeProp(PROP_TYPE_BOOLEAN,!1),horizontal:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),tag:makeProp(PROP_TYPE_STRING,"div")},"BListGroup"),BListGroup=extend({name:"BListGroup",functional:!0,props:props$$,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,horizontal=""===props.horizontal||props.horizontal;horizontal=!props.flush&&horizontal;var componentData={staticClass:"list-group",class:_defineProperty({"list-group-flush":props.flush,"list-group-horizontal":!0===horizontal},"list-group-horizontal-".concat(horizontal),isString(horizontal))};return h(props.tag,a(data,componentData),children)}}),actionTags=["a","router-link","button","b-link"],linkProps$3=omit(props$2f,["event","routerTag"]);delete linkProps$3.href.default,delete linkProps$3.to.default;var props$_=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$3),{},{action:makeProp(PROP_TYPE_BOOLEAN,!1),button:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),variant:makeProp(PROP_TYPE_STRING)})),"BListGroupItem"),BListGroupItem=extend({name:"BListGroupItem",functional:!0,props:props$_,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,children=_ref.children,button=props.button,variant=props.variant,active=props.active,disabled=props.disabled,link=isLink$1(props),tag=button?"button":link?BLink:props.tag,action=!!(props.action||link||button||arrayIncludes(actionTags,props.tag)),attrs={},itemProps={};return isTag(tag,"button")?(data.attrs&&data.attrs.type||(attrs.type="button"),props.disabled&&(attrs.disabled=!0)):itemProps=pluckProps(linkProps$3,props),h(tag,a(data,{attrs:attrs,props:itemProps,staticClass:"list-group-item",class:(_class={},_defineProperty(_class,"list-group-item-".concat(variant),variant),_defineProperty(_class,"list-group-item-action",action),_defineProperty(_class,"active",active),_defineProperty(_class,"disabled",disabled),_class)}),children)}}),ListGroupPlugin=pluginFactory({components:{BListGroup:BListGroup,BListGroupItem:BListGroupItem}}),props$Z=makePropsConfigurable({right:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),verticalAlign:makeProp(PROP_TYPE_STRING,"top")},"BMediaAside"),BMediaAside=extend({name:"BMediaAside",functional:!0,props:props$Z,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,verticalAlign=props.verticalAlign,align="top"===verticalAlign?"start":"bottom"===verticalAlign?"end":verticalAlign;return h(props.tag,a(data,{staticClass:"media-aside",class:_defineProperty({"media-aside-right":props.right},"align-self-".concat(align),align)}),children)}}),props$Y=makePropsConfigurable({tag:makeProp(PROP_TYPE_STRING,"div")},"BMediaBody"),BMediaBody=extend({name:"BMediaBody",functional:!0,props:props$Y,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children;return h(props.tag,a(data,{staticClass:"media-body"}),children)}}),props$X=makePropsConfigurable({noBody:makeProp(PROP_TYPE_BOOLEAN,!1),rightAlign:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div"),verticalAlign:makeProp(PROP_TYPE_STRING,"top")},"BMedia"),BMedia=extend({name:"BMedia",functional:!0,props:props$X,render:function(h,_ref){var props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,children=_ref.children,noBody=props.noBody,rightAlign=props.rightAlign,verticalAlign=props.verticalAlign,$children=noBody?children:[];if(!noBody){var slotScope={},$slots=slots(),$scopedSlots=scopedSlots||{};$children.push(h(BMediaBody,normalizeSlot("default",slotScope,$scopedSlots,$slots)));var $aside=normalizeSlot("aside",slotScope,$scopedSlots,$slots);$aside&&$children[rightAlign?"push":"unshift"](h(BMediaAside,{props:{right:rightAlign,verticalAlign:verticalAlign}},$aside))}return h(props.tag,a(data,{staticClass:"media"}),$children)}}),MediaPlugin=pluginFactory({components:{BMedia:BMedia,BMediaAside:BMediaAside,BMediaBody:BMediaBody}}),PROP$1="$_documentListeners",listenOnDocumentMixin=extend({created:function(){this[PROP$1]={}},beforeDestroy:function(){var _this=this;keys(this[PROP$1]||{}).forEach((function(event){_this[PROP$1][event].forEach((function(callback){_this.listenOffDocument(event,callback)}))})),this[PROP$1]=null},methods:{registerDocumentListener:function(event,callback){this[PROP$1]&&(this[PROP$1][event]=this[PROP$1][event]||[],arrayIncludes(this[PROP$1][event],callback)||this[PROP$1][event].push(callback))},unregisterDocumentListener:function(event,callback){this[PROP$1]&&this[PROP$1][event]&&(this[PROP$1][event]=this[PROP$1][event].filter((function(cb){return cb!==callback})))},listenDocument:function(on,event,callback){on?this.listenOnDocument(event,callback):this.listenOffDocument(event,callback)},listenOnDocument:function(event,callback){IS_BROWSER&&(eventOn(document,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.registerDocumentListener(event,callback))},listenOffDocument:function(event,callback){IS_BROWSER&&eventOff(document,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.unregisterDocumentListener(event,callback)}}}),PROP="$_windowListeners",listenOnWindowMixin=extend({created:function(){this[PROP]={}},beforeDestroy:function(){var _this=this;keys(this[PROP]||{}).forEach((function(event){_this[PROP][event].forEach((function(callback){_this.listenOffWindow(event,callback)}))})),this[PROP]=null},methods:{registerWindowListener:function(event,callback){this[PROP]&&(this[PROP][event]=this[PROP][event]||[],arrayIncludes(this[PROP][event],callback)||this[PROP][event].push(callback))},unregisterWindowListener:function(event,callback){this[PROP]&&this[PROP][event]&&(this[PROP][event]=this[PROP][event].filter((function(cb){return cb!==callback})))},listenWindow:function(on,event,callback){on?this.listenOnWindow(event,callback):this.listenOffWindow(event,callback)},listenOnWindow:function(event,callback){IS_BROWSER&&(eventOn(window,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.registerWindowListener(event,callback))},listenOffWindow:function(event,callback){IS_BROWSER&&eventOff(window,event,callback,EVENT_OPTIONS_NO_CAPTURE),this.unregisterWindowListener(event,callback)}}}),useParentMixin=extend({computed:{bvParent:function(){return this.$parent||this.$root===this&&this.$options.bvParent}}}),getScopeId=function(vm){var defaultValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return vm&&vm.$options._scopeId||defaultValue},scopedStyleMixin=extend({mixins:[useParentMixin],computed:{scopedStyleAttrs:function(){var scopeId=getScopeId(this.bvParent);return scopeId?_defineProperty({},scopeId,""):{}}}}),createNewChildComponent=function(parent,Component){var config=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},bvEventRoot=parent.$root?parent.$root.$options.bvEventRoot||parent.$root:null;return new Component(_objectSpread2$3(_objectSpread2$3({},config),{},{parent:parent,bvParent:parent,bvEventRoot:bvEventRoot}))},BVTransporterTarget=extend({abstract:!0,name:"BVTransporterTarget",props:{nodes:makeProp(PROP_TYPE_ARRAY_FUNCTION)},data:function(vm){return{updatedNodes:vm.nodes}},destroyed:function(){var el;(el=this.$el)&&el.parentNode&&el.parentNode.removeChild(el)},render:function(h){var updatedNodes=this.updatedNodes,$nodes=isFunction$1(updatedNodes)?updatedNodes({}):updatedNodes;return($nodes=concat($nodes).filter(identity))&&$nodes.length>0&&!$nodes[0].text?$nodes[0]:h()}}),props$W={container:makeProp([HTMLElement,PROP_TYPE_STRING],"body"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")},BVTransporterVue2=extend({name:"BVTransporter",mixins:[normalizeSlotMixin],props:props$W,watch:{disabled:{immediate:!0,handler:function(disabled){disabled?this.unmountTarget():this.$nextTick(this.mountTarget)}}},created:function(){this.$_defaultFn=null,this.$_target=null},beforeMount:function(){this.mountTarget()},updated:function(){this.updateTarget()},beforeDestroy:function(){this.unmountTarget(),this.$_defaultFn=null},methods:{getContainer:function(){if(IS_BROWSER){var container=this.container;return isString(container)?select(container):container}return null},mountTarget:function(){if(!this.$_target){var $container=this.getContainer();if($container){var $el=document.createElement("div");$container.appendChild($el),this.$_target=createNewChildComponent(this,BVTransporterTarget,{el:$el,propsData:{nodes:concat(this.normalizeSlot())}})}}},updateTarget:function(){if(IS_BROWSER&&this.$_target){var defaultFn=this.$scopedSlots.default;this.disabled||(defaultFn&&this.$_defaultFn!==defaultFn?this.$_target.updatedNodes=defaultFn:defaultFn||(this.$_target.updatedNodes=this.$slots.default)),this.$_defaultFn=defaultFn}},unmountTarget:function(){this.$_target&&this.$_target.$destroy(),this.$_target=null}},render:function(h){if(this.disabled){var $nodes=concat(this.normalizeSlot()).filter(identity);if($nodes.length>0&&!$nodes[0].text)return $nodes[0]}return h()}}),BVTransporterVue3=extend({name:"BVTransporter",mixins:[normalizeSlotMixin],props:props$W,render:function(h){if(this.disabled){var $nodes=concat(this.normalizeSlot()).filter(identity);if($nodes.length>0)return $nodes[0]}return h(Vue__default.default.Teleport,{to:this.container},this.normalizeSlot())}}),BVTransporter=isVue3?BVTransporterVue3:BVTransporterVue2,BvModalEvent=function(_BvEvent){_inherits(BvModalEvent,_BvEvent);var _super=_createSuper(BvModalEvent);function BvModalEvent(type){var _this,eventInit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _classCallCheck(this,BvModalEvent),_this=_super.call(this,type,eventInit),defineProperties(_assertThisInitialized(_this),{trigger:{enumerable:!0,configurable:!1,writable:!1}}),_this}return _createClass(BvModalEvent,null,[{key:"Defaults",get:function(){return _objectSpread2$3(_objectSpread2$3({},_get(_getPrototypeOf(BvModalEvent),"Defaults",this)),{},{trigger:null})}}]),BvModalEvent}(BvEvent),modalManager=new(extend({data:function(){return{modals:[],baseZIndex:null,scrollbarWidth:null,isBodyOverflowing:!1}},computed:{modalCount:function(){return this.modals.length},modalsAreOpen:function(){return this.modalCount>0}},watch:{modalCount:function(newCount,oldCount){IS_BROWSER&&(this.getScrollbarWidth(),newCount>0&&0===oldCount?(this.checkScrollbar(),this.setScrollbar(),addClass(document.body,"modal-open")):0===newCount&&oldCount>0&&(this.resetScrollbar(),removeClass(document.body,"modal-open")),setAttr(document.body,"data-modal-open-count",String(newCount)))},modals:function(newValue){var _this=this;this.checkScrollbar(),requestAF((function(){_this.updateModals(newValue||[])}))}},methods:{registerModal:function(modal){modal&&-1===this.modals.indexOf(modal)&&this.modals.push(modal)},unregisterModal:function(modal){var index=this.modals.indexOf(modal);index>-1&&(this.modals.splice(index,1),modal._isBeingDestroyed||modal._isDestroyed||this.resetModal(modal))},getBaseZIndex:function(){if(IS_BROWSER&&isNull(this.baseZIndex)){var div=document.createElement("div");addClass(div,"modal-backdrop"),addClass(div,"d-none"),setStyle(div,"display","none"),document.body.appendChild(div),this.baseZIndex=toInteger(getCS(div).zIndex,1040),document.body.removeChild(div)}return this.baseZIndex||1040},getScrollbarWidth:function(){if(IS_BROWSER&&isNull(this.scrollbarWidth)){var div=document.createElement("div");addClass(div,"modal-scrollbar-measure"),document.body.appendChild(div),this.scrollbarWidth=getBCR(div).width-div.clientWidth,document.body.removeChild(div)}return this.scrollbarWidth||0},updateModals:function(modals){var _this2=this,baseZIndex=this.getBaseZIndex(),scrollbarWidth=this.getScrollbarWidth();modals.forEach((function(modal,index){modal.zIndex=baseZIndex+index,modal.scrollbarWidth=scrollbarWidth,modal.isTop=index===_this2.modals.length-1,modal.isBodyOverflowing=_this2.isBodyOverflowing}))},resetModal:function(modal){modal&&(modal.zIndex=this.getBaseZIndex(),modal.isTop=!0,modal.isBodyOverflowing=!1)},checkScrollbar:function(){var _getBCR=getBCR(document.body),left=_getBCR.left,right=_getBCR.right;this.isBodyOverflowing=left+right0&&void 0!==arguments[0]&&arguments[0];this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on&&(this.$_observer=observeDom(this.$refs.content,this.checkModalOverflow.bind(this),OBSERVER_CONFIG))},updateModel:function(value){value!==this[MODEL_PROP_NAME$5]&&this.$emit(MODEL_EVENT_NAME$5,value)},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvModalEvent(type,_objectSpread2$3(_objectSpread2$3({cancelable:!1,target:this.$refs.modal||this.$el||null,relatedTarget:null,trigger:null},options),{},{vueTarget:this,componentId:this.modalId}))},show:function(){if(!this.isVisible&&!this.isOpening)if(this.isClosing)this.$once("hidden",this.show);else{this.isOpening=!0,this.$_returnFocus=this.$_returnFocus||this.getActiveElement();var showEvent=this.buildEvent("show",{cancelable:!0});if(this.emitEvent(showEvent),showEvent.defaultPrevented||this.isVisible)return this.isOpening=!1,void this.updateModel(!1);this.doShow()}},hide:function(){var trigger=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(this.isVisible&&!this.isClosing){this.isClosing=!0;var hideEvent=this.buildEvent("hide",{cancelable:"FORCE"!==trigger,trigger:trigger||null});if("ok"===trigger?this.$emit("ok",hideEvent):"cancel"===trigger?this.$emit("cancel",hideEvent):"headerclose"===trigger&&this.$emit("close",hideEvent),this.emitEvent(hideEvent),hideEvent.defaultPrevented||!this.isVisible)return this.isClosing=!1,void this.updateModel(!0);this.setObserver(!1),this.isVisible=!1,this.updateModel(!1)}},toggle:function(triggerEl){triggerEl&&(this.$_returnFocus=triggerEl),this.isVisible?this.hide("toggle"):this.show()},getActiveElement:function(){var activeElement=getActiveElement(IS_BROWSER?[document.body]:[]);return activeElement&&activeElement.focus?activeElement:null},doShow:function(){var _this=this;modalManager.modalsAreOpen&&this.noStacking?this.listenOnRootOnce(getRootEventName("BModal","hidden"),this.doShow):(modalManager.registerModal(this),this.isHidden=!1,this.$nextTick((function(){_this.isVisible=!0,_this.isOpening=!1,_this.updateModel(!0),_this.$nextTick((function(){_this.setObserver(!0)}))})))},onBeforeEnter:function(){this.isTransitioning=!0,this.setResizeEvent(!0)},onEnter:function(){var _this2=this;this.isBlock=!0,requestAF((function(){requestAF((function(){_this2.isShow=!0}))}))},onAfterEnter:function(){var _this3=this;this.checkModalOverflow(),this.isTransitioning=!1,requestAF((function(){_this3.emitEvent(_this3.buildEvent("shown")),_this3.setEnforceFocus(!0),_this3.$nextTick((function(){_this3.focusFirst()}))}))},onBeforeLeave:function(){this.isTransitioning=!0,this.setResizeEvent(!1),this.setEnforceFocus(!1)},onLeave:function(){this.isShow=!1},onAfterLeave:function(){var _this4=this;this.isBlock=!1,this.isTransitioning=!1,this.isModalOverflowing=!1,this.isHidden=!0,this.$nextTick((function(){_this4.isClosing=!1,modalManager.unregisterModal(_this4),_this4.returnFocusTo(),_this4.emitEvent(_this4.buildEvent("hidden"))}))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BModal",type),bvEvent,bvEvent.componentId),this.$emit(type,bvEvent)},onDialogMousedown:function(){var _this5=this,modal=this.$refs.modal;eventOn(modal,"mouseup",(function onceModalMouseup(event){eventOff(modal,"mouseup",onceModalMouseup,EVENT_OPTIONS_NO_CAPTURE),event.target===modal&&(_this5.ignoreBackdropClick=!0)}),EVENT_OPTIONS_NO_CAPTURE)},onClickOut:function(event){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:this.isVisible&&!this.noCloseOnBackdrop&&contains(document.body,event.target)&&(contains(this.$refs.content,event.target)||this.hide("backdrop"))},onOk:function(){this.hide("ok")},onCancel:function(){this.hide("cancel")},onClose:function(){this.hide("headerclose")},onEsc:function(event){27===event.keyCode&&this.isVisible&&!this.noCloseOnEsc&&this.hide("esc")},focusHandler:function(event){var content=this.$refs.content,target=event.target;if(!(this.noEnforceFocus||!this.isTop||!this.isVisible||!content||document===target||contains(content,target)||this.computeIgnoreEnforceFocusSelector&&closest(this.computeIgnoreEnforceFocusSelector,target,!0))){var tabables=getTabables(this.$refs.content),bottomTrap=this.$refs["bottom-trap"],topTrap=this.$refs["top-trap"];if(bottomTrap&&target===bottomTrap){if(attemptFocus(tabables[0]))return}else if(topTrap&&target===topTrap&&attemptFocus(tabables[tabables.length-1]))return;attemptFocus(content,{preventScroll:!0})}},setEnforceFocus:function(on){this.listenDocument(on,"focusin",this.focusHandler)},setResizeEvent:function(on){this.listenWindow(on,"resize",this.checkModalOverflow),this.listenWindow(on,"orientationchange",this.checkModalOverflow)},showHandler:function(id,triggerEl){id===this.modalId&&(this.$_returnFocus=triggerEl||this.getActiveElement(),this.show())},hideHandler:function(id){id===this.modalId&&this.hide("event")},toggleHandler:function(id,triggerEl){id===this.modalId&&this.toggle(triggerEl)},modalListener:function(bvEvent){this.noStacking&&bvEvent.vueTarget!==this&&this.hide()},focusFirst:function(){var _this6=this;IS_BROWSER&&requestAF((function(){var modal=_this6.$refs.modal,content=_this6.$refs.content,activeElement=_this6.getActiveElement();if(modal&&content&&(!activeElement||!contains(content,activeElement))){var ok=_this6.$refs["ok-button"],cancel=_this6.$refs["cancel-button"],close=_this6.$refs["close-button"],autoFocus=_this6.autoFocusButton,el="ok"===autoFocus&&ok?ok.$el||ok:"cancel"===autoFocus&&cancel?cancel.$el||cancel:"headerclose"===autoFocus&&close?close.$el||close:content;attemptFocus(el),el===content&&_this6.$nextTick((function(){modal.scrollTop=0}))}}))},returnFocusTo:function(){var el=this.returnFocus||this.$_returnFocus||null;this.$_returnFocus=null,this.$nextTick((function(){(el=isString(el)?select(el):el)&&(el=el.$el||el,attemptFocus(el))}))},checkModalOverflow:function(){if(this.isVisible){var modal=this.$refs.modal;this.isModalOverflowing=modal.scrollHeight>document.documentElement.clientHeight}},makeModal:function(h){var $header=h();if(!this.hideHeader){var $modalHeader=this.normalizeSlot("modal-header",this.slotScope);if(!$modalHeader){var $closeButton=h();this.hideHeaderClose||($closeButton=h(BButtonClose,{props:{content:this.headerCloseContent,disabled:this.isTransitioning,ariaLabel:this.headerCloseLabel,textVariant:this.headerCloseVariant||this.headerTextVariant},on:{click:this.onClose},ref:"close-button"},[this.normalizeSlot("modal-header-close")])),$modalHeader=[h(this.titleTag,{staticClass:"modal-title",class:this.titleClasses,attrs:{id:this.modalTitleId},domProps:this.hasNormalizedSlot("modal-title")?{}:htmlOrText(this.titleHtml,this.title)},this.normalizeSlot("modal-title",this.slotScope)),$closeButton]}$header=h(this.headerTag,{staticClass:"modal-header",class:this.headerClasses,attrs:{id:this.modalHeaderId},ref:"header"},[$modalHeader])}var $body=h("div",{staticClass:"modal-body",class:this.bodyClasses,attrs:{id:this.modalBodyId},ref:"body"},this.normalizeSlot("default",this.slotScope)),$footer=h();if(!this.hideFooter){var $modalFooter=this.normalizeSlot("modal-footer",this.slotScope);if(!$modalFooter){var $cancelButton=h();this.okOnly||($cancelButton=h(BButton,{props:{variant:this.cancelVariant,size:this.buttonSize,disabled:this.cancelDisabled||this.busy||this.isTransitioning},domProps:this.hasNormalizedSlot("modal-cancel")?{}:htmlOrText(this.cancelTitleHtml,this.cancelTitle),on:{click:this.onCancel},ref:"cancel-button"},this.normalizeSlot("modal-cancel"))),$modalFooter=[$cancelButton,h(BButton,{props:{variant:this.okVariant,size:this.buttonSize,disabled:this.okDisabled||this.busy||this.isTransitioning},domProps:this.hasNormalizedSlot("modal-ok")?{}:htmlOrText(this.okTitleHtml,this.okTitle),on:{click:this.onOk},ref:"ok-button"},this.normalizeSlot("modal-ok"))]}$footer=h(this.footerTag,{staticClass:"modal-footer",class:this.footerClasses,attrs:{id:this.modalFooterId},ref:"footer"},[$modalFooter])}var $modalContent=h("div",{staticClass:"modal-content",class:this.contentClass,attrs:{id:this.modalContentId,tabindex:"-1"},ref:"content"},[$header,$body,$footer]),$tabTrapTop=h(),$tabTrapBottom=h();this.isVisible&&!this.noEnforceFocus&&($tabTrapTop=h("span",{attrs:{tabindex:"0"},ref:"top-trap"}),$tabTrapBottom=h("span",{attrs:{tabindex:"0"},ref:"bottom-trap"}));var $modalDialog=h("div",{staticClass:"modal-dialog",class:this.dialogClasses,on:{mousedown:this.onDialogMousedown},ref:"dialog"},[$tabTrapTop,$modalContent,$tabTrapBottom]),$modal=h("div",{staticClass:"modal",class:this.modalClasses,style:this.modalStyles,attrs:this.computedModalAttrs,on:{keydown:this.onEsc,click:this.onClickOut},directives:[{name:"show",value:this.isVisible}],ref:"modal"},[$modalDialog]);$modal=h("transition",{props:{enterClass:"",enterToClass:"",enterActiveClass:"",leaveClass:"",leaveActiveClass:"",leaveToClass:""},on:{beforeEnter:this.onBeforeEnter,enter:this.onEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,leave:this.onLeave,afterLeave:this.onAfterLeave}},[$modal]);var $backdrop=h();return!this.hideBackdrop&&this.isVisible&&($backdrop=h("div",{staticClass:"modal-backdrop",attrs:{id:this.modalBackdropId}},this.normalizeSlot("modal-backdrop"))),$backdrop=h(BVTransition,{props:{noFade:this.noFade}},[$backdrop]),h("div",{style:this.modalOuterStyle,attrs:this.computedAttrs,key:"modal-outer-".concat(this._uid)},[$modal,$backdrop])}},render:function(h){return this.static?this.lazy&&this.isHidden?h():this.makeModal(h):this.isHidden?h():h(BVTransporter,[this.makeModal(h)])}}),ROOT_ACTION_EVENT_NAME_SHOW=getRootActionEventName("BModal","show"),PROPERTY="__bv_modal_directive__",getTarget=function(_ref){var _ref$modifiers=_ref.modifiers,modifiers=void 0===_ref$modifiers?{}:_ref$modifiers,arg=_ref.arg,value=_ref.value;return isString(value)?value:isString(arg)?arg:keys(modifiers).reverse()[0]},getTriggerElement=function(el){return el&&matches(el,".dropdown-menu > li, li.nav-item")&&select("a, button",el)||el},setRole=function(trigger){trigger&&"BUTTON"!==trigger.tagName&&(hasAttr(trigger,"role")||setAttr(trigger,"role","button"),"A"===trigger.tagName||hasAttr(trigger,"tabindex")||setAttr(trigger,"tabindex","0"))},unbind=function(el){var oldProp=el[PROPERTY]||{},trigger=oldProp.trigger,handler=oldProp.handler;trigger&&handler&&(eventOff(trigger,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(trigger,"keydown",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"click",handler,EVENT_OPTIONS_PASSIVE),eventOff(el,"keydown",handler,EVENT_OPTIONS_PASSIVE)),delete el[PROPERTY]},componentUpdated=function(el,binding,vnode){var oldProp=el[PROPERTY]||{},target=getTarget(binding),trigger=getTriggerElement(el);target===oldProp.target&&trigger===oldProp.trigger||(unbind(el),function(el,binding,vnode){var target=getTarget(binding),trigger=getTriggerElement(el);if(target&&trigger){var handler=function(event){var currentTarget=event.currentTarget;if(!isDisabled(currentTarget)){var type=event.type,key=event.keyCode;"click"!==type&&("keydown"!==type||key!==CODE_ENTER&&key!==CODE_SPACE)||getEventRoot(getInstanceFromDirective(vnode,binding)).$emit(ROOT_ACTION_EVENT_NAME_SHOW,target,currentTarget)}};el[PROPERTY]={handler:handler,target:target,trigger:trigger},setRole(trigger),eventOn(trigger,"click",handler,EVENT_OPTIONS_PASSIVE),"BUTTON"!==trigger.tagName&&"button"===getAttr(trigger,"role")&&eventOn(trigger,"keydown",handler,EVENT_OPTIONS_PASSIVE)}}(el,binding,vnode)),setRole(trigger)},VBModal={inserted:componentUpdated,updated:function(){},componentUpdated:componentUpdated,unbind:unbind},BASE_PROPS$1=["id"].concat(_toConsumableArray$1(keys(omit(props$V,["busy","lazy","noStacking","static","visible"])))),defaultResolver=function(){},propsToSlots$1={msgBoxContent:"default",title:"modal-title",okTitle:"modal-ok",cancelTitle:"modal-cancel"},filterOptions$1=function(options){return BASE_PROPS$1.reduce((function(memo,key){return isUndefined(options[key])||(memo[key]=options[key]),memo}),{})},BVModalPlugin=pluginFactory({plugins:{plugin:function(Vue){var BMsgBox=Vue.extend({name:"BMsgBox",extends:BModal,mixins:[useParentMixin],destroyed:function(){this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)},mounted:function(){var _this=this,handleDestroy=function(){_this.$nextTick((function(){requestAF((function(){_this.$destroy()}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy),this.$router&&this.$route&&this.$once(HOOK_EVENT_NAME_BEFORE_DESTROY,this.$watch("$router",handleDestroy)),this.show()}}),makeMsgBox=function(parent,content){var options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},resolver=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(content&&!warnNoPromiseSupport("$bvModal")&&!warnNotClient("$bvModal")&&isFunction$1(resolver))return function(parent,props){var resolver=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultResolver;if(!warnNotClient("$bvModal")&&!warnNoPromiseSupport("$bvModal")){var msgBox=createNewChildComponent(parent,BMsgBox,{propsData:_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},filterOptions$1(getComponentConfig("BModal"))),{},{hideHeaderClose:!0,hideHeader:!(props.title||props.titleHtml)},omit(props,keys(propsToSlots$1))),{},{lazy:!1,busy:!1,visible:!1,noStacking:!1,noEnforceFocus:!1})});return keys(propsToSlots$1).forEach((function(prop){isUndefined(props[prop])||(msgBox.$slots[propsToSlots$1[prop]]=concat(props[prop]))})),new Promise((function(resolve,reject){var resolved=!1;msgBox.$once(HOOK_EVENT_NAME_DESTROYED,(function(){resolved||reject(new Error("BootstrapVue MsgBox destroyed before resolve"))})),msgBox.$on("hide",(function(bvModalEvent){if(!bvModalEvent.defaultPrevented){var result=resolver(bvModalEvent);bvModalEvent.defaultPrevented||(resolved=!0,resolve(result))}}));var div=document.createElement("div");document.body.appendChild(div),msgBox.$mount(div)}))}}(parent,_objectSpread2$3(_objectSpread2$3({},filterOptions$1(options)),{},{msgBoxContent:content}),resolver)},BvModal=function(){function BvModal(vm){_classCallCheck(this,BvModal),assign(this,{_vm:vm,_root:getEventRoot(vm)}),defineProperties(this,{_vm:{enumerable:!0,configurable:!1,writable:!1},_root:{enumerable:!0,configurable:!1,writable:!1}})}return _createClass(BvModal,[{key:"show",value:function(id){if(id&&this._root){for(var _this$_root,_len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];(_this$_root=this._root).$emit.apply(_this$_root,[getRootActionEventName("BModal","show"),id].concat(args))}}},{key:"hide",value:function(id){if(id&&this._root){for(var _this$_root2,_len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];(_this$_root2=this._root).$emit.apply(_this$_root2,[getRootActionEventName("BModal","hide"),id].concat(args))}}},{key:"msgBoxOk",value:function(message){var props=_objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{okOnly:!0,okDisabled:!1,hideFooter:!1,msgBoxContent:message});return makeMsgBox(this._vm,message,props,(function(){return!0}))}},{key:"msgBoxConfirm",value:function(message){var props=_objectSpread2$3(_objectSpread2$3({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{},{okOnly:!1,okDisabled:!1,cancelDisabled:!1,hideFooter:!1});return makeMsgBox(this._vm,message,props,(function(bvModalEvent){var trigger=bvModalEvent.trigger;return"ok"===trigger||"cancel"!==trigger&&null}))}}]),BvModal}();Vue.mixin({beforeCreate:function(){this._bv__modal=new BvModal(this)}}),hasOwnProperty(Vue.prototype,"$bvModal")||defineProperty$1(Vue.prototype,"$bvModal",{get:function(){return this&&this._bv__modal||warn('"'.concat("$bvModal",'" must be accessed from a Vue instance "this" context.'),"BModal"),this._bv__modal}})}}}),ModalPlugin=pluginFactory({components:{BModal:BModal},directives:{VBModal:VBModal},plugins:{BVModalPlugin:BVModalPlugin}}),props$U=makePropsConfigurable({align:makeProp(PROP_TYPE_STRING),cardHeader:makeProp(PROP_TYPE_BOOLEAN,!1),fill:makeProp(PROP_TYPE_BOOLEAN,!1),justified:makeProp(PROP_TYPE_BOOLEAN,!1),pills:makeProp(PROP_TYPE_BOOLEAN,!1),small:makeProp(PROP_TYPE_BOOLEAN,!1),tabs:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"ul"),vertical:makeProp(PROP_TYPE_BOOLEAN,!1)},"BNav"),BNav=extend({name:"BNav",functional:!0,props:props$U,render:function(h,_ref){var _class,value,props=_ref.props,data=_ref.data,children=_ref.children,tabs=props.tabs,pills=props.pills,vertical=props.vertical,align=props.align,cardHeader=props.cardHeader;return h(props.tag,a(data,{staticClass:"nav",class:(_class={"nav-tabs":tabs,"nav-pills":pills&&!tabs,"card-header-tabs":!vertical&&cardHeader&&tabs,"card-header-pills":!vertical&&cardHeader&&pills&&!tabs,"flex-column":vertical,"nav-fill":!vertical&&props.fill,"nav-justified":!vertical&&props.justified},_defineProperty(_class,(value=align,"justify-content-".concat(value="left"===value?"start":"right"===value?"end":value)),!vertical&&align),_defineProperty(_class,"small",props.small),_class)}),children)}}),linkProps$2=omit(props$2f,["event","routerTag"]),props$T=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$2),{},{linkAttrs:makeProp(PROP_TYPE_OBJECT,{}),linkClasses:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),"BNavItem"),BNavItem=extend({name:"BNavItem",functional:!0,props:props$T,render:function(h,_ref){var props=_ref.props,data=_ref.data,listeners=_ref.listeners,children=_ref.children;return h("li",a(omit(data,["on"]),{staticClass:"nav-item"}),[h(BLink,{staticClass:"nav-link",class:props.linkClasses,attrs:props.linkAttrs,props:pluckProps(linkProps$2,props),on:listeners},children)])}}),BNavText=extend({name:"BNavText",functional:!0,props:{},render:function(h,_ref){var data=_ref.data,children=_ref.children;return h("li",a(data,{staticClass:"navbar-text"}),children)}}),formProps=omit(props$1I,["inline"]),props$R=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},formProps),{},{formClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),"BNavForm"),BNavForm=extend({name:"BNavForm",functional:!0,props:props$R,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,listeners=_ref.listeners,$form=h(BForm,{class:props.formClass,props:_objectSpread2$3(_objectSpread2$3({},pluckProps(formProps,props)),{},{inline:!0}),attrs:data.attrs,on:listeners},children);return h("li",a(omit(data,["attrs","on"]),{staticClass:"form-inline"}),[$form])}}),props$Q=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),pick$1(props$1N,[].concat(_toConsumableArray$1(keys(props$1O)),["html","lazy","menuClass","noCaret","role","text","toggleClass"])))),"BNavItemDropdown"),BNavItemDropdown=extend({name:"BNavItemDropdown",mixins:[idMixin,dropdownMixin,normalizeSlotMixin],props:props$Q,computed:{toggleId:function(){return this.safeId("_BV_toggle_")},menuId:function(){return this.safeId("_BV_toggle_menu_")},dropdownClasses:function(){return[this.directionClass,this.boundaryClass,{show:this.visible}]},menuClasses:function(){return[this.menuClass,{"dropdown-menu-right":this.right,show:this.visible}]},toggleClasses:function(){return[this.toggleClass,{"dropdown-toggle-no-caret":this.noCaret}]}},render:function(h){var toggleId=this.toggleId,menuId=this.menuId,visible=this.visible,hide=this.hide,$toggle=h(BLink,{staticClass:"nav-link dropdown-toggle",class:this.toggleClasses,props:{href:"#".concat(this.id||""),disabled:this.disabled},attrs:{id:toggleId,role:"button","aria-haspopup":"true","aria-expanded":visible?"true":"false","aria-controls":menuId},on:{mousedown:this.onMousedown,click:this.toggle,keydown:this.toggle},ref:"toggle"},[this.normalizeSlot(["button-content","text"])||h("span",{domProps:htmlOrText(this.html,this.text)})]),$menu=h("ul",{staticClass:"dropdown-menu",class:this.menuClasses,attrs:{tabindex:"-1","aria-labelledby":toggleId,id:menuId},on:{keydown:this.onKeydown},ref:"menu"},!this.lazy||visible?this.normalizeSlot("default",{hide:hide}):[h()]);return h("li",{staticClass:"nav-item b-nav-dropdown dropdown",class:this.dropdownClasses,attrs:{id:this.safeId()}},[$toggle,$menu])}}),NavPlugin=pluginFactory({components:{BNav:BNav,BNavItem:BNavItem,BNavText:BNavText,BNavForm:BNavForm,BNavItemDropdown:BNavItemDropdown,BNavItemDd:BNavItemDropdown,BNavDropdown:BNavItemDropdown,BNavDd:BNavItemDropdown},plugins:{DropdownPlugin:DropdownPlugin}}),props$P=makePropsConfigurable({fixed:makeProp(PROP_TYPE_STRING),print:makeProp(PROP_TYPE_BOOLEAN,!1),sticky:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"nav"),toggleable:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),type:makeProp(PROP_TYPE_STRING,"light"),variant:makeProp(PROP_TYPE_STRING)},"BNavbar"),BNavbar=extend({name:"BNavbar",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvNavbar:function(){return _this}}},props:props$P,computed:{breakpointClass:function(){var toggleable=this.toggleable,xs=getBreakpoints()[0],breakpoint=null;return toggleable&&isString(toggleable)&&toggleable!==xs?breakpoint="navbar-expand-".concat(toggleable):!1===toggleable&&(breakpoint="navbar-expand"),breakpoint}},render:function(h){var _ref,tag=this.tag,type=this.type,variant=this.variant,fixed=this.fixed;return h(tag,{staticClass:"navbar",class:[(_ref={"d-print":this.print,"sticky-top":this.sticky},_defineProperty(_ref,"navbar-".concat(type),type),_defineProperty(_ref,"bg-".concat(variant),variant),_defineProperty(_ref,"fixed-".concat(fixed),fixed),_ref),this.breakpointClass],attrs:{role:isTag(tag,"nav")?null:"navigation"}},[this.normalizeSlot()])}}),props$O=makePropsConfigurable(pick$1(props$U,["tag","fill","justified","align","small"]),"BNavbarNav"),BNavbarNav=extend({name:"BNavbarNav",functional:!0,props:props$O,render:function(h,_ref){var _class,value,props=_ref.props,data=_ref.data,children=_ref.children,align=props.align;return h(props.tag,a(data,{staticClass:"navbar-nav",class:(_class={"nav-fill":props.fill,"nav-justified":props.justified},_defineProperty(_class,(value=align,"justify-content-".concat(value="left"===value?"start":"right"===value?"end":value)),align),_defineProperty(_class,"small",props.small),_class)}),children)}}),linkProps$1=omit(props$2f,["event","routerTag"]);linkProps$1.href.default=void 0,linkProps$1.to.default=void 0;var _watch$6,_makePropsConfigurabl,_watch$5,_watch$4,props$N=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},linkProps$1),{},{tag:makeProp(PROP_TYPE_STRING,"div")})),"BNavbarBrand"),BNavbarBrand=extend({name:"BNavbarBrand",functional:!0,props:props$N,render:function(h,_ref){var props=_ref.props,data=_ref.data,children=_ref.children,isLink=props.to||props.href;return h(isLink?BLink:props.tag,a(data,{staticClass:"navbar-brand",props:isLink?pluckProps(linkProps$1,props):{}}),children)}}),ROOT_EVENT_NAME_STATE$1=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE$1=getRootEventName("BCollapse","sync-state"),props$M=makePropsConfigurable({disabled:makeProp(PROP_TYPE_BOOLEAN,!1),label:makeProp(PROP_TYPE_STRING,"Toggle navigation"),target:makeProp(PROP_TYPE_ARRAY_STRING,void 0,!0)},"BNavbarToggle"),BNavbarToggle=extend({name:"BNavbarToggle",directives:{VBToggle:VBToggle},mixins:[listenOnRootMixin,normalizeSlotMixin],props:props$M,data:function(){return{toggleState:!1}},created:function(){this.listenOnRoot(ROOT_EVENT_NAME_STATE$1,this.handleStateEvent),this.listenOnRoot(ROOT_EVENT_NAME_SYNC_STATE$1,this.handleStateEvent)},methods:{onClick:function(event){this.disabled||this.$emit("click",event)},handleStateEvent:function(id,state){id===this.target&&(this.toggleState=state)}},render:function(h){var disabled=this.disabled;return h("button",{staticClass:"navbar-toggler",class:{disabled:disabled},directives:[{name:"VBToggle",value:this.target}],attrs:{type:"button",disabled:disabled,"aria-label":this.label},on:{click:this.onClick}},[this.normalizeSlot("default",{expanded:this.toggleState})||h("span",{staticClass:"".concat("navbar-toggler","-icon")})])}}),NavbarPlugin=pluginFactory({components:{BNavbar:BNavbar,BNavbarNav:BNavbarNav,BNavbarBrand:BNavbarBrand,BNavbarToggle:BNavbarToggle,BNavToggle:BNavbarToggle},plugins:{NavPlugin:NavPlugin,CollapsePlugin:CollapsePlugin,DropdownPlugin:DropdownPlugin}}),props$L=makePropsConfigurable({label:makeProp(PROP_TYPE_STRING),role:makeProp(PROP_TYPE_STRING,"status"),small:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"span"),type:makeProp(PROP_TYPE_STRING,"border"),variant:makeProp(PROP_TYPE_STRING)},"BSpinner"),BSpinner=extend({name:"BSpinner",functional:!0,props:props$L,render:function(h,_ref){var _class,props=_ref.props,data=_ref.data,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$label=normalizeSlot("label",{},scopedSlots||{},$slots)||props.label;return $label&&($label=h("span",{staticClass:"sr-only"},$label)),h(props.tag,a(data,{attrs:{role:$label?props.role||"status":null,"aria-hidden":$label?null:"true"},class:(_class={},_defineProperty(_class,"spinner-".concat(props.type),props.type),_defineProperty(_class,"spinner-".concat(props.type,"-sm"),props.small),_defineProperty(_class,"text-".concat(props.variant),props.variant),_class)}),[$label||h()])}}),POSITION_COVER={top:0,left:0,bottom:0,right:0},props$K=makePropsConfigurable({bgColor:makeProp(PROP_TYPE_STRING),blur:makeProp(PROP_TYPE_STRING,"2px"),fixed:makeProp(PROP_TYPE_BOOLEAN,!1),noCenter:makeProp(PROP_TYPE_BOOLEAN,!1),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noWrap:makeProp(PROP_TYPE_BOOLEAN,!1),opacity:makeProp(PROP_TYPE_NUMBER_STRING,.85,(function(value){var number=toFloat(value,0);return number>=0&&number<=1})),overlayTag:makeProp(PROP_TYPE_STRING,"div"),rounded:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),show:makeProp(PROP_TYPE_BOOLEAN,!1),spinnerSmall:makeProp(PROP_TYPE_BOOLEAN,!1),spinnerType:makeProp(PROP_TYPE_STRING,"border"),spinnerVariant:makeProp(PROP_TYPE_STRING),variant:makeProp(PROP_TYPE_STRING,"light"),wrapTag:makeProp(PROP_TYPE_STRING,"div"),zIndex:makeProp(PROP_TYPE_NUMBER_STRING,10)},"BOverlay"),BOverlay=extend({name:"BOverlay",mixins:[normalizeSlotMixin],props:props$K,computed:{computedRounded:function(){var rounded=this.rounded;return!0===rounded||""===rounded?"rounded":rounded?"rounded-".concat(rounded):""},computedVariant:function(){var variant=this.variant;return variant&&!this.bgColor?"bg-".concat(variant):""},slotScope:function(){return{spinnerType:this.spinnerType||null,spinnerVariant:this.spinnerVariant||null,spinnerSmall:this.spinnerSmall}}},methods:{defaultOverlayFn:function(_ref){var spinnerType=_ref.spinnerType,spinnerVariant=_ref.spinnerVariant,spinnerSmall=_ref.spinnerSmall;return this.$createElement(BSpinner,{props:{type:spinnerType,variant:spinnerVariant,small:spinnerSmall}})}},render:function(h){var _this=this,show=this.show,fixed=this.fixed,noFade=this.noFade,noWrap=this.noWrap,slotScope=this.slotScope,$overlay=h();if(show){var $background=h("div",{staticClass:"position-absolute",class:[this.computedVariant,this.computedRounded],style:_objectSpread2$3(_objectSpread2$3({},POSITION_COVER),{},{opacity:this.opacity,backgroundColor:this.bgColor||null,backdropFilter:this.blur?"blur(".concat(this.blur,")"):null})}),$content=h("div",{staticClass:"position-absolute",style:this.noCenter?_objectSpread2$3({},POSITION_COVER):{top:"50%",left:"50%",transform:"translateX(-50%) translateY(-50%)"}},[this.normalizeSlot("overlay",slotScope)||this.defaultOverlayFn(slotScope)]);$overlay=h(this.overlayTag,{staticClass:"b-overlay",class:{"position-absolute":!noWrap||noWrap&&!fixed,"position-fixed":noWrap&&fixed},style:_objectSpread2$3(_objectSpread2$3({},POSITION_COVER),{},{zIndex:this.zIndex||10}),on:{click:function(event){return _this.$emit("click",event)}},key:"overlay"},[$background,$content])}return $overlay=h(BVTransition,{props:{noFade:noFade,appear:!0},on:{"after-enter":function(){return _this.$emit("shown")},"after-leave":function(){return _this.$emit("hidden")}}},[$overlay]),noWrap?$overlay:h(this.wrapTag,{staticClass:"b-overlay-wrap position-relative",attrs:{"aria-busy":show?"true":null}},noWrap?[$overlay]:[this.normalizeSlot(),$overlay])}}),OverlayPlugin=pluginFactory({components:{BOverlay:BOverlay}}),_makeModelMixin$4=makeModelMixin("value",{type:PROP_TYPE_BOOLEAN_NUMBER_STRING,defaultValue:null,validator:function(value){return!(!isNull(value)&&toInteger(value,0)<1)||(warn('"v-model" value must be a number greater than "0"',"BPagination"),!1)}}),modelMixin$4=_makeModelMixin$4.mixin,modelProps$4=_makeModelMixin$4.props,MODEL_PROP_NAME$4=_makeModelMixin$4.prop,MODEL_EVENT_NAME$4=_makeModelMixin$4.event,sanitizeLimit=function(value){var limit=toInteger(value)||1;return limit<1?5:limit},sanitizeCurrentPage=function(val,numberOfPages){var page=toInteger(val)||1;return page>numberOfPages?numberOfPages:page<1?1:page},onSpaceKey=function(event){if(event.keyCode===CODE_SPACE)return stopEvent(event,{immediatePropagation:!0}),event.currentTarget.click(),!1},props$J=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$4),{},{align:makeProp(PROP_TYPE_STRING,"left"),ariaLabel:makeProp(PROP_TYPE_STRING,"Pagination"),disabled:makeProp(PROP_TYPE_BOOLEAN,!1),ellipsisClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),ellipsisText:makeProp(PROP_TYPE_STRING,"…"),firstClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),firstNumber:makeProp(PROP_TYPE_BOOLEAN,!1),firstText:makeProp(PROP_TYPE_STRING,"«"),hideEllipsis:makeProp(PROP_TYPE_BOOLEAN,!1),hideGotoEndButtons:makeProp(PROP_TYPE_BOOLEAN,!1),labelFirstPage:makeProp(PROP_TYPE_STRING,"Go to first page"),labelLastPage:makeProp(PROP_TYPE_STRING,"Go to last page"),labelNextPage:makeProp(PROP_TYPE_STRING,"Go to next page"),labelPage:makeProp(PROP_TYPE_FUNCTION_STRING,"Go to page"),labelPrevPage:makeProp(PROP_TYPE_STRING,"Go to previous page"),lastClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),lastNumber:makeProp(PROP_TYPE_BOOLEAN,!1),lastText:makeProp(PROP_TYPE_STRING,"»"),limit:makeProp(PROP_TYPE_NUMBER_STRING,5,(function(value){return!(toInteger(value,0)<1)||(warn('Prop "limit" must be a number greater than "0"',"BPagination"),!1)})),nextClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),nextText:makeProp(PROP_TYPE_STRING,"›"),pageClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),pills:makeProp(PROP_TYPE_BOOLEAN,!1),prevClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),prevText:makeProp(PROP_TYPE_STRING,"‹"),size:makeProp(PROP_TYPE_STRING)})),"pagination"),paginationMixin$1=extend({mixins:[modelMixin$4,normalizeSlotMixin],props:props$J,data:function(){var currentPage=toInteger(this[MODEL_PROP_NAME$4],0);return{currentPage:currentPage=currentPage>0?currentPage:-1,localNumberOfPages:1,localLimit:5}},computed:{btnSize:function(){var size=this.size;return size?"pagination-".concat(size):""},alignment:function(){var align=this.align;return"center"===align?"justify-content-center":"end"===align||"right"===align?"justify-content-end":"fill"===align?"text-center":""},styleClass:function(){return this.pills?"b-pagination-pills":""},computedCurrentPage:function(){return sanitizeCurrentPage(this.currentPage,this.localNumberOfPages)},paginationParams:function(){var limit=this.localLimit,numberOfPages=this.localNumberOfPages,currentPage=this.computedCurrentPage,hideEllipsis=this.hideEllipsis,firstNumber=this.firstNumber,lastNumber=this.lastNumber,showFirstDots=!1,showLastDots=!1,numberOfLinks=limit,startNumber=1;numberOfPages<=limit?numberOfLinks=numberOfPages:currentPage3?(hideEllipsis&&!lastNumber||(showLastDots=!0,numberOfLinks=limit-(firstNumber?0:1)),numberOfLinks=mathMin(numberOfLinks,limit)):numberOfPages-currentPage+23?(hideEllipsis&&!firstNumber||(showFirstDots=!0,numberOfLinks=limit-(lastNumber?0:1)),startNumber=numberOfPages-numberOfLinks+1):(limit>3&&(numberOfLinks=limit-(hideEllipsis?0:2),showFirstDots=!(hideEllipsis&&!firstNumber),showLastDots=!(hideEllipsis&&!lastNumber)),startNumber=currentPage-mathFloor(numberOfLinks/2)),startNumber<1?(startNumber=1,showFirstDots=!1):startNumber>numberOfPages-numberOfLinks&&(startNumber=numberOfPages-numberOfLinks+1,showLastDots=!1),showFirstDots&&firstNumber&&startNumber<4&&(numberOfLinks+=2,startNumber=1,showFirstDots=!1);var lastPageNumber=startNumber+numberOfLinks-1;return showLastDots&&lastNumber&&lastPageNumber>numberOfPages-3&&(numberOfLinks+=lastPageNumber===numberOfPages-2?2:3,showLastDots=!1),limit<=3&&(firstNumber&&1===startNumber?numberOfLinks=mathMin(numberOfLinks+1,numberOfPages,limit+1):lastNumber&&numberOfPages===startNumber+numberOfLinks-1&&(startNumber=mathMax(startNumber-1,1),numberOfLinks=mathMin(numberOfPages-startNumber+1,numberOfPages,limit+1))),{showFirstDots:showFirstDots,showLastDots:showLastDots,numberOfLinks:numberOfLinks=mathMin(numberOfLinks,numberOfPages-startNumber+1),startNumber:startNumber}},pageList:function(){var _this$paginationParam=this.paginationParams,numberOfLinks=_this$paginationParam.numberOfLinks,startNumber=_this$paginationParam.startNumber,currentPage=this.computedCurrentPage,pages=function(startNumber,numberOfPages){return createArray(numberOfPages,(function(_,i){return{number:startNumber+i,classes:null}}))}(startNumber,numberOfLinks);if(pages.length>3){var idx=currentPage-startNumber,classes="bv-d-xs-down-none";if(0===idx)for(var i=3;iidx+1;_i3--)pages[_i3].classes=classes}}return pages}},watch:(_watch$6={},_defineProperty(_watch$6,MODEL_PROP_NAME$4,(function(newValue,oldValue){newValue!==oldValue&&(this.currentPage=sanitizeCurrentPage(newValue,this.localNumberOfPages))})),_defineProperty(_watch$6,"currentPage",(function(newValue,oldValue){newValue!==oldValue&&this.$emit(MODEL_EVENT_NAME$4,newValue>0?newValue:null)})),_defineProperty(_watch$6,"limit",(function(newValue,oldValue){newValue!==oldValue&&(this.localLimit=sanitizeLimit(newValue))})),_watch$6),created:function(){var _this=this;this.localLimit=sanitizeLimit(this.limit),this.$nextTick((function(){_this.currentPage=_this.currentPage>_this.localNumberOfPages?_this.localNumberOfPages:_this.currentPage}))},methods:{handleKeyNav:function(event){var keyCode=event.keyCode,shiftKey=event.shiftKey;this.isNav||(keyCode===CODE_LEFT||keyCode===CODE_UP?(stopEvent(event,{propagation:!1}),shiftKey?this.focusFirst():this.focusPrev()):keyCode!==CODE_RIGHT&&keyCode!==CODE_DOWN||(stopEvent(event,{propagation:!1}),shiftKey?this.focusLast():this.focusNext()))},getButtons:function(){return selectAll("button.page-link, a.page-link",this.$el).filter((function(btn){return isVisible(btn)}))},focusCurrent:function(){var _this2=this;this.$nextTick((function(){var btn=_this2.getButtons().find((function(el){return toInteger(getAttr(el,"aria-posinset"),0)===_this2.computedCurrentPage}));attemptFocus(btn)||_this2.focusFirst()}))},focusFirst:function(){var _this3=this;this.$nextTick((function(){var btn=_this3.getButtons().find((function(el){return!isDisabled(el)}));attemptFocus(btn)}))},focusLast:function(){var _this4=this;this.$nextTick((function(){var btn=_this4.getButtons().reverse().find((function(el){return!isDisabled(el)}));attemptFocus(btn)}))},focusPrev:function(){var _this5=this;this.$nextTick((function(){var buttons=_this5.getButtons(),index=buttons.indexOf(getActiveElement());index>0&&!isDisabled(buttons[index-1])&&attemptFocus(buttons[index-1])}))},focusNext:function(){var _this6=this;this.$nextTick((function(){var buttons=_this6.getButtons(),index=buttons.indexOf(getActiveElement());indexnumberOfPages,pageNumber=linkTo<1?1:linkTo>numberOfPages?numberOfPages:linkTo,scope={disabled:isDisabled,page:pageNumber,index:pageNumber-1},$btnContent=_this7.normalizeSlot(btnSlot,scope)||toString(btnText)||h(),$inner=h(isDisabled?"span":isNav?BLink:"button",{staticClass:"page-link",class:{"flex-grow-1":!isNav&&!isDisabled&&fill},props:isDisabled||!isNav?{}:_this7.linkProps(linkTo),attrs:{role:isNav?null:"menuitem",type:isNav||isDisabled?null:"button",tabindex:isDisabled||isNav?null:"-1","aria-label":ariaLabel,"aria-controls":safeVueInstance(_this7).ariaControls||null,"aria-disabled":isDisabled?"true":null},on:isDisabled?{}:{"!click":function(event){_this7.onClick(event,linkTo)},keydown:onSpaceKey}},[$btnContent]);return h("li",{key:key,staticClass:"page-item",class:[{disabled:isDisabled,"flex-fill":fill,"d-flex":fill&&!isNav&&!isDisabled},btnClass],attrs:{role:isNav?null:"presentation","aria-hidden":isDisabled?"true":null}},[$inner])},makeEllipsis=function(isLast){return h("li",{staticClass:"page-item",class:["disabled","bv-d-xs-down-none",fill?"flex-fill":"",_this7.ellipsisClass],attrs:{role:"separator"},key:"ellipsis-".concat(isLast?"last":"first")},[h("span",{staticClass:"page-link"},[_this7.normalizeSlot("ellipsis-text")||toString(_this7.ellipsisText)||h()])])},makePageButton=function(page,idx){var pageNumber=page.number,active=isActivePage(pageNumber)&&!noCurrentPage,tabIndex=disabled?null:active||noCurrentPage&&0===idx?"0":"-1",attrs={role:isNav?null:"menuitemradio",type:isNav||disabled?null:"button","aria-disabled":disabled?"true":null,"aria-controls":safeVueInstance(_this7).ariaControls||null,"aria-label":hasPropFunction(labelPage)?labelPage(pageNumber):"".concat(isFunction$1(labelPage)?labelPage():labelPage," ").concat(pageNumber),"aria-checked":isNav?null:active?"true":"false","aria-current":isNav&&active?"page":null,"aria-posinset":isNav?null:pageNumber,"aria-setsize":isNav?null:numberOfPages,tabindex:isNav?null:tabIndex},btnContent=toString(_this7.makePage(pageNumber)),scope={page:pageNumber,index:pageNumber-1,content:btnContent,active:active,disabled:disabled},$inner=h(disabled?"span":isNav?BLink:"button",{props:disabled||!isNav?{}:_this7.linkProps(pageNumber),staticClass:"page-link",class:{"flex-grow-1":!isNav&&!disabled&&fill},attrs:attrs,on:disabled?{}:{"!click":function(event){_this7.onClick(event,pageNumber)},keydown:onSpaceKey}},[_this7.normalizeSlot("page",scope)||btnContent]);return h("li",{staticClass:"page-item",class:[{disabled:disabled,active:active,"flex-fill":fill,"d-flex":fill&&!isNav&&!disabled},page.classes,_this7.pageClass],attrs:{role:isNav?null:"presentation"},key:"page-".concat(pageNumber)},[$inner])},$firstPageBtn=h();this.firstNumber||this.hideGotoEndButtons||($firstPageBtn=makeEndBtn(1,this.labelFirstPage,"first-text",this.firstText,this.firstClass,1,"pagination-goto-first")),$buttons.push($firstPageBtn),$buttons.push(makeEndBtn(currentPage-1,this.labelPrevPage,"prev-text",this.prevText,this.prevClass,1,"pagination-goto-prev")),$buttons.push(this.firstNumber&&1!==pageNumbers[0]?makePageButton({number:1},0):h()),$buttons.push(showFirstDots?makeEllipsis(!1):h()),this.pageList.forEach((function(page,idx){var offset=showFirstDots&&_this7.firstNumber&&1!==pageNumbers[0]?1:0;$buttons.push(makePageButton(page,idx+offset))})),$buttons.push(showLastDots?makeEllipsis(!0):h()),$buttons.push(this.lastNumber&&pageNumbers[pageNumbers.length-1]!==numberOfPages?makePageButton({number:numberOfPages},-1):h()),$buttons.push(makeEndBtn(currentPage+1,this.labelNextPage,"next-text",this.nextText,this.nextClass,numberOfPages,"pagination-goto-next"));var $lastPageBtn=h();this.lastNumber||this.hideGotoEndButtons||($lastPageBtn=makeEndBtn(numberOfPages,this.labelLastPage,"last-text",this.lastText,this.lastClass,numberOfPages,"pagination-goto-last")),$buttons.push($lastPageBtn);var $pagination=h("ul",{staticClass:"pagination",class:["b-pagination",this.btnSize,this.alignment,this.styleClass],attrs:{role:isNav?null:"menubar","aria-disabled":disabled?"true":"false","aria-label":isNav?null:ariaLabel||null},on:isNav?{}:{keydown:this.handleKeyNav},ref:"ul"},$buttons);return isNav?h("nav",{attrs:{"aria-disabled":disabled?"true":null,"aria-hidden":disabled?"true":"false","aria-label":isNav&&ariaLabel||null}},[$pagination]):$pagination}}),sanitizePerPage=function(value){return mathMax(toInteger(value)||20,1)},sanitizeTotalRows=function(value){return mathMax(toInteger(value)||0,0)},props$I=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$J),{},{ariaControls:makeProp(PROP_TYPE_STRING),perPage:makeProp(PROP_TYPE_NUMBER_STRING,20),totalRows:makeProp(PROP_TYPE_NUMBER_STRING,0)})),"BPagination"),BPagination=extend({name:"BPagination",mixins:[paginationMixin$1],props:props$I,computed:{numberOfPages:function(){var result=mathCeil(sanitizeTotalRows(this.totalRows)/sanitizePerPage(this.perPage));return result<1?1:result},pageSizeNumberOfPages:function(){return{perPage:sanitizePerPage(this.perPage),totalRows:sanitizeTotalRows(this.totalRows),numberOfPages:this.numberOfPages}}},watch:{pageSizeNumberOfPages:function(newValue,oldValue){isUndefinedOrNull(oldValue)||(newValue.perPage!==oldValue.perPage&&newValue.totalRows===oldValue.totalRows||newValue.numberOfPages!==oldValue.numberOfPages&&this.currentPage>newValue.numberOfPages)&&(this.currentPage=1),this.localNumberOfPages=newValue.numberOfPages}},created:function(){var _this=this;this.localNumberOfPages=this.numberOfPages;var currentPage=toInteger(this[MODEL_PROP_NAME$4],0);currentPage>0?this.currentPage=currentPage:this.$nextTick((function(){_this.currentPage=0}))},methods:{onClick:function(event,pageNumber){var _this2=this;if(pageNumber!==this.currentPage){var target=event.target,clickEvent=new BvEvent("page-click",{cancelable:!0,vueTarget:this,target:target});this.$emit(clickEvent.type,clickEvent,pageNumber),clickEvent.defaultPrevented||(this.currentPage=pageNumber,this.$emit("change",this.currentPage),this.$nextTick((function(){isVisible(target)&&_this2.$el.contains(target)?attemptFocus(target):_this2.focusCurrent()})))}},makePage:function(pageNum){return pageNum},linkProps:function(){return{}}}}),PaginationPlugin=pluginFactory({components:{BPagination:BPagination}}),_linkProps=omit(props$2f,["event","routerTag"]),props$H=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$J),_linkProps),{},{baseUrl:makeProp(PROP_TYPE_STRING,"/"),linkGen:makeProp(PROP_TYPE_FUNCTION),noPageDetect:makeProp(PROP_TYPE_BOOLEAN,!1),numberOfPages:makeProp(PROP_TYPE_NUMBER_STRING,1,(function(value){return!(toInteger(value,0)<1)||(warn('Prop "number-of-pages" must be a number greater than "0"',"BPaginationNav"),!1)})),pageGen:makeProp(PROP_TYPE_FUNCTION),pages:makeProp(PROP_TYPE_ARRAY),useRouter:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BPaginationNav"),BPaginationNav=extend({name:"BPaginationNav",mixins:[paginationMixin$1],props:props$H,computed:{isNav:function(){return!0},computedValue:function(){var value=toInteger(this.value,0);return value<1?null:value}},watch:{numberOfPages:function(){var _this=this;this.$nextTick((function(){_this.setNumberOfPages()}))},pages:function(){var _this2=this;this.$nextTick((function(){_this2.setNumberOfPages()}))}},created:function(){this.setNumberOfPages()},mounted:function(){var _this3=this;this.$router&&this.$watch("$route",(function(){_this3.$nextTick((function(){requestAF((function(){_this3.guessCurrentPage()}))}))}))},methods:{setNumberOfPages:function(){var value,_this4=this;isArray(this.pages)&&this.pages.length>0?this.localNumberOfPages=this.pages.length:this.localNumberOfPages=(value=this.numberOfPages,mathMax(toInteger(value,0),1)),this.$nextTick((function(){_this4.guessCurrentPage()}))},onClick:function(event,pageNumber){var _this5=this;if(pageNumber!==this.currentPage){var target=event.currentTarget||event.target,clickEvent=new BvEvent("page-click",{cancelable:!0,vueTarget:this,target:target});this.$emit(clickEvent.type,clickEvent,pageNumber),clickEvent.defaultPrevented||(requestAF((function(){_this5.currentPage=pageNumber,_this5.$emit("change",pageNumber)})),this.$nextTick((function(){attemptBlur(target)})))}},getPageInfo:function(pageNumber){if(!isArray(this.pages)||0===this.pages.length||isUndefined(this.pages[pageNumber-1])){var link="".concat(this.baseUrl).concat(pageNumber);return{link:this.useRouter?{path:link}:link,text:toString(pageNumber)}}var info=this.pages[pageNumber-1];if(isObject(info)){var _link=info.link;return{link:isObject(_link)?_link:this.useRouter?{path:_link}:_link,text:toString(info.text||pageNumber)}}return{link:toString(info),text:toString(pageNumber)}},makePage:function(pageNumber){var pageGen=this.pageGen,info=this.getPageInfo(pageNumber);return hasPropFunction(pageGen)?pageGen(pageNumber,info):info.text},makeLink:function(pageNumber){var linkGen=this.linkGen,info=this.getPageInfo(pageNumber);return hasPropFunction(linkGen)?linkGen(pageNumber,info):info.link},linkProps:function(pageNumber){var props=pluckProps(_linkProps,this),link=this.makeLink(pageNumber);return this.useRouter||isObject(link)?props.to=link:props.href=link,props},resolveLink:function(){var link,to=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{(link=document.createElement("a")).href=computeHref({to:to},"a","/","/"),document.body.appendChild(link);var _link2=link,pathname=_link2.pathname,hash=_link2.hash,search=_link2.search;return document.body.removeChild(link),{path:pathname,hash:hash,query:parseQuery(search)}}catch(e){try{link&&link.parentNode&&link.parentNode.removeChild(link)}catch(_unused){}return{}}},resolveRoute:function(){var to=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{var route=this.$router.resolve(to,this.$route).route;return{path:route.path,hash:route.hash,query:route.query}}catch(e){return{}}},guessCurrentPage:function(){var $router=this.$router,$route=this.$route,guess=this.computedValue;if(!this.noPageDetect&&!guess&&(IS_BROWSER||!IS_BROWSER&&$router))for(var currentRoute=$router&&$route?{path:$route.path,hash:$route.hash,query:$route.query}:{},loc=IS_BROWSER?window.location||document.location:null,currentLink=loc?{path:loc.pathname,hash:loc.hash,query:parseQuery(loc.search)}:{},pageNumber=1;!guess&&pageNumber<=this.localNumberOfPages;pageNumber++){var to=this.makeLink(pageNumber);guess=$router&&(isObject(to)||this.useRouter)?looseEqual(this.resolveRoute(to),currentRoute)?pageNumber:null:IS_BROWSER?looseEqual(this.resolveLink(to),currentLink)?pageNumber:null:-1}this.currentPage=guess>0?guess:0}}}),PaginationNavPlugin=pluginFactory({components:{BPaginationNav:BPaginationNav}}),AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",TOPLEFT:"top",TOPRIGHT:"top",RIGHTTOP:"right",RIGHTBOTTOM:"right",BOTTOMLEFT:"bottom",BOTTOMRIGHT:"bottom",LEFTTOP:"left",LEFTBOTTOM:"left"},OffsetMap={AUTO:0,TOPLEFT:-1,TOP:0,TOPRIGHT:1,RIGHTTOP:-1,RIGHT:0,RIGHTBOTTOM:1,BOTTOMLEFT:-1,BOTTOM:0,BOTTOMRIGHT:1,LEFTTOP:-1,LEFT:0,LEFTBOTTOM:1},props$G={arrowPadding:makeProp(PROP_TYPE_NUMBER_STRING,6),boundary:makeProp([HTMLElement,PROP_TYPE_STRING],"scrollParent"),boundaryPadding:makeProp(PROP_TYPE_NUMBER_STRING,5),fallbackPlacement:makeProp(PROP_TYPE_ARRAY_STRING,"flip"),offset:makeProp(PROP_TYPE_NUMBER_STRING,0),placement:makeProp(PROP_TYPE_STRING,"top"),target:makeProp([HTMLElement,SVGElement])},BVPopper=extend({name:"BVPopper",mixins:[useParentMixin],props:props$G,data:function(){return{noFade:!1,localShow:!0,attachment:this.getAttachment(this.placement)}},computed:{templateType:function(){return"unknown"},popperConfig:function(){var _this=this,placement=this.placement;return{placement:this.getAttachment(placement),modifiers:{offset:{offset:this.getOffset(placement)},flip:{behavior:this.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{padding:this.boundaryPadding,boundariesElement:this.boundary}},onCreate:function(data){data.originalPlacement!==data.placement&&_this.popperPlacementChange(data)},onUpdate:function(data){_this.popperPlacementChange(data)}}}},created:function(){var _this2=this;this.$_popper=null,this.localShow=!0,this.$on("show",(function(el){_this2.popperCreate(el)}));var handleDestroy=function(){_this2.$nextTick((function(){requestAF((function(){_this2.$destroy()}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy)},beforeMount:function(){this.attachment=this.getAttachment(this.placement)},updated:function(){this.updatePopper()},beforeDestroy:function(){this.destroyPopper()},destroyed:function(){var el=this.$el;el&&el.parentNode&&el.parentNode.removeChild(el)},methods:{hide:function(){this.localShow=!1},getAttachment:function(placement){return AttachmentMap[String(placement).toUpperCase()]||"auto"},getOffset:function(placement){if(!this.offset){var arrow=this.$refs.arrow||select(".arrow",this.$el),arrowOffset=toFloat(getCS(arrow).width,0)+toFloat(this.arrowPadding,0);switch(OffsetMap[String(placement).toUpperCase()]||0){case 1:return"+50%p - ".concat(arrowOffset,"px");case-1:return"-50%p + ".concat(arrowOffset,"px");default:return 0}}return this.offset},popperCreate:function(el){this.destroyPopper(),this.$_popper=new Popper(this.target,el,this.popperConfig)},destroyPopper:function(){this.$_popper&&this.$_popper.destroy(),this.$_popper=null},updatePopper:function(){this.$_popper&&this.$_popper.scheduleUpdate()},popperPlacementChange:function(data){this.attachment=this.getAttachment(data.placement)},renderTemplate:function(h){return h("div")}},render:function(h){var _this3=this,noFade=this.noFade;return h(BVTransition,{props:{appear:!0,noFade:noFade},on:{beforeEnter:function(el){return _this3.$emit("show",el)},afterEnter:function(el){return _this3.$emit("shown",el)},beforeLeave:function(el){return _this3.$emit("hide",el)},afterLeave:function(el){return _this3.$emit("hidden",el)}}},[this.localShow?this.renderTemplate(h):h()])}}),props$F={html:makeProp(PROP_TYPE_BOOLEAN,!1),id:makeProp(PROP_TYPE_STRING)},BVTooltipTemplate=extend({name:"BVTooltipTemplate",extends:BVPopper,mixins:[scopedStyleMixin],props:props$F,data:function(){return{title:"",content:"",variant:null,customClass:null,interactive:!0}},computed:{templateType:function(){return"tooltip"},templateClasses:function(){var _ref,variant=this.variant,attachment=this.attachment,templateType=this.templateType;return[(_ref={noninteractive:!this.interactive},_defineProperty(_ref,"b-".concat(templateType,"-").concat(variant),variant),_defineProperty(_ref,"bs-".concat(templateType,"-").concat(attachment),attachment),_ref),this.customClass]},templateAttributes:function(){var id=this.id;return _objectSpread2$3(_objectSpread2$3({},this.bvParent.bvParent.$attrs),{},{id:id,role:"tooltip",tabindex:"-1"},this.scopedStyleAttrs)},templateListeners:function(){var _this=this;return{mouseenter:function(event){_this.$emit("mouseenter",event)},mouseleave:function(event){_this.$emit("mouseleave",event)},focusin:function(event){_this.$emit("focusin",event)},focusout:function(event){_this.$emit("focusout",event)}}}},methods:{renderTemplate:function(h){var title=this.title,$title=isFunction$1(title)?title({}):title,domProps=this.html&&!isFunction$1(title)?{innerHTML:title}:{};return h("div",{staticClass:"tooltip b-tooltip",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[h("div",{staticClass:"arrow",ref:"arrow"}),h("div",{staticClass:"tooltip-inner",domProps:domProps},[$title])])}}}),MODAL_SELECTOR=".modal-content",ROOT_EVENT_NAME_MODAL_HIDDEN=getRootEventName("BModal","hidden"),CONTAINER_SELECTOR=[MODAL_SELECTOR,".b-sidebar"].join(", "),templateData={title:"",content:"",variant:null,customClass:null,triggers:"",placement:"auto",fallbackPlacement:"flip",target:null,container:null,noFade:!1,boundary:"scrollParent",boundaryPadding:5,offset:0,delay:0,arrowPadding:6,interactive:!0,disabled:!1,id:null,html:!1},BVTooltip=extend({name:"BVTooltip",mixins:[listenOnRootMixin,useParentMixin],data:function(){return _objectSpread2$3(_objectSpread2$3({},templateData),{},{activeTrigger:{hover:!1,click:!1,focus:!1},localShow:!1})},computed:{templateType:function(){return"tooltip"},computedId:function(){return this.id||"__bv_".concat(this.templateType,"_").concat(this._uid,"__")},computedDelay:function(){var delay={show:0,hide:0};return isPlainObject(this.delay)?(delay.show=mathMax(toInteger(this.delay.show,0),0),delay.hide=mathMax(toInteger(this.delay.hide,0),0)):(isNumber(this.delay)||isString(this.delay))&&(delay.show=delay.hide=mathMax(toInteger(this.delay,0),0)),delay},computedTriggers:function(){return concat(this.triggers).filter(identity).join(" ").trim().toLowerCase().split(/\s+/).sort()},isWithActiveTrigger:function(){for(var trigger in this.activeTrigger)if(this.activeTrigger[trigger])return!0;return!1},computedTemplateData:function(){return{title:this.title,content:this.content,variant:this.variant,customClass:this.customClass,noFade:this.noFade,interactive:this.interactive}}},watch:{computedTriggers:function(newTriggers,oldTriggers){var _this=this;looseEqual(newTriggers,oldTriggers)||this.$nextTick((function(){_this.unListen(),oldTriggers.forEach((function(trigger){arrayIncludes(newTriggers,trigger)||_this.activeTrigger[trigger]&&(_this.activeTrigger[trigger]=!1)})),_this.listen()}))},computedTemplateData:function(){this.handleTemplateUpdate()},title:function(newValue,oldValue){newValue===oldValue||newValue||this.hide()},disabled:function(newValue){newValue?this.disable():this.enable()}},created:function(){var _this2=this;this.$_tip=null,this.$_hoverTimeout=null,this.$_hoverState="",this.$_visibleInterval=null,this.$_enabled=!this.disabled,this.$_noop=noop.bind(this),this.bvParent&&this.bvParent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY,(function(){_this2.$nextTick((function(){requestAF((function(){_this2.$destroy()}))}))})),this.$nextTick((function(){var target=_this2.getTarget();target&&contains(document.body,target)?(_this2.scopeId=getScopeId(_this2.bvParent),_this2.listen()):warn(isString(_this2.target)?'Unable to find target element by ID "#'.concat(_this2.target,'" in document.'):"The provided target is no valid HTML element.",_this2.templateType)}))},updated:function(){this.$nextTick(this.handleTemplateUpdate)},deactivated:function(){this.forceHide()},beforeDestroy:function(){this.unListen(),this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.clearVisibilityInterval(),this.destroyTemplate(),this.$_noop=null},methods:{getTemplate:function(){return BVTooltipTemplate},updateData:function(){var _this3=this,data=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},titleUpdated=!1;keys(templateData).forEach((function(prop){isUndefined(data[prop])||_this3[prop]===data[prop]||(_this3[prop]=data[prop],"title"===prop&&(titleUpdated=!0))})),titleUpdated&&this.localShow&&this.fixTitle()},createTemplateAndShow:function(){var container=this.getContainer(),Template=this.getTemplate(),$tip=this.$_tip=createNewChildComponent(this,Template,{propsData:{id:this.computedId,html:this.html,placement:this.placement,fallbackPlacement:this.fallbackPlacement,target:this.getPlacementTarget(),boundary:this.getBoundary(),offset:toInteger(this.offset,0),arrowPadding:toInteger(this.arrowPadding,0),boundaryPadding:toInteger(this.boundaryPadding,0)}});this.handleTemplateUpdate(),$tip.$once("show",this.onTemplateShow),$tip.$once("shown",this.onTemplateShown),$tip.$once("hide",this.onTemplateHide),$tip.$once("hidden",this.onTemplateHidden),$tip.$once(HOOK_EVENT_NAME_DESTROYED,this.destroyTemplate),$tip.$on("focusin",this.handleEvent),$tip.$on("focusout",this.handleEvent),$tip.$on("mouseenter",this.handleEvent),$tip.$on("mouseleave",this.handleEvent),$tip.$mount(container.appendChild(document.createElement("div")))},hideTemplate:function(){this.$_tip&&this.$_tip.hide(),this.clearActiveTriggers(),this.$_hoverState=""},destroyTemplate:function(){this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.$_hoverState="",this.clearActiveTriggers(),this.localPlacementTarget=null;try{this.$_tip.$destroy()}catch(_unused){}this.$_tip=null,this.removeAriaDescribedby(),this.restoreTitle(),this.localShow=!1},getTemplateElement:function(){return this.$_tip?this.$_tip.$el:null},handleTemplateUpdate:function(){var _this4=this,$tip=this.$_tip;if($tip){["title","content","variant","customClass","noFade","interactive"].forEach((function(prop){$tip[prop]!==_this4[prop]&&($tip[prop]=_this4[prop])}))}},show:function(){var target=this.getTarget();if(target&&contains(document.body,target)&&isVisible(target)&&!this.dropdownOpen()&&(!isUndefinedOrNull(this.title)&&""!==this.title||!isUndefinedOrNull(this.content)&&""!==this.content)&&!this.$_tip&&!this.localShow){this.localShow=!0;var showEvent=this.buildEvent("show",{cancelable:!0});this.emitEvent(showEvent),showEvent.defaultPrevented?this.destroyTemplate():(this.fixTitle(),this.addAriaDescribedby(),this.createTemplateAndShow())}},hide:function(){var force=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.getTemplateElement()&&this.localShow){var hideEvent=this.buildEvent("hide",{cancelable:!force});this.emitEvent(hideEvent),hideEvent.defaultPrevented||this.hideTemplate()}else this.restoreTitle()},forceHide:function(){this.getTemplateElement()&&this.localShow&&(this.setWhileOpenListeners(!1),this.clearHoverTimeout(),this.$_hoverState="",this.clearActiveTriggers(),this.$_tip&&(this.$_tip.noFade=!0),this.hide(!0))},enable:function(){this.$_enabled=!0,this.emitEvent(this.buildEvent("enabled"))},disable:function(){this.$_enabled=!1,this.emitEvent(this.buildEvent("disabled"))},onTemplateShow:function(){this.setWhileOpenListeners(!0)},onTemplateShown:function(){var prevHoverState=this.$_hoverState;this.$_hoverState="","out"===prevHoverState&&this.leave(null),this.emitEvent(this.buildEvent("shown"))},onTemplateHide:function(){this.setWhileOpenListeners(!1)},onTemplateHidden:function(){this.destroyTemplate(),this.emitEvent(this.buildEvent("hidden"))},getTarget:function(){var target=this.target;return isString(target)?target=getById(target.replace(/^#/,"")):isFunction$1(target)?target=target():target&&(target=target.$el||target),isElement(target)?target:null},getPlacementTarget:function(){return this.getTarget()},getTargetId:function(){var target=this.getTarget();return target&&target.id?target.id:null},getContainer:function(){var container=!!this.container&&(this.container.$el||this.container),body=document.body,target=this.getTarget();return!1===container?closest(CONTAINER_SELECTOR,target)||body:isString(container)&&getById(container.replace(/^#/,""))||body},getBoundary:function(){return this.boundary?this.boundary.$el||this.boundary:"scrollParent"},isInModal:function(){var target=this.getTarget();return target&&closest(MODAL_SELECTOR,target)},isDropdown:function(){var target=this.getTarget();return target&&hasClass(target,"dropdown")},dropdownOpen:function(){var target=this.getTarget();return this.isDropdown()&&target&&select(".dropdown-menu.show",target)},clearHoverTimeout:function(){clearTimeout(this.$_hoverTimeout),this.$_hoverTimeout=null},clearVisibilityInterval:function(){clearInterval(this.$_visibleInterval),this.$_visibleInterval=null},clearActiveTriggers:function(){for(var trigger in this.activeTrigger)this.activeTrigger[trigger]=!1},addAriaDescribedby:function(){var target=this.getTarget(),desc=getAttr(target,"aria-describedby")||"";desc=desc.split(/\s+/).concat(this.computedId).join(" ").trim(),setAttr(target,"aria-describedby",desc)},removeAriaDescribedby:function(){var _this5=this,target=this.getTarget(),desc=getAttr(target,"aria-describedby")||"";(desc=desc.split(/\s+/).filter((function(d){return d!==_this5.computedId})).join(" ").trim())?setAttr(target,"aria-describedby",desc):removeAttr(target,"aria-describedby")},fixTitle:function(){var target=this.getTarget();if(hasAttr(target,"title")){var title=getAttr(target,"title");setAttr(target,"title",""),title&&setAttr(target,"data-original-title",title)}},restoreTitle:function(){var target=this.getTarget();if(hasAttr(target,"data-original-title")){var title=getAttr(target,"data-original-title");removeAttr(target,"data-original-title"),title&&setAttr(target,"title",title)}},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvEvent(type,_objectSpread2$3({cancelable:!1,target:this.getTarget(),relatedTarget:this.getTemplateElement()||null,componentId:this.computedId,vueTarget:this},options))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName(this.templateType,type),bvEvent),this.$emit(type,bvEvent)},listen:function(){var _this6=this,el=this.getTarget();el&&(this.setRootListener(!0),this.computedTriggers.forEach((function(trigger){"click"===trigger?eventOn(el,"click",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE):"focus"===trigger?(eventOn(el,"focusin",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE),eventOn(el,"focusout",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE)):"blur"===trigger?eventOn(el,"focusout",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE):"hover"===trigger&&(eventOn(el,"mouseenter",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE),eventOn(el,"mouseleave",_this6.handleEvent,EVENT_OPTIONS_NO_CAPTURE))}),this))},unListen:function(){var _this7=this,target=this.getTarget();this.setRootListener(!1),["click","focusin","focusout","mouseenter","mouseleave"].forEach((function(event){target&&eventOff(target,event,_this7.handleEvent,EVENT_OPTIONS_NO_CAPTURE)}),this)},setRootListener:function(on){var method=on?"listenOnRoot":"listenOffRoot",type=this.templateType;this[method](getRootActionEventName(type,"hide"),this.doHide),this[method](getRootActionEventName(type,"show"),this.doShow),this[method](getRootActionEventName(type,"disable"),this.doDisable),this[method](getRootActionEventName(type,"enable"),this.doEnable)},setWhileOpenListeners:function(on){this.setModalListener(on),this.setDropdownListener(on),this.visibleCheck(on),this.setOnTouchStartListener(on)},visibleCheck:function(on){var _this8=this;this.clearVisibilityInterval();var target=this.getTarget();on&&(this.$_visibleInterval=setInterval((function(){!_this8.getTemplateElement()||!_this8.localShow||target.parentNode&&isVisible(target)||_this8.forceHide()}),100))},setModalListener:function(on){this.isInModal()&&this[on?"listenOnRoot":"listenOffRoot"](ROOT_EVENT_NAME_MODAL_HIDDEN,this.forceHide)},setOnTouchStartListener:function(on){var _this9=this;"ontouchstart"in document.documentElement&&from(document.body.children).forEach((function(el){eventOnOff(on,el,"mouseover",_this9.$_noop)}))},setDropdownListener:function(on){var target=this.getTarget();if(target&&this.bvEventRoot&&this.isDropdown){var instance=function(element){if(!isVue3)return element.__vue__;for(var currentElement=element;currentElement;){if(registry.has(currentElement))return registry.get(currentElement);currentElement=currentElement.parentNode}return null}(target);instance&&instance[on?"$on":"$off"]("shown",this.forceHide)}},handleEvent:function(event){var target=this.getTarget();if(target&&!isDisabled(target)&&this.$_enabled&&!this.dropdownOpen()){var type=event.type,triggers=this.computedTriggers;if("click"===type&&arrayIncludes(triggers,"click"))this.click(event);else if("mouseenter"===type&&arrayIncludes(triggers,"hover"))this.enter(event);else if("focusin"===type&&arrayIncludes(triggers,"focus"))this.enter(event);else if("focusout"===type&&(arrayIncludes(triggers,"focus")||arrayIncludes(triggers,"blur"))||"mouseleave"===type&&arrayIncludes(triggers,"hover")){var tip=this.getTemplateElement(),eventTarget=event.target,relatedTarget=event.relatedTarget;if(tip&&contains(tip,eventTarget)&&contains(target,relatedTarget)||tip&&contains(target,eventTarget)&&contains(tip,relatedTarget)||tip&&contains(tip,eventTarget)&&contains(tip,relatedTarget)||contains(target,eventTarget)&&contains(target,relatedTarget))return;this.leave(event)}}},doHide:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.forceHide()},doShow:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.show()},doDisable:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.disable()},doEnable:function(id){id&&this.getTargetId()!==id&&this.computedId!==id||this.enable()},click:function(event){this.$_enabled&&!this.dropdownOpen()&&(attemptFocus(event.currentTarget),this.activeTrigger.click=!this.activeTrigger.click,this.isWithActiveTrigger?this.enter(null):this.leave(null))},toggle:function(){this.$_enabled&&!this.dropdownOpen()&&(this.localShow?this.leave(null):this.enter(null))},enter:function(){var _this10=this,event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;event&&(this.activeTrigger["focusin"===event.type?"focus":"hover"]=!0),this.localShow||"in"===this.$_hoverState?this.$_hoverState="in":(this.clearHoverTimeout(),this.$_hoverState="in",this.computedDelay.show?(this.fixTitle(),this.$_hoverTimeout=setTimeout((function(){"in"===_this10.$_hoverState?_this10.show():_this10.localShow||_this10.restoreTitle()}),this.computedDelay.show)):this.show())},leave:function(){var _this11=this,event=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;event&&(this.activeTrigger["focusout"===event.type?"focus":"hover"]=!1,"focusout"===event.type&&arrayIncludes(this.computedTriggers,"blur")&&(this.activeTrigger.click=!1,this.activeTrigger.hover=!1)),this.isWithActiveTrigger||(this.clearHoverTimeout(),this.$_hoverState="out",this.computedDelay.hide?this.$_hoverTimeout=setTimeout((function(){"out"===_this11.$_hoverState&&_this11.hide()}),this.computedDelay.hide):this.hide())}}}),props$E=makePropsConfigurable((_defineProperty(_makePropsConfigurabl={boundary:makeProp([HTMLElement,PROP_TYPE_OBJECT,PROP_TYPE_STRING],"scrollParent"),boundaryPadding:makeProp(PROP_TYPE_NUMBER_STRING,50),container:makeProp([HTMLElement,PROP_TYPE_OBJECT,PROP_TYPE_STRING]),customClass:makeProp(PROP_TYPE_STRING),delay:makeProp(PROP_TYPE_NUMBER_OBJECT_STRING,50)},"disabled",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"fallbackPlacement",makeProp(PROP_TYPE_ARRAY_STRING,"flip")),_defineProperty(_makePropsConfigurabl,"id",makeProp(PROP_TYPE_STRING)),_defineProperty(_makePropsConfigurabl,"noFade",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"noninteractive",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"offset",makeProp(PROP_TYPE_NUMBER_STRING,0)),_defineProperty(_makePropsConfigurabl,"placement",makeProp(PROP_TYPE_STRING,"top")),_defineProperty(_makePropsConfigurabl,"show",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_makePropsConfigurabl,"target",makeProp([HTMLElement,SVGElement,PROP_TYPE_FUNCTION,PROP_TYPE_OBJECT,PROP_TYPE_STRING],void 0,!0)),_defineProperty(_makePropsConfigurabl,"title",makeProp(PROP_TYPE_STRING)),_defineProperty(_makePropsConfigurabl,"triggers",makeProp(PROP_TYPE_ARRAY_STRING,"hover focus")),_defineProperty(_makePropsConfigurabl,"variant",makeProp(PROP_TYPE_STRING)),_makePropsConfigurabl),"BTooltip"),BTooltip=extend({name:"BTooltip",mixins:[normalizeSlotMixin,useParentMixin],inheritAttrs:!1,props:props$E,data:function(){return{localShow:this.show,localTitle:"",localContent:""}},computed:{templateData:function(){return _objectSpread2$3({title:this.localTitle,content:this.localContent,interactive:!this.noninteractive},pick$1(this.$props,["boundary","boundaryPadding","container","customClass","delay","fallbackPlacement","id","noFade","offset","placement","target","target","triggers","variant","disabled"]))},templateTitleContent:function(){return{title:this.title,content:this.content}}},watch:(_watch$5={},_defineProperty(_watch$5,"show",(function(newValue,oldValue){newValue!==oldValue&&newValue!==this.localShow&&this.$_toolpop&&(newValue?this.$_toolpop.show():this.$_toolpop.forceHide())})),_defineProperty(_watch$5,"disabled",(function(newValue){newValue?this.doDisable():this.doEnable()})),_defineProperty(_watch$5,"localShow",(function(newValue){this.$emit("update:show",newValue)})),_defineProperty(_watch$5,"templateData",(function(){var _this=this;this.$nextTick((function(){_this.$_toolpop&&_this.$_toolpop.updateData(_this.templateData)}))})),_defineProperty(_watch$5,"templateTitleContent",(function(){this.$nextTick(this.updateContent)})),_watch$5),created:function(){this.$_toolpop=null},updated:function(){this.$nextTick(this.updateContent)},beforeDestroy:function(){this.$off("open",this.doOpen),this.$off("close",this.doClose),this.$off("disable",this.doDisable),this.$off("enable",this.doEnable),this.$_toolpop&&(this.$_toolpop.$destroy(),this.$_toolpop=null)},mounted:function(){var _this2=this;this.$nextTick((function(){var Component=_this2.getComponent();_this2.updateContent();var scopeId=getScopeId(_this2)||getScopeId(_this2.bvParent),$toolpop=_this2.$_toolpop=createNewChildComponent(_this2,Component,{_scopeId:scopeId||void 0});$toolpop.updateData(_this2.templateData),$toolpop.$on("show",_this2.onShow),$toolpop.$on("shown",_this2.onShown),$toolpop.$on("hide",_this2.onHide),$toolpop.$on("hidden",_this2.onHidden),$toolpop.$on("disabled",_this2.onDisabled),$toolpop.$on("enabled",_this2.onEnabled),_this2.disabled&&_this2.doDisable(),_this2.$on("open",_this2.doOpen),_this2.$on("close",_this2.doClose),_this2.$on("disable",_this2.doDisable),_this2.$on("enable",_this2.doEnable),_this2.localShow&&$toolpop.show()}))},methods:{getComponent:function(){return BVTooltip},updateContent:function(){this.setTitle(this.normalizeSlot()||this.title)},setTitle:function(value){value=isUndefinedOrNull(value)?"":value,this.localTitle!==value&&(this.localTitle=value)},setContent:function(value){value=isUndefinedOrNull(value)?"":value,this.localContent!==value&&(this.localContent=value)},onShow:function(bvEvent){this.$emit("show",bvEvent),bvEvent&&(this.localShow=!bvEvent.defaultPrevented)},onShown:function(bvEvent){this.localShow=!0,this.$emit("shown",bvEvent)},onHide:function(bvEvent){this.$emit("hide",bvEvent)},onHidden:function(bvEvent){this.$emit("hidden",bvEvent),this.localShow=!1},onDisabled:function(bvEvent){bvEvent&&"disabled"===bvEvent.type&&(this.$emit("update:disabled",!0),this.$emit("disabled",bvEvent))},onEnabled:function(bvEvent){bvEvent&&"enabled"===bvEvent.type&&(this.$emit("update:disabled",!1),this.$emit("enabled",bvEvent))},doOpen:function(){!this.localShow&&this.$_toolpop&&this.$_toolpop.show()},doClose:function(){this.localShow&&this.$_toolpop&&this.$_toolpop.hide()},doDisable:function(){this.$_toolpop&&this.$_toolpop.disable()},doEnable:function(){this.$_toolpop&&this.$_toolpop.enable()}},render:function(h){return h()}}),BVPopoverTemplate=extend({name:"BVPopoverTemplate",extends:BVTooltipTemplate,computed:{templateType:function(){return"popover"}},methods:{renderTemplate:function(h){var title=this.title,content=this.content,$title=isFunction$1(title)?title({}):title,$content=isFunction$1(content)?content({}):content,titleDomProps=this.html&&!isFunction$1(title)?{innerHTML:title}:{},contentDomProps=this.html&&!isFunction$1(content)?{innerHTML:content}:{};return h("div",{staticClass:"popover b-popover",class:this.templateClasses,attrs:this.templateAttributes,on:this.templateListeners},[h("div",{staticClass:"arrow",ref:"arrow"}),isUndefinedOrNull($title)||""===$title?h():h("h3",{staticClass:"popover-header",domProps:titleDomProps},[$title]),isUndefinedOrNull($content)||""===$content?h():h("div",{staticClass:"popover-body",domProps:contentDomProps},[$content])])}}}),BVPopover=extend({name:"BVPopover",extends:BVTooltip,computed:{templateType:function(){return"popover"}},methods:{getTemplate:function(){return BVPopoverTemplate}}}),props$D=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$E),{},{content:makeProp(PROP_TYPE_STRING),placement:makeProp(PROP_TYPE_STRING,"right"),triggers:makeProp(PROP_TYPE_ARRAY_STRING,"click")})),"BPopover"),BPopover=extend({name:"BPopover",extends:BTooltip,inheritAttrs:!1,props:props$D,methods:{getComponent:function(){return BVPopover},updateContent:function(){this.setContent(this.normalizeSlot()||this.content),this.setTitle(this.normalizeSlot("title")||this.title)}}}),BV_POPOVER="__BV_Popover__",validTriggers$1={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},htmlRE$1=/^html$/i,noFadeRE$1=/^nofade$/i,placementRE$1=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,boundaryRE$1=/^(window|viewport|scrollParent)$/i,delayRE$1=/^d\d+$/i,delayShowRE$1=/^ds\d+$/i,delayHideRE$1=/^dh\d+$/i,offsetRE$2=/^o-?\d+$/i,variantRE$1=/^v-.+$/i,spacesRE$1=/\s+/,applyPopover=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings,vnode){var config={title:void 0,content:void 0,trigger:"",placement:"right",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,disabled:!1,id:null,html:!1,delay:getComponentConfig("BPopover","delay",50),boundary:String(getComponentConfig("BPopover","boundary","scrollParent")),boundaryPadding:toInteger(getComponentConfig("BPopover","boundaryPadding",5),0),variant:getComponentConfig("BPopover","variant"),customClass:getComponentConfig("BPopover","customClass")};if(isString(bindings.value)||isNumber(bindings.value)||isFunction$1(bindings.value)?config.content=bindings.value:isPlainObject(bindings.value)&&(config=_objectSpread2$3(_objectSpread2$3({},config),bindings.value)),bindings.arg&&(config.container="#".concat(bindings.arg)),isUndefined(config.title)){var data=vnode.data||{};config.title=data.attrs&&!isUndefinedOrNull(data.attrs.title)?data.attrs.title:void 0}isPlainObject(config.delay)||(config.delay={show:toInteger(config.delay,0),hide:toInteger(config.delay,0)}),keys(bindings.modifiers).forEach((function(mod){if(htmlRE$1.test(mod))config.html=!0;else if(noFadeRE$1.test(mod))config.animation=!1;else if(placementRE$1.test(mod))config.placement=mod;else if(boundaryRE$1.test(mod))mod="scrollparent"===mod?"scrollParent":mod,config.boundary=mod;else if(delayRE$1.test(mod)){var delay=toInteger(mod.slice(1),0);config.delay.show=delay,config.delay.hide=delay}else delayShowRE$1.test(mod)?config.delay.show=toInteger(mod.slice(2),0):delayHideRE$1.test(mod)?config.delay.hide=toInteger(mod.slice(2),0):offsetRE$2.test(mod)?config.offset=toInteger(mod.slice(1),0):variantRE$1.test(mod)&&(config.variant=mod.slice(2)||null)}));var selectedTriggers={};return concat(config.trigger||"").filter(identity).join(" ").trim().toLowerCase().split(spacesRE$1).forEach((function(trigger){validTriggers$1[trigger]&&(selectedTriggers[trigger]=!0)})),keys(bindings.modifiers).forEach((function(mod){mod=mod.toLowerCase(),validTriggers$1[mod]&&(selectedTriggers[mod]=!0)})),config.trigger=keys(selectedTriggers).join(" "),"blur"===config.trigger&&(config.trigger="focus"),config.trigger||(config.trigger="click"),config}(bindings,vnode);if(!el[BV_POPOVER]){var parent=getInstanceFromDirective(vnode,bindings);el[BV_POPOVER]=createNewChildComponent(parent,BVPopover,{_scopeId:getScopeId(parent,void 0)}),el[BV_POPOVER].__bv_prev_data__={},el[BV_POPOVER].$on("show",(function(){var data={};isFunction$1(config.title)&&(data.title=config.title(el)),isFunction$1(config.content)&&(data.content=config.content(el)),keys(data).length>0&&el[BV_POPOVER].updateData(data)}))}var data={title:config.title,content:config.content,triggers:config.trigger,placement:config.placement,fallbackPlacement:config.fallbackPlacement,variant:config.variant,customClass:config.customClass,container:config.container,boundary:config.boundary,delay:config.delay,offset:config.offset,noFade:!config.animation,id:config.id,disabled:config.disabled,html:config.html},oldData=el[BV_POPOVER].__bv_prev_data__;if(el[BV_POPOVER].__bv_prev_data__=data,!looseEqual(data,oldData)){var newData={target:el};keys(data).forEach((function(prop){data[prop]!==oldData[prop]&&(newData[prop]="title"!==prop&&"content"!==prop||!isFunction$1(data[prop])?data[prop]:data[prop](el))})),el[BV_POPOVER].updateData(newData)}}},VBPopoverPlugin=pluginFactory({directives:{VBPopover:{bind:function(el,bindings,vnode){applyPopover(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){nextTick((function(){applyPopover(el,bindings,vnode)}))},unbind:function(el){!function(el){el[BV_POPOVER]&&(el[BV_POPOVER].$destroy(),el[BV_POPOVER]=null),delete el[BV_POPOVER]}(el)}}}}),PopoverPlugin=pluginFactory({components:{BPopover:BPopover},plugins:{VBPopoverPlugin:VBPopoverPlugin}}),props$C=makePropsConfigurable({animated:makeProp(PROP_TYPE_BOOLEAN,null),label:makeProp(PROP_TYPE_STRING),labelHtml:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,null),precision:makeProp(PROP_TYPE_NUMBER_STRING,null),showProgress:makeProp(PROP_TYPE_BOOLEAN,null),showValue:makeProp(PROP_TYPE_BOOLEAN,null),striped:makeProp(PROP_TYPE_BOOLEAN,null),value:makeProp(PROP_TYPE_NUMBER_STRING,0),variant:makeProp(PROP_TYPE_STRING)},"BProgressBar"),BProgressBar=extend({name:"BProgressBar",mixins:[normalizeSlotMixin],inject:{getBvProgress:{default:function(){return function(){return{}}}}},props:props$C,computed:{bvProgress:function(){return this.getBvProgress()},progressBarClasses:function(){var computedAnimated=this.computedAnimated,computedVariant=this.computedVariant;return[computedVariant?"bg-".concat(computedVariant):"",this.computedStriped||computedAnimated?"progress-bar-striped":"",computedAnimated?"progress-bar-animated":""]},progressBarStyles:function(){return{width:this.computedValue/this.computedMax*100+"%"}},computedValue:function(){return toFloat(this.value,0)},computedMax:function(){var max=toFloat(this.max)||toFloat(this.bvProgress.max,0);return max>0?max:100},computedPrecision:function(){return mathMax(toInteger(this.precision,toInteger(this.bvProgress.precision,0)),0)},computedProgress:function(){var precision=this.computedPrecision,p=mathPow(10,precision);return toFixed(100*p*this.computedValue/this.computedMax/p,precision)},computedVariant:function(){return this.variant||this.bvProgress.variant},computedStriped:function(){return isBoolean(this.striped)?this.striped:this.bvProgress.striped||!1},computedAnimated:function(){return isBoolean(this.animated)?this.animated:this.bvProgress.animated||!1},computedShowProgress:function(){return isBoolean(this.showProgress)?this.showProgress:this.bvProgress.showProgress||!1},computedShowValue:function(){return isBoolean(this.showValue)?this.showValue:this.bvProgress.showValue||!1}},render:function(h){var $children,label=this.label,labelHtml=this.labelHtml,computedValue=this.computedValue,computedPrecision=this.computedPrecision,domProps={};return this.hasNormalizedSlot()?$children=this.normalizeSlot():label||labelHtml?domProps=htmlOrText(labelHtml,label):this.computedShowProgress?$children=this.computedProgress:this.computedShowValue&&($children=toFixed(computedValue,computedPrecision)),h("div",{staticClass:"progress-bar",class:this.progressBarClasses,style:this.progressBarStyles,attrs:{role:"progressbar","aria-valuemin":"0","aria-valuemax":toString(this.computedMax),"aria-valuenow":toFixed(computedValue,computedPrecision)},domProps:domProps},$children)}}),progressBarProps=omit(props$C,["label","labelHtml"]),props$B=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},progressBarProps),{},{animated:makeProp(PROP_TYPE_BOOLEAN,!1),height:makeProp(PROP_TYPE_STRING),max:makeProp(PROP_TYPE_NUMBER_STRING,100),precision:makeProp(PROP_TYPE_NUMBER_STRING,0),showProgress:makeProp(PROP_TYPE_BOOLEAN,!1),showValue:makeProp(PROP_TYPE_BOOLEAN,!1),striped:makeProp(PROP_TYPE_BOOLEAN,!1)})),"BProgress"),ProgressPlugin=pluginFactory({components:{BProgress:extend({name:"BProgress",mixins:[normalizeSlotMixin],provide:function(){var _this=this;return{getBvProgress:function(){return _this}}},props:props$B,computed:{progressHeight:function(){return{height:this.height||null}}},render:function(h){var $childNodes=this.normalizeSlot();return $childNodes||($childNodes=h(BProgressBar,{props:pluckProps(progressBarProps,this.$props)})),h("div",{staticClass:"progress",style:this.progressHeight},[$childNodes])}}),BProgressBar:BProgressBar}}),ROOT_ACTION_EVENT_NAME_REQUEST_STATE=getRootActionEventName("BCollapse","request-state"),ROOT_ACTION_EVENT_NAME_TOGGLE=getRootActionEventName("BCollapse","toggle"),ROOT_EVENT_NAME_STATE=getRootEventName("BCollapse","state"),ROOT_EVENT_NAME_SYNC_STATE=getRootEventName("BCollapse","sync-state"),_makeModelMixin$3=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1,event:"change"}),modelMixin$3=_makeModelMixin$3.mixin,modelProps$3=_makeModelMixin$3.props,MODEL_PROP_NAME$3=_makeModelMixin$3.prop,MODEL_EVENT_NAME$3=_makeModelMixin$3.event,props$A=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$3),{},{ariaLabel:makeProp(PROP_TYPE_STRING),ariaLabelledby:makeProp(PROP_TYPE_STRING),backdrop:makeProp(PROP_TYPE_BOOLEAN,!1),backdropVariant:makeProp(PROP_TYPE_STRING,"dark"),bgVariant:makeProp(PROP_TYPE_STRING,"light"),bodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),closeLabel:makeProp(PROP_TYPE_STRING),footerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),footerTag:makeProp(PROP_TYPE_STRING,"footer"),headerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerTag:makeProp(PROP_TYPE_STRING,"header"),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnBackdrop:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnEsc:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseOnRouteChange:makeProp(PROP_TYPE_BOOLEAN,!1),noEnforceFocus:makeProp(PROP_TYPE_BOOLEAN,!1),noHeader:makeProp(PROP_TYPE_BOOLEAN,!1),noHeaderClose:makeProp(PROP_TYPE_BOOLEAN,!1),noSlide:makeProp(PROP_TYPE_BOOLEAN,!1),right:makeProp(PROP_TYPE_BOOLEAN,!1),shadow:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),sidebarClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tag:makeProp(PROP_TYPE_STRING,"div"),textVariant:makeProp(PROP_TYPE_STRING,"dark"),title:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING),zIndex:makeProp(PROP_TYPE_NUMBER_STRING)})),"BSidebar"),renderHeader=function(h,ctx){if(ctx.noHeader)return h();var $content=ctx.normalizeSlot("header",ctx.slotScope);if(!$content){var $title=function(h,ctx){var title=ctx.normalizeSlot("title",ctx.slotScope)||ctx.title;return title?h("strong",{attrs:{id:ctx.safeId("__title__")}},[title]):h("span")}(h,ctx),$close=function(h,ctx){if(ctx.noHeaderClose)return h();var closeLabel=ctx.closeLabel,textVariant=ctx.textVariant,hide=ctx.hide;return h(BButtonClose,{props:{ariaLabel:closeLabel,textVariant:textVariant},on:{click:hide},ref:"close-button"},[ctx.normalizeSlot("header-close")||h(BIconX)])}(h,ctx);$content=ctx.right?[$close,$title]:[$title,$close]}return h(ctx.headerTag,{staticClass:"".concat("b-sidebar","-header"),class:ctx.headerClass,key:"header"},$content)},renderBody=function(h,ctx){return h("div",{staticClass:"".concat("b-sidebar","-body"),class:ctx.bodyClass,key:"body"},[ctx.normalizeSlot("default",ctx.slotScope)])},renderFooter=function(h,ctx){var $footer=ctx.normalizeSlot("footer",ctx.slotScope);return $footer?h(ctx.footerTag,{staticClass:"".concat("b-sidebar","-footer"),class:ctx.footerClass,key:"footer"},[$footer]):h()},renderContent=function(h,ctx){var $header=renderHeader(h,ctx);return ctx.lazy&&!ctx.isOpen?$header:[$header,renderBody(h,ctx),renderFooter(h,ctx)]},renderBackdrop=function(h,ctx){if(!ctx.backdrop)return h();var backdropVariant=ctx.backdropVariant;return h("div",{directives:[{name:"show",value:ctx.localShow}],staticClass:"b-sidebar-backdrop",class:_defineProperty({},"bg-".concat(backdropVariant),backdropVariant),on:{click:ctx.onBackdropClick}})},BSidebar=extend({name:"BSidebar",mixins:[attrsMixin,idMixin,modelMixin$3,listenOnRootMixin,normalizeSlotMixin],inheritAttrs:!1,props:props$A,data:function(){var visible=!!this[MODEL_PROP_NAME$3];return{localShow:visible,isOpen:visible}},computed:{transitionProps:function(){return this.noSlide?{css:!0}:{css:!0,enterClass:"",enterActiveClass:"slide",enterToClass:"show",leaveClass:"show",leaveActiveClass:"slide",leaveToClass:""}},slotScope:function(){return{hide:this.hide,right:this.right,visible:this.localShow}},hasTitle:function(){var $scopedSlots=this.$scopedSlots,$slots=this.$slots;return!(this.noHeader||this.hasNormalizedSlot("header")||!this.normalizeSlot("title",this.slotScope,$scopedSlots,$slots)&&!this.title)},titleId:function(){return this.hasTitle?this.safeId("__title__"):null},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{id:this.safeId(),tabindex:"-1",role:"dialog","aria-modal":this.backdrop?"true":"false","aria-hidden":this.localShow?null:"true","aria-label":this.ariaLabel||null,"aria-labelledby":this.ariaLabelledby||this.titleId||null})}},watch:(_watch$4={},_defineProperty(_watch$4,MODEL_PROP_NAME$3,(function(newValue,oldValue){newValue!==oldValue&&(this.localShow=newValue)})),_defineProperty(_watch$4,"localShow",(function(newValue,oldValue){newValue!==oldValue&&(this.emitState(newValue),this.$emit(MODEL_EVENT_NAME$3,newValue))})),_defineProperty(_watch$4,"$route",(function(){var newValue=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},oldValue=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.noCloseOnRouteChange||newValue.fullPath===oldValue.fullPath||this.hide()})),_watch$4),created:function(){this.$_returnFocusEl=null},mounted:function(){var _this=this;this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE,this.handleToggle),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE,this.handleSync),this.$nextTick((function(){_this.emitState(_this.localShow)}))},activated:function(){this.emitSync()},beforeDestroy:function(){this.localShow=!1,this.$_returnFocusEl=null},methods:{hide:function(){this.localShow=!1},emitState:function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.localShow;this.emitOnRoot(ROOT_EVENT_NAME_STATE,this.safeId(),state)},emitSync:function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.localShow;this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE,this.safeId(),state)},handleToggle:function(id){id&&id===this.safeId()&&(this.localShow=!this.localShow)},handleSync:function(id){var _this2=this;id&&id===this.safeId()&&this.$nextTick((function(){_this2.emitSync(_this2.localShow)}))},onKeydown:function(event){var keyCode=event.keyCode;!this.noCloseOnEsc&&27===keyCode&&this.localShow&&this.hide()},onBackdropClick:function(){this.localShow&&!this.noCloseOnBackdrop&&this.hide()},onTopTrapFocus:function(){var tabables=getTabables(this.$refs.content);this.enforceFocus(tabables.reverse()[0])},onBottomTrapFocus:function(){var tabables=getTabables(this.$refs.content);this.enforceFocus(tabables[0])},onBeforeEnter:function(){this.$_returnFocusEl=getActiveElement(IS_BROWSER?[document.body]:[]),this.isOpen=!0},onAfterEnter:function(el){contains(el,getActiveElement())||this.enforceFocus(el),this.$emit("shown")},onAfterLeave:function(){this.enforceFocus(this.$_returnFocusEl),this.$_returnFocusEl=null,this.isOpen=!1,this.$emit("hidden")},enforceFocus:function(el){this.noEnforceFocus||attemptFocus(el)}},render:function(h){var _ref,bgVariant=this.bgVariant,width=this.width,textVariant=this.textVariant,localShow=this.localShow,shadow=""===this.shadow||this.shadow,$sidebar=h(this.tag,{staticClass:"b-sidebar",class:[(_ref={shadow:!0===shadow},_defineProperty(_ref,"shadow-".concat(shadow),shadow&&!0!==shadow),_defineProperty(_ref,"".concat("b-sidebar","-right"),this.right),_defineProperty(_ref,"bg-".concat(bgVariant),bgVariant),_defineProperty(_ref,"text-".concat(textVariant),textVariant),_ref),this.sidebarClass],style:{width:width},attrs:this.computedAttrs,directives:[{name:"show",value:localShow}],ref:"content"},[renderContent(h,this)]);$sidebar=h("transition",{props:this.transitionProps,on:{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,afterLeave:this.onAfterLeave}},[$sidebar]);var $backdrop=h(BVTransition,{props:{noFade:this.noSlide}},[renderBackdrop(h,this)]),$tabTrapTop=h(),$tabTrapBottom=h();return this.backdrop&&localShow&&($tabTrapTop=h("div",{attrs:{tabindex:"0"},on:{focus:this.onTopTrapFocus}}),$tabTrapBottom=h("div",{attrs:{tabindex:"0"},on:{focus:this.onBottomTrapFocus}})),h("div",{staticClass:"b-sidebar-outer",style:{zIndex:this.zIndex},attrs:{tabindex:"-1"},on:{keydown:this.onKeydown}},[$tabTrapTop,$sidebar,$tabTrapBottom,$backdrop])}}),SidebarPlugin=pluginFactory({components:{BSidebar:BSidebar},plugins:{VBTogglePlugin:VBTogglePlugin}}),props$z=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING,"wave"),height:makeProp(PROP_TYPE_STRING),size:makeProp(PROP_TYPE_STRING),type:makeProp(PROP_TYPE_STRING,"text"),variant:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING)},"BSkeleton"),BSkeleton=extend({name:"BSkeleton",functional:!0,props:props$z,render:function(h,_ref){var _class,data=_ref.data,props=_ref.props,size=props.size,animation=props.animation,variant=props.variant;return h("div",a(data,{staticClass:"b-skeleton",style:{width:size||props.width,height:size||props.height},class:(_class={},_defineProperty(_class,"b-skeleton-".concat(props.type),!0),_defineProperty(_class,"b-skeleton-animate-".concat(animation),animation),_defineProperty(_class,"bg-".concat(variant),variant),_class)}))}});makePropsConfigurable(omit(props$2h,["content","stacked"]),"BIconstack");var _props,_watch$3,_watch$2,_objectSpread2,_watch$1,props$y=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING,"wave"),icon:makeProp(PROP_TYPE_STRING),iconProps:makeProp(PROP_TYPE_OBJECT,{})},"BSkeletonIcon"),BSkeletonIcon=extend({name:"BSkeletonIcon",functional:!0,props:props$y,render:function(h,_ref){var data=_ref.data,props=_ref.props,icon=props.icon,animation=props.animation,$icon=h(BIcon,{staticClass:"b-skeleton-icon",props:_objectSpread2$3(_objectSpread2$3({},props.iconProps),{},{icon:icon})});return h("div",a(data,{staticClass:"b-skeleton-icon-wrapper position-relative d-inline-block overflow-hidden",class:_defineProperty({},"b-skeleton-animate-".concat(animation),animation)}),[$icon])}}),props$x=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING),aspect:makeProp(PROP_TYPE_STRING,"16:9"),cardImg:makeProp(PROP_TYPE_STRING),height:makeProp(PROP_TYPE_STRING),noAspect:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING),width:makeProp(PROP_TYPE_STRING)},"BSkeletonImg"),BSkeletonImg=extend({name:"BSkeletonImg",functional:!0,props:props$x,render:function(h,_ref){var data=_ref.data,props=_ref.props,aspect=props.aspect,width=props.width,height=props.height,animation=props.animation,variant=props.variant,cardImg=props.cardImg,$img=h(BSkeleton,a(data,{props:{type:"img",width:width,height:height,animation:animation,variant:variant},class:_defineProperty({},"card-img-".concat(cardImg),cardImg)}));return props.noAspect?$img:h(BAspect,{props:{aspect:aspect}},[$img])}}),hasListenerMixin=extend({methods:{hasListener:function(name){if(isVue3)return!0;var $listeners=this.$listeners||{},$events=this._events||{};return!isUndefined($listeners[name])||isArray($events[name])&&$events[name].length>0}}}),props$w=makePropsConfigurable({variant:makeProp(PROP_TYPE_STRING)},"BTr"),BTr=extend({name:"BTr",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTableTr:function(){return _this}}},inject:{getBvTableRowGroup:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$w,computed:{bvTableRowGroup:function(){return this.getBvTableRowGroup()},inTbody:function(){return this.bvTableRowGroup.isTbody},inThead:function(){return this.bvTableRowGroup.isThead},inTfoot:function(){return this.bvTableRowGroup.isTfoot},isDark:function(){return this.bvTableRowGroup.isDark},isStacked:function(){return this.bvTableRowGroup.isStacked},isResponsive:function(){return this.bvTableRowGroup.isResponsive},isStickyHeader:function(){return this.bvTableRowGroup.isStickyHeader},hasStickyHeader:function(){return!this.isStacked&&this.bvTableRowGroup.hasStickyHeader},tableVariant:function(){return this.bvTableRowGroup.tableVariant},headVariant:function(){return this.inThead?this.bvTableRowGroup.headVariant:null},footVariant:function(){return this.inTfoot?this.bvTableRowGroup.footVariant:null},isRowDark:function(){return"light"!==this.headVariant&&"light"!==this.footVariant&&("dark"===this.headVariant||"dark"===this.footVariant||this.isDark)},trClasses:function(){var variant=this.variant;return[variant?"".concat(this.isRowDark?"bg":"table","-").concat(variant):null]},trAttrs:function(){return _objectSpread2$3({role:"row"},this.bvAttrs)}},render:function(h){return h("tr",{class:this.trClasses,attrs:this.trAttrs,on:this.bvListeners},this.normalizeSlot())}}),props$v={},bottomRowMixin=extend({props:props$v,methods:{renderBottomRow:function(){var fields=this.computedFields,stacked=this.stacked,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.hasNormalizedSlot("bottom-row")&&!0!==stacked&&""!==stacked?h(BTr,{staticClass:"b-table-bottom-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-bottom"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-bottom"):tbodyTrAttr,key:"b-bottom-row"},this.normalizeSlot("bottom-row",{columns:fields.length,fields:fields})):h()}}}),parseSpan=function(value){return(value=toInteger(value,0))>0?value:null},spanValidator=function(value){return isUndefinedOrNull(value)||parseSpan(value)>0},props$u=makePropsConfigurable({colspan:makeProp(PROP_TYPE_NUMBER_STRING,null,spanValidator),rowspan:makeProp(PROP_TYPE_NUMBER_STRING,null,spanValidator),stackedHeading:makeProp(PROP_TYPE_STRING),stickyColumn:makeProp(PROP_TYPE_BOOLEAN,!1),variant:makeProp(PROP_TYPE_STRING)},"BTableCell"),BTd=extend({name:"BTableCell",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],inject:{getBvTableTr:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$u,computed:{bvTableTr:function(){return this.getBvTableTr()},tag:function(){return"td"},inTbody:function(){return this.bvTableTr.inTbody},inThead:function(){return this.bvTableTr.inThead},inTfoot:function(){return this.bvTableTr.inTfoot},isDark:function(){return this.bvTableTr.isDark},isStacked:function(){return this.bvTableTr.isStacked},isStackedCell:function(){return this.inTbody&&this.isStacked},isResponsive:function(){return this.bvTableTr.isResponsive},isStickyHeader:function(){return this.bvTableTr.isStickyHeader},hasStickyHeader:function(){return this.bvTableTr.hasStickyHeader},isStickyColumn:function(){return!this.isStacked&&(this.isResponsive||this.hasStickyHeader)&&this.stickyColumn},rowVariant:function(){return this.bvTableTr.variant},headVariant:function(){return this.bvTableTr.headVariant},footVariant:function(){return this.bvTableTr.footVariant},tableVariant:function(){return this.bvTableTr.tableVariant},computedColspan:function(){return parseSpan(this.colspan)},computedRowspan:function(){return parseSpan(this.rowspan)},cellClasses:function(){var variant=this.variant,headVariant=this.headVariant,isStickyColumn=this.isStickyColumn;return(!variant&&this.isStickyHeader&&!headVariant||!variant&&isStickyColumn&&this.inTfoot&&!this.footVariant||!variant&&isStickyColumn&&this.inThead&&!headVariant||!variant&&isStickyColumn&&this.inTbody)&&(variant=this.rowVariant||this.tableVariant||"b-table-default"),[variant?"".concat(this.isDark?"bg":"table","-").concat(variant):null,isStickyColumn?"b-table-sticky-column":null]},cellAttrs:function(){var stackedHeading=this.stackedHeading,headOrFoot=this.inThead||this.inTfoot,colspan=this.computedColspan,rowspan=this.computedRowspan,role="cell",scope=null;return headOrFoot?(role="columnheader",scope=colspan>0?"colspan":"col"):isTag(this.tag,"th")&&(role="rowheader",scope=rowspan>0?"rowgroup":"row"),_objectSpread2$3(_objectSpread2$3({colspan:colspan,rowspan:rowspan,role:role,scope:scope},this.bvAttrs),{},{"data-label":this.isStackedCell&&!isUndefinedOrNull(stackedHeading)?toString(stackedHeading):null})}},render:function(h){var $content=[this.normalizeSlot()];return h(this.tag,{class:this.cellClasses,attrs:this.cellAttrs,on:this.bvListeners},[this.isStackedCell?h("div",[$content]):$content])}}),props$t=_defineProperty({},"busy",makeProp(PROP_TYPE_BOOLEAN,!1)),busyMixin=extend({props:props$t,data:function(){return{localBusy:!1}},computed:{computedBusy:function(){return this.busy||this.localBusy}},watch:{localBusy:function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:busy",newValue)}},methods:{stopIfBusy:function(event){return!!this.computedBusy&&(stopEvent(event),!0)},renderBusy:function(){var tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.computedBusy&&this.hasNormalizedSlot("table-busy")?h(BTr,{staticClass:"b-table-busy-slot",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"table-busy"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"table-busy"):tbodyTrAttr,key:"table-busy-slot"},[h(BTd,{props:{colspan:this.computedFields.length||null}},[this.normalizeSlot("table-busy")])]):null}}}),props$s={caption:makeProp(PROP_TYPE_STRING),captionHtml:makeProp(PROP_TYPE_STRING)},captionMixin=extend({props:props$s,computed:{captionId:function(){return this.isStacked?this.safeId("_caption_"):null}},methods:{renderCaption:function(){var caption=this.caption,captionHtml=this.captionHtml,h=this.$createElement,$caption=h(),hasCaptionSlot=this.hasNormalizedSlot("table-caption");return(hasCaptionSlot||caption||captionHtml)&&($caption=h("caption",{attrs:{id:this.captionId},domProps:hasCaptionSlot?{}:htmlOrText(captionHtml,caption),key:"caption",ref:"caption"},this.normalizeSlot("table-caption"))),$caption}}}),props$r={},colgroupMixin=extend({methods:{renderColgroup:function(){var fields=this.computedFields,h=this.$createElement,$colgroup=h();return this.hasNormalizedSlot("table-colgroup")&&($colgroup=h("colgroup",{key:"colgroup"},[this.normalizeSlot("table-colgroup",{columns:fields.length,fields:fields})])),$colgroup}}}),props$q={emptyFilteredHtml:makeProp(PROP_TYPE_STRING),emptyFilteredText:makeProp(PROP_TYPE_STRING,"There are no records matching your request"),emptyHtml:makeProp(PROP_TYPE_STRING),emptyText:makeProp(PROP_TYPE_STRING,"There are no records to show"),showEmpty:makeProp(PROP_TYPE_BOOLEAN,!1)},emptyMixin=extend({props:props$q,methods:{renderEmpty:function(){var _safeVueInstance=safeVueInstance(this),items=_safeVueInstance.computedItems,computedBusy=_safeVueInstance.computedBusy,h=this.$createElement,$empty=h();if(this.showEmpty&&(!items||0===items.length)&&(!computedBusy||!this.hasNormalizedSlot("table-busy"))){var fields=this.computedFields,isFiltered=this.isFiltered,emptyText=this.emptyText,emptyHtml=this.emptyHtml,emptyFilteredText=this.emptyFilteredText,emptyFilteredHtml=this.emptyFilteredHtml,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr;($empty=this.normalizeSlot(isFiltered?"emptyfiltered":"empty",{emptyFilteredHtml:emptyFilteredHtml,emptyFilteredText:emptyFilteredText,emptyHtml:emptyHtml,emptyText:emptyText,fields:fields,items:items}))||($empty=h("div",{class:["text-center","my-2"],domProps:isFiltered?htmlOrText(emptyFilteredHtml,emptyFilteredText):htmlOrText(emptyHtml,emptyText)})),$empty=h(BTd,{props:{colspan:fields.length||null}},[h("div",{attrs:{role:"alert","aria-live":"polite"}},[$empty])]),$empty=h(BTr,{staticClass:"b-table-empty-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-empty"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-empty"):tbodyTrAttr,key:isFiltered?"b-empty-filtered-row":"b-empty-row"},[$empty])}return $empty}}}),stringifyObjectValues=function stringifyObjectValues(value){return isUndefinedOrNull(value)?"":isObject(value)&&!isDate(value)?keys(value).sort().map((function(k){return stringifyObjectValues(value[k])})).filter((function(v){return!!v})).join(" "):toString(value)},FIELD_KEY_CELL_VARIANT="_cellVariants",FIELD_KEY_ROW_VARIANT="_rowVariant",FIELD_KEY_SHOW_DETAILS="_showDetails",IGNORED_FIELD_KEYS=[FIELD_KEY_CELL_VARIANT,FIELD_KEY_ROW_VARIANT,FIELD_KEY_SHOW_DETAILS].reduce((function(result,key){return _objectSpread2$3(_objectSpread2$3({},result),{},_defineProperty({},key,!0))}),{}),EVENT_FILTER=["a","a *","button","button *","input:not(.disabled):not([disabled])","select:not(.disabled):not([disabled])","textarea:not(.disabled):not([disabled])",'[role="link"]','[role="link"] *','[role="button"]','[role="button"] *',"[tabindex]:not(.disabled):not([disabled])"].join(","),sanitizeRow=function(row,ignoreFields,includeFields){var fieldsObj=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},formattedRow=keys(fieldsObj).reduce((function(result,key){var field=fieldsObj[key],filterByFormatted=field.filterByFormatted,formatter=isFunction$1(filterByFormatted)?filterByFormatted:filterByFormatted?field.formatter:null;return isFunction$1(formatter)&&(result[key]=formatter(row[key],key,row)),result}),clone(row)),allowedKeys=keys(formattedRow).filter((function(key){return!(IGNORED_FIELD_KEYS[key]||isArray(ignoreFields)&&ignoreFields.length>0&&arrayIncludes(ignoreFields,key)||isArray(includeFields)&&includeFields.length>0&&!arrayIncludes(includeFields,key))}));return pick$1(formattedRow,allowedKeys)},props$p={filter:makeProp([].concat(_toConsumableArray$1(PROP_TYPE_ARRAY_OBJECT_STRING),[PROP_TYPE_REG_EXP])),filterDebounce:makeProp(PROP_TYPE_NUMBER_STRING,0,(function(value){return RX_DIGITS.test(String(value))})),filterFunction:makeProp(PROP_TYPE_FUNCTION),filterIgnoredFields:makeProp(PROP_TYPE_ARRAY,[]),filterIncludedFields:makeProp(PROP_TYPE_ARRAY,[])},filteringMixin=extend({props:props$p,data:function(){return{isFiltered:!1,localFilter:this.filterSanitize(this.filter)}},computed:{computedFilterIgnored:function(){return concat(this.filterIgnoredFields||[]).filter(identity)},computedFilterIncluded:function(){return concat(this.filterIncludedFields||[]).filter(identity)},computedFilterDebounce:function(){var ms=toInteger(this.filterDebounce,0);return ms>0&&warn('Prop "filter-debounce" is deprecated. Use the debounce feature of "" instead.',"BTable"),ms},localFiltering:function(){return!this.hasProvider||!!this.noProviderFiltering},filteredCheck:function(){return{filteredItems:this.filteredItems,localItems:this.localItems,localFilter:this.localFilter}},localFilterFn:function(){var filterFunction=this.filterFunction;return hasPropFunction(filterFunction)?filterFunction:null},filteredItems:function(){var items=this.localItems,criteria=this.localFilter,filterFn=this.localFiltering?this.filterFnFactory(this.localFilterFn,criteria)||this.defaultFilterFnFactory(criteria):null;return filterFn&&items.length>0?items.filter(filterFn):items}},watch:{computedFilterDebounce:function(newValue){!newValue&&this.$_filterTimer&&(this.clearFilterTimer(),this.localFilter=this.filterSanitize(this.filter))},filter:{deep:!0,handler:function(newCriteria){var _this=this,timeout=this.computedFilterDebounce;this.clearFilterTimer(),timeout&&timeout>0?this.$_filterTimer=setTimeout((function(){_this.localFilter=_this.filterSanitize(newCriteria)}),timeout):this.localFilter=this.filterSanitize(newCriteria)}},filteredCheck:function(_ref){var filteredItems=_ref.filteredItems,localFilter=_ref.localFilter,isFiltered=!1;localFilter?looseEqual(localFilter,[])||looseEqual(localFilter,{})?isFiltered=!1:localFilter&&(isFiltered=!0):isFiltered=!1,isFiltered&&this.$emit("filtered",filteredItems,filteredItems.length),this.isFiltered=isFiltered},isFiltered:function(newValue,oldValue){if(!1===newValue&&!0===oldValue){var localItems=this.localItems;this.$emit("filtered",localItems,localItems.length)}}},created:function(){var _this2=this;this.$_filterTimer=null,this.$nextTick((function(){_this2.isFiltered=Boolean(_this2.localFilter)}))},beforeDestroy:function(){this.clearFilterTimer()},methods:{clearFilterTimer:function(){clearTimeout(this.$_filterTimer),this.$_filterTimer=null},filterSanitize:function(criteria){return!this.localFiltering||this.localFilterFn||isString(criteria)||isRegExp(criteria)?cloneDeep(criteria):""},filterFnFactory:function(filterFn,criteria){if(!filterFn||!isFunction$1(filterFn)||!criteria||looseEqual(criteria,[])||looseEqual(criteria,{}))return null;return function(item){return filterFn(item,criteria)}},defaultFilterFnFactory:function(criteria){var _this3=this;if(!criteria||!isString(criteria)&&!isRegExp(criteria))return null;var regExp=criteria;if(isString(regExp)){var pattern=escapeRegExp(criteria).replace(RX_SPACES,"\\s+");regExp=new RegExp(".*".concat(pattern,".*"),"i")}return function(item){return regExp.lastIndex=0,regExp.test((row=item,ignoreFields=_this3.computedFilterIgnored,includeFields=_this3.computedFilterIncluded,fieldsObj=_this3.computedFieldsObj,isObject(row)?stringifyObjectValues(sanitizeRow(row,ignoreFields,includeFields,fieldsObj)):""));var row,ignoreFields,includeFields,fieldsObj}}}}),normalizeFields=function(origFields,items){var fields=[];if(isArray(origFields)&&origFields.filter(identity).forEach((function(f){if(isString(f))fields.push({key:f,label:startCase(f)});else if(isObject(f)&&f.key&&isString(f.key))fields.push(clone(f));else if(isObject(f)&&1===keys(f).length){var key=keys(f)[0],field=function(key,value){var field=null;return isString(value)?field={key:key,label:value}:isFunction$1(value)?field={key:key,formatter:value}:isObject(value)?(field=clone(value)).key=field.key||key:!1!==value&&(field={key:key}),field}(key,f[key]);field&&fields.push(field)}})),0===fields.length&&isArray(items)&&items.length>0){var sample=items[0];keys(sample).forEach((function(k){IGNORED_FIELD_KEYS[k]||fields.push({key:k,label:startCase(k)})}))}var memo={};return fields.filter((function(f){return!memo[f.key]&&(memo[f.key]=!0,f.label=isString(f.label)?f.label:startCase(f.key),!0)}))},_makeModelMixin$2=makeModelMixin("value",{type:PROP_TYPE_ARRAY,defaultValue:[]}),modelMixin$2=_makeModelMixin$2.mixin,modelProps$2=_makeModelMixin$2.props,MODEL_PROP_NAME$2=_makeModelMixin$2.prop,MODEL_EVENT_NAME$2=_makeModelMixin$2.event,props$o=sortKeys(_objectSpread2$3(_objectSpread2$3({},modelProps$2),{},_defineProperty({fields:makeProp(PROP_TYPE_ARRAY,null),items:makeProp(PROP_TYPE_ARRAY,[]),primaryKey:makeProp(PROP_TYPE_STRING)},MODEL_PROP_NAME$2,makeProp(PROP_TYPE_ARRAY,[])))),itemsMixin=extend({mixins:[modelMixin$2,useParentMixin],props:props$o,data:function(){var items=this.items;return{localItems:isArray(items)?items.slice():[]}},computed:{computedFields:function(){return normalizeFields(this.fields,this.localItems)},computedFieldsObj:function(){var bvParent=this.bvParent;return this.computedFields.reduce((function(obj,f){if(obj[f.key]=clone(f),f.formatter){var formatter=f.formatter;isString(formatter)&&isFunction$1(bvParent[formatter])?formatter=bvParent[formatter]:isFunction$1(formatter)||(formatter=void 0),obj[f.key].formatter=formatter}return obj}),{})},computedItems:function(){var _safeVueInstance=safeVueInstance(this),paginatedItems=_safeVueInstance.paginatedItems,sortedItems=_safeVueInstance.sortedItems,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems;return(paginatedItems||sortedItems||filteredItems||localItems||[]).slice()},context:function(){var _safeVueInstance2=safeVueInstance(this),perPage=_safeVueInstance2.perPage,currentPage=_safeVueInstance2.currentPage;return{filter:this.localFilter,sortBy:this.localSortBy,sortDesc:this.localSortDesc,perPage:mathMax(toInteger(perPage,0),0),currentPage:mathMax(toInteger(currentPage,0),1),apiUrl:this.apiUrl}}},watch:{items:function(newValue){this.localItems=isArray(newValue)?newValue.slice():[]},computedItems:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit(MODEL_EVENT_NAME$2,newValue)},context:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$emit("context-changed",newValue)}},mounted:function(){this.$emit(MODEL_EVENT_NAME$2,this.computedItems)},methods:{getFieldFormatter:function(key){var field=this.computedFieldsObj[key];return field?field.formatter:void 0}}}),props$n={currentPage:makeProp(PROP_TYPE_NUMBER_STRING,1),perPage:makeProp(PROP_TYPE_NUMBER_STRING,0)},paginationMixin=extend({props:props$n,computed:{localPaging:function(){return!this.hasProvider||!!this.noProviderPaging},paginatedItems:function(){var _safeVueInstance=safeVueInstance(this),sortedItems=_safeVueInstance.sortedItems,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems,items=sortedItems||filteredItems||localItems||[],currentPage=mathMax(toInteger(this.currentPage,1),1),perPage=mathMax(toInteger(this.perPage,0),0);return this.localPaging&&perPage&&(items=items.slice((currentPage-1)*perPage,currentPage*perPage)),items}}}),ROOT_EVENT_NAME_REFRESHED=getRootEventName("BTable","refreshed"),ROOT_ACTION_EVENT_NAME_REFRESH=getRootActionEventName("BTable","refresh"),props$m={apiUrl:makeProp(PROP_TYPE_STRING),items:makeProp(PROP_TYPE_ARRAY_FUNCTION,[]),noProviderFiltering:makeProp(PROP_TYPE_BOOLEAN,!1),noProviderPaging:makeProp(PROP_TYPE_BOOLEAN,!1),noProviderSorting:makeProp(PROP_TYPE_BOOLEAN,!1)},providerMixin=extend({mixins:[listenOnRootMixin],props:props$m,computed:{hasProvider:function(){return isFunction$1(this.items)},providerTriggerContext:function(){var ctx={apiUrl:this.apiUrl,filter:null,sortBy:null,sortDesc:null,perPage:null,currentPage:null};return this.noProviderFiltering||(ctx.filter=this.localFilter),this.noProviderSorting||(ctx.sortBy=this.localSortBy,ctx.sortDesc=this.localSortDesc),this.noProviderPaging||(ctx.perPage=this.perPage,ctx.currentPage=this.currentPage),clone(ctx)}},watch:{items:function(newValue){(this.hasProvider||isFunction$1(newValue))&&this.$nextTick(this._providerUpdate)},providerTriggerContext:function(newValue,oldValue){looseEqual(newValue,oldValue)||this.$nextTick(this._providerUpdate)}},mounted:function(){var _this=this;!this.hasProvider||this.localItems&&0!==this.localItems.length||this._providerUpdate(),this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH,(function(id){id!==_this.id&&id!==_this||_this.refresh()}))},methods:{refresh:function(){var _safeVueInstance=safeVueInstance(this),items=_safeVueInstance.items,refresh=_safeVueInstance.refresh,computedBusy=_safeVueInstance.computedBusy;this.$off("refreshed",refresh),computedBusy?this.localBusy&&this.hasProvider&&this.$on("refreshed",refresh):(this.clearSelected(),this.hasProvider?this.$nextTick(this._providerUpdate):this.localItems=isArray(items)?items.slice():[])},_providerSetLocal:function(items){this.localItems=isArray(items)?items.slice():[],this.localBusy=!1,this.$emit("refreshed"),this.id&&this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED,this.id)},_providerUpdate:function(){var _this2=this;this.hasProvider&&(safeVueInstance(this).computedBusy?this.$nextTick(this.refresh):(this.localBusy=!0,this.$nextTick((function(){try{var data=_this2.items(_this2.context,_this2._providerSetLocal);!isUndefinedOrNull(value=data)&&isFunction$1(value.then)&&isFunction$1(value.catch)?data.then((function(items){_this2._providerSetLocal(items)})):isArray(data)?_this2._providerSetLocal(data):2!==_this2.items.length&&(warn("Provider function didn't request callback and did not return a promise or data.","BTable"),_this2.localBusy=!1)}catch(e){warn("Provider function error [".concat(e.name,"] ").concat(e.message,"."),"BTable"),_this2.localBusy=!1,_this2.$off("refreshed",_this2.refresh)}var value}))))}}}),SELECT_MODES=["range","multi","single"],props$l={noSelectOnClick:makeProp(PROP_TYPE_BOOLEAN,!1),selectMode:makeProp(PROP_TYPE_STRING,"multi",(function(value){return arrayIncludes(SELECT_MODES,value)})),selectable:makeProp(PROP_TYPE_BOOLEAN,!1),selectedVariant:makeProp(PROP_TYPE_STRING,"active")},selectableMixin=extend({props:props$l,data:function(){return{selectedRows:[],selectedLastRow:-1}},computed:{isSelectable:function(){return this.selectable&&this.selectMode},hasSelectableRowClick:function(){return this.isSelectable&&!this.noSelectOnClick},supportsSelectableRows:function(){return!0},selectableHasSelection:function(){var selectedRows=this.selectedRows;return this.isSelectable&&selectedRows&&selectedRows.length>0&&selectedRows.some(identity)},selectableIsMultiSelect:function(){return this.isSelectable&&arrayIncludes(["range","multi"],this.selectMode)},selectableTableClasses:function(){var _ref,isSelectable=this.isSelectable;return _defineProperty(_ref={"b-table-selectable":isSelectable},"b-table-select-".concat(this.selectMode),isSelectable),_defineProperty(_ref,"b-table-selecting",this.selectableHasSelection),_defineProperty(_ref,"b-table-selectable-no-click",isSelectable&&!this.hasSelectableRowClick),_ref},selectableTableAttrs:function(){if(!this.isSelectable)return{};var role=this.bvAttrs.role||"grid";return{role:role,"aria-multiselectable":"grid"===role?toString(this.selectableIsMultiSelect):null}}},watch:{computedItems:function(newValue,oldValue){var equal=!1;if(this.isSelectable&&this.selectedRows.length>0){equal=isArray(newValue)&&isArray(oldValue)&&newValue.length===oldValue.length;for(var i=0;equal&&i=0&&index0&&(this.selectedLastClicked=-1,this.selectedRows=this.selectableIsMultiSelect?createArray(length,!0):[!0])},isRowSelected:function(index){return!(!isNumber(index)||!this.selectedRows[index])},clearSelected:function(){this.selectedLastClicked=-1,this.selectedRows=[]},selectableRowClasses:function(index){if(this.isSelectable&&this.isRowSelected(index)){var variant=this.selectedVariant;return _defineProperty({"b-table-row-selected":!0},"".concat(this.dark?"bg":"table","-").concat(variant),variant)}return{}},selectableRowAttrs:function(index){return{"aria-selected":this.isSelectable?this.isRowSelected(index)?"true":"false":null}},setSelectionHandlers:function(on){var method=on&&!this.noSelectOnClick?"$on":"$off";this[method]("row-clicked",this.selectionHandler),this[method]("filtered",this.clearSelected),this[method]("context-changed",this.clearSelected)},selectionHandler:function(item,index,event){if(this.isSelectable&&!this.noSelectOnClick){var selectMode=this.selectMode,selectedLastRow=this.selectedLastRow,selectedRows=this.selectedRows.slice(),selected=!selectedRows[index];if("single"===selectMode)selectedRows=[];else if("range"===selectMode)if(selectedLastRow>-1&&event.shiftKey){for(var idx=mathMin(selectedLastRow,index);idx<=mathMax(selectedLastRow,index);idx++)selectedRows[idx]=!0;selected=!0}else event.ctrlKey||event.metaKey||(selectedRows=[],selected=!0),selected&&(this.selectedLastRow=index);selectedRows[index]=selected,this.selectedRows=selectedRows}else this.clearSelected()}}}),stableSort$1=function(array,compareFn){return array.map((function(a,index){return[index,a]})).sort(function(a,b){return this(a[1],b[1])||a[0]-b[0]}.bind(compareFn)).map((function(e){return e[1]}))},normalizeValue=function(value){return isUndefinedOrNull(value)?"":isNumeric$1(value)?toFloat(value,value):value},SORT_DIRECTIONS=["asc","desc","last"],props$k=(_defineProperty(_props={labelSortAsc:makeProp(PROP_TYPE_STRING,"Click to sort ascending"),labelSortClear:makeProp(PROP_TYPE_STRING,"Click to clear sorting"),labelSortDesc:makeProp(PROP_TYPE_STRING,"Click to sort descending"),noFooterSorting:makeProp(PROP_TYPE_BOOLEAN,!1),noLocalSorting:makeProp(PROP_TYPE_BOOLEAN,!1),noSortReset:makeProp(PROP_TYPE_BOOLEAN,!1)},"sortBy",makeProp(PROP_TYPE_STRING)),_defineProperty(_props,"sortCompare",makeProp(PROP_TYPE_FUNCTION)),_defineProperty(_props,"sortCompareLocale",makeProp(PROP_TYPE_ARRAY_STRING)),_defineProperty(_props,"sortCompareOptions",makeProp(PROP_TYPE_OBJECT,{numeric:!0})),_defineProperty(_props,"sortDesc",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_props,"sortDirection",makeProp(PROP_TYPE_STRING,"asc",(function(value){return arrayIncludes(SORT_DIRECTIONS,value)}))),_defineProperty(_props,"sortIconLeft",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_props,"sortNullLast",makeProp(PROP_TYPE_BOOLEAN,!1)),_props),sortingMixin=extend({props:props$k,data:function(){return{localSortBy:this.sortBy||"",localSortDesc:this.sortDesc||!1}},computed:{localSorting:function(){return this.hasProvider?!!this.noProviderSorting:!this.noLocalSorting},isSortable:function(){return this.computedFields.some((function(f){return f.sortable}))},sortedItems:function(){var _safeVueInstance=safeVueInstance(this),sortBy=_safeVueInstance.localSortBy,sortDesc=_safeVueInstance.localSortDesc,locale=_safeVueInstance.sortCompareLocale,nullLast=_safeVueInstance.sortNullLast,sortCompare=_safeVueInstance.sortCompare,localSorting=_safeVueInstance.localSorting,filteredItems=_safeVueInstance.filteredItems,localItems=_safeVueInstance.localItems,items=(filteredItems||localItems||[]).slice(),localeOptions=_objectSpread2$3(_objectSpread2$3({},this.sortCompareOptions),{},{usage:"sort"});if(sortBy&&localSorting){var sortByFormatted=(this.computedFieldsObj[sortBy]||{}).sortByFormatted,formatter=isFunction$1(sortByFormatted)?sortByFormatted:sortByFormatted?this.getFieldFormatter(sortBy):void 0;return stableSort$1(items,(function(a,b){var result=null;return isFunction$1(sortCompare)&&(result=sortCompare(a,b,sortBy,sortDesc,formatter,localeOptions,locale)),(isUndefinedOrNull(result)||!1===result)&&(result=function(a,b){var _ref=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},_ref$sortBy=_ref.sortBy,sortBy=void 0===_ref$sortBy?null:_ref$sortBy,_ref$formatter=_ref.formatter,formatter=void 0===_ref$formatter?null:_ref$formatter,_ref$locale=_ref.locale,locale=void 0===_ref$locale?void 0:_ref$locale,_ref$localeOptions=_ref.localeOptions,localeOptions=void 0===_ref$localeOptions?{}:_ref$localeOptions,_ref$nullLast=_ref.nullLast,nullLast=void 0!==_ref$nullLast&&_ref$nullLast,aa=get(a,sortBy,null),bb=get(b,sortBy,null);return isFunction$1(formatter)&&(aa=formatter(aa,sortBy,a),bb=formatter(bb,sortBy,b)),aa=normalizeValue(aa),bb=normalizeValue(bb),isDate(aa)&&isDate(bb)||isNumber(aa)&&isNumber(bb)?aabb?1:0:nullLast&&""===aa&&""!==bb?1:nullLast&&""!==aa&&""===bb?-1:stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb),locale,localeOptions)}(a,b,{sortBy:sortBy,formatter:formatter,locale:locale,localeOptions:localeOptions,nullLast:nullLast})),(result||0)*(sortDesc?-1:1)}))}return items}},watch:(_watch$3={isSortable:function(newValue){newValue?this.isSortable&&this.$on("head-clicked",this.handleSort):this.$off("head-clicked",this.handleSort)}},_defineProperty(_watch$3,"sortDesc",(function(newValue){newValue!==this.localSortDesc&&(this.localSortDesc=newValue||!1)})),_defineProperty(_watch$3,"sortBy",(function(newValue){newValue!==this.localSortBy&&(this.localSortBy=newValue||"")})),_defineProperty(_watch$3,"localSortDesc",(function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:sortDesc",newValue)})),_defineProperty(_watch$3,"localSortBy",(function(newValue,oldValue){newValue!==oldValue&&this.$emit("update:sortBy",newValue)})),_watch$3),created:function(){this.isSortable&&this.$on("head-clicked",this.handleSort)},methods:{handleSort:function(key,field,event,isFoot){var _this=this;if(this.isSortable&&(!isFoot||!this.noFooterSorting)){var sortChanged=!1,toggleLocalSortDesc=function(){var sortDirection=field.sortDirection||_this.sortDirection;"asc"===sortDirection?_this.localSortDesc=!1:"desc"===sortDirection&&(_this.localSortDesc=!0)};if(field.sortable){var sortKey=!this.localSorting&&field.sortKey?field.sortKey:key;this.localSortBy===sortKey?this.localSortDesc=!this.localSortDesc:(this.localSortBy=sortKey,toggleLocalSortDesc()),sortChanged=!0}else this.localSortBy&&!this.noSortReset&&(this.localSortBy="",toggleLocalSortDesc(),sortChanged=!0);sortChanged&&this.$emit("sort-changed",this.context)}},sortTheadThClasses:function(key,field,isFoot){return{"b-table-sort-icon-left":field.sortable&&this.sortIconLeft&&!(isFoot&&this.noFooterSorting)}},sortTheadThAttrs:function(key,field,isFoot){var _field$sortKey,isSortable=this.isSortable,noFooterSorting=this.noFooterSorting,localSortDesc=this.localSortDesc,localSortBy=this.localSortBy,localSorting=this.localSorting;if(!isSortable||isFoot&&noFooterSorting)return{};var sortable=field.sortable,sortKey=localSorting?key:null!==(_field$sortKey=field.sortKey)&&void 0!==_field$sortKey?_field$sortKey:key;return{"aria-sort":sortable&&localSortBy===sortKey?localSortDesc?"descending":"ascending":sortable?"none":null}},sortTheadThLabel:function(key,field,isFoot){if(!this.isSortable||isFoot&&this.noFooterSorting)return null;var localSortBy=this.localSortBy,localSortDesc=this.localSortDesc,labelSortAsc=this.labelSortAsc,labelSortDesc=this.labelSortDesc,labelSorting="";if(field.sortable)if(localSortBy===key)labelSorting=localSortDesc?labelSortAsc:labelSortDesc;else{labelSorting=localSortDesc?labelSortDesc:labelSortAsc;var sortDirection=this.sortDirection||field.sortDirection;"asc"===sortDirection?labelSorting=labelSortAsc:"desc"===sortDirection&&(labelSorting=labelSortDesc)}else this.noSortReset||(labelSorting=localSortBy?this.labelSortClear:"");return trim(labelSorting)||null}}}),props$j={stacked:makeProp(PROP_TYPE_BOOLEAN_STRING,!1)},stackedMixin=extend({props:props$j,computed:{isStacked:function(){var stacked=this.stacked;return""===stacked||stacked},isStackedAlways:function(){return!0===this.isStacked},stackedTableClasses:function(){var isStackedAlways=this.isStackedAlways;return _defineProperty({"b-table-stacked":isStackedAlways},"b-table-stacked-".concat(this.stacked),!isStackedAlways&&this.isStacked)}}}),props$i={bordered:makeProp(PROP_TYPE_BOOLEAN,!1),borderless:makeProp(PROP_TYPE_BOOLEAN,!1),captionTop:makeProp(PROP_TYPE_BOOLEAN,!1),dark:makeProp(PROP_TYPE_BOOLEAN,!1),fixed:makeProp(PROP_TYPE_BOOLEAN,!1),hover:makeProp(PROP_TYPE_BOOLEAN,!1),noBorderCollapse:makeProp(PROP_TYPE_BOOLEAN,!1),outlined:makeProp(PROP_TYPE_BOOLEAN,!1),responsive:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),small:makeProp(PROP_TYPE_BOOLEAN,!1),stickyHeader:makeProp(PROP_TYPE_BOOLEAN_STRING,!1),striped:makeProp(PROP_TYPE_BOOLEAN,!1),tableClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tableVariant:makeProp(PROP_TYPE_STRING)},tableRendererMixin=extend({mixins:[attrsMixin],provide:function(){var _this=this;return{getBvTable:function(){return _this}}},inheritAttrs:!1,props:props$i,computed:{isTableSimple:function(){return!1},isResponsive:function(){var responsive=this.responsive;return""===responsive||responsive},isStickyHeader:function(){var stickyHeader=this.stickyHeader;return stickyHeader=""===stickyHeader||stickyHeader,!this.isStacked&&stickyHeader},wrapperClasses:function(){var isResponsive=this.isResponsive;return[this.isStickyHeader?"b-table-sticky-header":"",!0===isResponsive?"table-responsive":isResponsive?"table-responsive-".concat(this.responsive):""].filter(identity)},wrapperStyles:function(){var isStickyHeader=this.isStickyHeader;return isStickyHeader&&!isBoolean(isStickyHeader)?{maxHeight:isStickyHeader}:{}},tableClasses:function(){var _safeVueInstance=safeVueInstance(this),hover=_safeVueInstance.hover,tableVariant=_safeVueInstance.tableVariant,selectableTableClasses=_safeVueInstance.selectableTableClasses,stackedTableClasses=_safeVueInstance.stackedTableClasses,tableClass=_safeVueInstance.tableClass,computedBusy=_safeVueInstance.computedBusy;return hover=this.isTableSimple?hover:hover&&this.computedItems.length>0&&!computedBusy,[tableClass,{"table-striped":this.striped,"table-hover":hover,"table-dark":this.dark,"table-bordered":this.bordered,"table-borderless":this.borderless,"table-sm":this.small,border:this.outlined,"b-table-fixed":this.fixed,"b-table-caption-top":this.captionTop,"b-table-no-border-collapse":this.noBorderCollapse},tableVariant?"".concat(this.dark?"bg":"table","-").concat(tableVariant):"",stackedTableClasses,selectableTableClasses]},tableAttrs:function(){var _safeVueInstance2=safeVueInstance(this),items=_safeVueInstance2.computedItems,filteredItems=_safeVueInstance2.filteredItems,fields=_safeVueInstance2.computedFields,selectableTableAttrs=_safeVueInstance2.selectableTableAttrs,computedBusy=_safeVueInstance2.computedBusy,ariaAttrs=this.isTableSimple?{}:{"aria-busy":toString(computedBusy),"aria-colcount":toString(fields.length),"aria-describedby":this.bvAttrs["aria-describedby"]||this.$refs.caption?this.captionId:null};return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3({"aria-rowcount":items&&filteredItems&&filteredItems.length>items.length?toString(filteredItems.length):null},this.bvAttrs),{},{id:this.safeId(),role:this.bvAttrs.role||"table"},ariaAttrs),selectableTableAttrs)}},render:function(h){var _safeVueInstance3=safeVueInstance(this),wrapperClasses=_safeVueInstance3.wrapperClasses,renderCaption=_safeVueInstance3.renderCaption,renderColgroup=_safeVueInstance3.renderColgroup,renderThead=_safeVueInstance3.renderThead,renderTbody=_safeVueInstance3.renderTbody,renderTfoot=_safeVueInstance3.renderTfoot,$content=[];this.isTableSimple?$content.push(this.normalizeSlot()):($content.push(renderCaption?renderCaption():null),$content.push(renderColgroup?renderColgroup():null),$content.push(renderThead?renderThead():null),$content.push(renderTbody?renderTbody():null),$content.push(renderTfoot?renderTfoot():null));var $table=h("table",{staticClass:"table b-table",class:this.tableClasses,attrs:this.tableAttrs,key:"b-table"},$content.filter(identity));return wrapperClasses.length>0?h("div",{class:wrapperClasses,style:this.wrapperStyles,key:"wrap"},[$table]):$table}}),props$h=makePropsConfigurable({tbodyTransitionHandlers:makeProp(PROP_TYPE_OBJECT),tbodyTransitionProps:makeProp(PROP_TYPE_OBJECT)},"BTbody"),BTbody=extend({name:"BTbody",mixins:[attrsMixin,listenersMixin,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTableRowGroup:function(){return _this}}},inject:{getBvTable:{default:function(){return function(){return{}}}}},inheritAttrs:!1,props:props$h,computed:{bvTable:function(){return this.getBvTable()},isTbody:function(){return!0},isDark:function(){return this.bvTable.dark},isStacked:function(){return this.bvTable.isStacked},isResponsive:function(){return this.bvTable.isResponsive},isStickyHeader:function(){return!1},hasStickyHeader:function(){return!this.isStacked&&this.bvTable.stickyHeader},tableVariant:function(){return this.bvTable.tableVariant},isTransitionGroup:function(){return this.tbodyTransitionProps||this.tbodyTransitionHandlers},tbodyAttrs:function(){return _objectSpread2$3({role:"rowgroup"},this.bvAttrs)},tbodyProps:function(){var tbodyTransitionProps=this.tbodyTransitionProps;return tbodyTransitionProps?_objectSpread2$3(_objectSpread2$3({},tbodyTransitionProps),{},{tag:"tbody"}):{}}},render:function(h){var data={props:this.tbodyProps,attrs:this.tbodyAttrs};return this.isTransitionGroup?(data.on=this.tbodyTransitionHandlers||{},data.nativeOn=this.bvListeners):data.on=this.bvListeners,h(this.isTransitionGroup?"transition-group":"tbody",data,this.normalizeSlot())}}),TABLE_TAG_NAMES=["TD","TH","TR"],filterEvent=function(event){if(!event||!event.target)return!1;var el=event.target;if(el.disabled||-1!==TABLE_TAG_NAMES.indexOf(el.tagName))return!1;if(closest(".dropdown-menu",el))return!0;var label="LABEL"===el.tagName?el:closest("label",el);if(label){var labelFor=getAttr(label,"for"),input=labelFor?getById(labelFor):select("input, select, textarea",label);if(input&&!input.disabled)return!0}return matches(el,EVENT_FILTER)},textSelectionActive=function(){var el=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,sel=WINDOW.getSelection?WINDOW.getSelection():null;return!!(sel&&""!==sel.toString().trim()&&sel.containsNode&&isElement(el))&&sel.containsNode(el,!0)},props$g=makePropsConfigurable(props$u,"BTh"),BTh=extend({name:"BTh",extends:BTd,props:props$g,computed:{tag:function(){return"th"}}}),props$f={detailsTdClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),tbodyTrAttr:makeProp(PROP_TYPE_OBJECT_FUNCTION),tbodyTrClass:makeProp([].concat(_toConsumableArray$1(PROP_TYPE_ARRAY_OBJECT_STRING),[PROP_TYPE_FUNCTION]))},tbodyRowMixin=extend({mixins:[useParentMixin],props:props$f,methods:{getTdValues:function(item,key,tdValue,defaultValue){var bvParent=this.bvParent;if(tdValue){var value=get(item,key,"");return isFunction$1(tdValue)?tdValue(value,key,item):isString(tdValue)&&isFunction$1(bvParent[tdValue])?bvParent[tdValue](value,key,item):tdValue}return defaultValue},getThValues:function(item,key,thValue,type,defaultValue){var bvParent=this.bvParent;if(thValue){var value=get(item,key,"");return isFunction$1(thValue)?thValue(value,key,item,type):isString(thValue)&&isFunction$1(bvParent[thValue])?bvParent[thValue](value,key,item,type):thValue}return defaultValue},getFormattedValue:function(item,field){var key=field.key,formatter=this.getFieldFormatter(key),value=get(item,key,null);return isFunction$1(formatter)&&(value=formatter(value,key,item)),isUndefinedOrNull(value)?"":value},toggleDetailsFactory:function(hasDetailsSlot,item){var _this=this;return function(){hasDetailsSlot&&_this.$set(item,FIELD_KEY_SHOW_DETAILS,!item[FIELD_KEY_SHOW_DETAILS])}},rowHovered:function(event){this.tbodyRowEventStopped(event)||this.emitTbodyRowEvent("row-hovered",event)},rowUnhovered:function(event){this.tbodyRowEventStopped(event)||this.emitTbodyRowEvent("row-unhovered",event)},renderTbodyRowCell:function(field,colIndex,item,rowIndex){var _this2=this,isStacked=this.isStacked,key=field.key,label=field.label,isRowHeader=field.isRowHeader,h=this.$createElement,hasDetailsSlot=this.hasNormalizedSlot("row-details"),formatted=this.getFormattedValue(item,field),stickyColumn=!isStacked&&(this.isResponsive||this.stickyHeader)&&field.stickyColumn,cellTag=stickyColumn?isRowHeader?BTh:BTd:isRowHeader?"th":"td",cellVariant=item[FIELD_KEY_CELL_VARIANT]&&item[FIELD_KEY_CELL_VARIANT][key]?item[FIELD_KEY_CELL_VARIANT][key]:field.variant||null,data={class:[field.class?field.class:"",this.getTdValues(item,key,field.tdClass,"")],props:{},attrs:_objectSpread2$3({"aria-colindex":String(colIndex+1)},isRowHeader?this.getThValues(item,key,field.thAttr,"row",{}):this.getTdValues(item,key,field.tdAttr,{})),key:"row-".concat(rowIndex,"-cell-").concat(colIndex,"-").concat(key)};stickyColumn?data.props={stackedHeading:isStacked?label:null,stickyColumn:!0,variant:cellVariant}:(data.attrs["data-label"]=isStacked&&!isUndefinedOrNull(label)?toString(label):null,data.attrs.role=isRowHeader?"rowheader":"cell",data.attrs.scope=isRowHeader?"row":null,cellVariant&&data.class.push("".concat(this.dark?"bg":"table","-").concat(cellVariant)));var slotScope={item:item,index:rowIndex,field:field,unformatted:get(item,key,""),value:formatted,toggleDetails:this.toggleDetailsFactory(hasDetailsSlot,item),detailsShowing:Boolean(item[FIELD_KEY_SHOW_DETAILS])};safeVueInstance(this).supportsSelectableRows&&(slotScope.rowSelected=this.isRowSelected(rowIndex),slotScope.selectRow=function(){return _this2.selectRow(rowIndex)},slotScope.unselectRow=function(){return _this2.unselectRow(rowIndex)});var slotName=this.$_bodyFieldSlotNameCache[key],$childNodes=slotName?this.normalizeSlot(slotName,slotScope):toString(formatted);return this.isStacked&&($childNodes=[h("div",[$childNodes])]),h(cellTag,data,[$childNodes])},renderTbodyRow:function(item,rowIndex){var _this3=this,_safeVueInstance=safeVueInstance(this),fields=_safeVueInstance.computedFields,striped=_safeVueInstance.striped,primaryKey=_safeVueInstance.primaryKey,currentPage=_safeVueInstance.currentPage,perPage=_safeVueInstance.perPage,tbodyTrClass=_safeVueInstance.tbodyTrClass,tbodyTrAttr=_safeVueInstance.tbodyTrAttr,hasSelectableRowClick=_safeVueInstance.hasSelectableRowClick,h=this.$createElement,hasDetailsSlot=this.hasNormalizedSlot("row-details"),rowShowDetails=item[FIELD_KEY_SHOW_DETAILS]&&hasDetailsSlot,hasRowClickHandler=this.$listeners["row-clicked"]||hasSelectableRowClick,$rows=[],detailsId=rowShowDetails?this.safeId("_details_".concat(rowIndex,"_")):null,$tds=fields.map((function(field,colIndex){return _this3.renderTbodyRowCell(field,colIndex,item,rowIndex)})),ariaRowIndex=null;currentPage&&perPage&&perPage>0&&(ariaRowIndex=String((currentPage-1)*perPage+rowIndex+1));var primaryKeyValue=toString(get(item,primaryKey))||null,rowKey=primaryKeyValue||toString(rowIndex),rowId=primaryKeyValue?this.safeId("_row_".concat(primaryKeyValue)):null,selectableClasses=safeVueInstance(this).selectableRowClasses?this.selectableRowClasses(rowIndex):{},selectableAttrs=safeVueInstance(this).selectableRowAttrs?this.selectableRowAttrs(rowIndex):{},userTrClasses=isFunction$1(tbodyTrClass)?tbodyTrClass(item,"row"):tbodyTrClass,userTrAttrs=isFunction$1(tbodyTrAttr)?tbodyTrAttr(item,"row"):tbodyTrAttr;if($rows.push(h(BTr,_defineProperty({class:[userTrClasses,selectableClasses,rowShowDetails?"b-table-has-details":""],props:{variant:item[FIELD_KEY_ROW_VARIANT]||null},attrs:_objectSpread2$3(_objectSpread2$3({id:rowId},userTrAttrs),{},{tabindex:hasRowClickHandler?"0":null,"data-pk":primaryKeyValue||null,"aria-details":detailsId,"aria-owns":detailsId,"aria-rowindex":ariaRowIndex},selectableAttrs),on:{mouseenter:this.rowHovered,mouseleave:this.rowUnhovered},key:"__b-table-row-".concat(rowKey,"__"),ref:"item-rows"},REF_FOR_KEY,!0),$tds)),rowShowDetails){var detailsScope={item:item,index:rowIndex,fields:fields,toggleDetails:this.toggleDetailsFactory(hasDetailsSlot,item)};safeVueInstance(this).supportsSelectableRows&&(detailsScope.rowSelected=this.isRowSelected(rowIndex),detailsScope.selectRow=function(){return _this3.selectRow(rowIndex)},detailsScope.unselectRow=function(){return _this3.unselectRow(rowIndex)});var $details=h(BTd,{props:{colspan:fields.length},class:this.detailsTdClass},[this.normalizeSlot("row-details",detailsScope)]);striped&&$rows.push(h("tr",{staticClass:"d-none",attrs:{"aria-hidden":"true",role:"presentation"},key:"__b-table-details-stripe__".concat(rowKey)}));var userDetailsTrClasses=isFunction$1(this.tbodyTrClass)?this.tbodyTrClass(item,"row-details"):this.tbodyTrClass,userDetailsTrAttrs=isFunction$1(this.tbodyTrAttr)?this.tbodyTrAttr(item,"row-details"):this.tbodyTrAttr;$rows.push(h(BTr,{staticClass:"b-table-details",class:[userDetailsTrClasses],props:{variant:item[FIELD_KEY_ROW_VARIANT]||null},attrs:_objectSpread2$3(_objectSpread2$3({},userDetailsTrAttrs),{},{id:detailsId,tabindex:"-1"}),key:"__b-table-details__".concat(rowKey)},[$details]))}else hasDetailsSlot&&($rows.push(h()),striped&&$rows.push(h()));return $rows}}}),getCellSlotName=function(value){return"cell(".concat(value||"",")")},props$e=sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$h),props$f),{},{tbodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)})),tbodyMixin=extend({mixins:[tbodyRowMixin],props:props$e,beforeDestroy:function(){this.$_bodyFieldSlotNameCache=null},methods:{getTbodyTrs:function(){var $refs=this.$refs,tbody=$refs.tbody?$refs.tbody.$el||$refs.tbody:null,trs=($refs["item-rows"]||[]).map((function(tr){return tr.$el||tr}));return tbody&&tbody.children&&tbody.children.length>0&&trs&&trs.length>0?from(tbody.children).filter((function(tr){return arrayIncludes(trs,tr)})):[]},getTbodyTrIndex:function(el){if(!isElement(el))return-1;var tr="TR"===el.tagName?el:closest("tr",el,!0);return tr?this.getTbodyTrs().indexOf(tr):-1},emitTbodyRowEvent:function(type,event){if(type&&this.hasListener(type)&&event&&event.target){var rowIndex=this.getTbodyTrIndex(event.target);if(rowIndex>-1){var item=this.computedItems[rowIndex];this.$emit(type,item,rowIndex,event)}}},tbodyRowEventStopped:function(event){return this.stopIfBusy&&this.stopIfBusy(event)},onTbodyRowKeydown:function(event){var target=event.target,keyCode=event.keyCode;if(!this.tbodyRowEventStopped(event)&&"TR"===target.tagName&&isActiveElement(target)&&0===target.tabIndex)if(arrayIncludes([CODE_ENTER,CODE_SPACE],keyCode))stopEvent(event),this.onTBodyRowClicked(event);else if(arrayIncludes([CODE_UP,CODE_DOWN,CODE_HOME,CODE_END],keyCode)){var rowIndex=this.getTbodyTrIndex(target);if(rowIndex>-1){stopEvent(event);var trs=this.getTbodyTrs(),shift=event.shiftKey;keyCode===CODE_HOME||shift&&keyCode===CODE_UP?attemptFocus(trs[0]):keyCode===CODE_END||shift&&keyCode===CODE_DOWN?attemptFocus(trs[trs.length-1]):keyCode===CODE_UP&&rowIndex>0?attemptFocus(trs[rowIndex-1]):keyCode===CODE_DOWN&&rowIndex0&&void 0!==arguments[0]&&arguments[0],_safeVueInstance=safeVueInstance(this),fields=_safeVueInstance.computedFields,isSortable=_safeVueInstance.isSortable,isSelectable=_safeVueInstance.isSelectable,headVariant=_safeVueInstance.headVariant,footVariant=_safeVueInstance.footVariant,headRowVariant=_safeVueInstance.headRowVariant,footRowVariant=_safeVueInstance.footRowVariant,h=this.$createElement;if(this.isStackedAlways||0===fields.length)return h();var hasHeadClickListener=isSortable||this.hasListener("head-clicked"),selectAllRows=isSelectable?this.selectAllRows:noop,clearSelected=isSelectable?this.clearSelected:noop,$cells=fields.map((function(field,colIndex){var label=field.label,labelHtml=field.labelHtml,variant=field.variant,stickyColumn=field.stickyColumn,key=field.key,ariaLabel=null;field.label.trim()||field.headerTitle||(ariaLabel=startCase(field.key));var on={};hasHeadClickListener&&(on.click=function(event){_this.headClicked(event,field,isFoot)},on.keydown=function(event){var keyCode=event.keyCode;keyCode!==CODE_ENTER&&keyCode!==CODE_SPACE||_this.headClicked(event,field,isFoot)});var sortAttrs=isSortable?_this.sortTheadThAttrs(key,field,isFoot):{},sortClass=isSortable?_this.sortTheadThClasses(key,field,isFoot):null,sortLabel=isSortable?_this.sortTheadThLabel(key,field,isFoot):null,data={class:[{"position-relative":sortLabel},_this.fieldClasses(field),sortClass],props:{variant:variant,stickyColumn:stickyColumn},style:field.thStyle||{},attrs:_objectSpread2$3(_objectSpread2$3({tabindex:hasHeadClickListener&&field.sortable?"0":null,abbr:field.headerAbbr||null,title:field.headerTitle||null,"aria-colindex":colIndex+1,"aria-label":ariaLabel},_this.getThValues(null,key,field.thAttr,isFoot?"foot":"head",{})),sortAttrs),on:on,key:key},slotNames=[getHeadSlotName(key),getHeadSlotName(key.toLowerCase()),getHeadSlotName()];isFoot&&(slotNames=[getFootSlotName(key),getFootSlotName(key.toLowerCase()),getFootSlotName()].concat(_toConsumableArray$1(slotNames)));var scope={label:label,column:key,field:field,isFoot:isFoot,selectAllRows:selectAllRows,clearSelected:clearSelected},$content=_this.normalizeSlot(slotNames,scope)||h("div",{domProps:htmlOrText(labelHtml,label)}),$srLabel=sortLabel?h("span",{staticClass:"sr-only"}," (".concat(sortLabel,")")):null;return h(BTh,data,[$content,$srLabel].filter(identity))})).filter(identity),$trs=[];if(isFoot)$trs.push(h(BTr,{class:this.tfootTrClass,props:{variant:isUndefinedOrNull(footRowVariant)?headRowVariant:footRowVariant}},$cells));else{var scope={columns:fields.length,fields:fields,selectAllRows:selectAllRows,clearSelected:clearSelected};$trs.push(this.normalizeSlot("thead-top",scope)||h()),$trs.push(h(BTr,{class:this.theadTrClass,props:{variant:headRowVariant}},$cells))}return h(isFoot?BTfoot:BThead,{class:(isFoot?this.tfootClass:this.theadClass)||null,props:isFoot?{footVariant:footVariant||headVariant||null}:{headVariant:headVariant||null},key:isFoot?"bv-tfoot":"bv-thead"},$trs)}}}),topRowMixin=extend({methods:{renderTopRow:function(){var fields=this.computedFields,stacked=this.stacked,tbodyTrClass=this.tbodyTrClass,tbodyTrAttr=this.tbodyTrAttr,h=this.$createElement;return this.hasNormalizedSlot("top-row")&&!0!==stacked&&""!==stacked?h(BTr,{staticClass:"b-table-top-row",class:[isFunction$1(tbodyTrClass)?tbodyTrClass(null,"row-top"):tbodyTrClass],attrs:isFunction$1(tbodyTrAttr)?tbodyTrAttr(null,"row-top"):tbodyTrAttr,key:"b-top-row"},[this.normalizeSlot("top-row",{columns:fields.length,fields:fields})]):h()}}}),props$8=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$v),props$t),props$s),props$r),props$q),props$p),props$o),props$n),props$m),props$l),props$k),props$j),props$i),props$e),props$c),props$a),{})),"BTable"),BTable=extend({name:"BTable",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,itemsMixin,tableRendererMixin,stackedMixin,theadMixin,tfootMixin,tbodyMixin,stackedMixin,filteringMixin,sortingMixin,paginationMixin,captionMixin,colgroupMixin,selectableMixin,emptyMixin,topRowMixin,bottomRowMixin,busyMixin,providerMixin],props:props$8}),props$7=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$s),props$r),props$o),props$j),props$i),props$e),props$c),props$a)),"BTableLite"),BTableLite=extend({name:"BTableLite",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,itemsMixin,tableRendererMixin,stackedMixin,theadMixin,tfootMixin,tbodyMixin,captionMixin,colgroupMixin],props:props$7}),props$6=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),props$j),props$i)),"BTableSimple"),BTableSimple=extend({name:"BTableSimple",mixins:[attrsMixin,hasListenerMixin,idMixin,normalizeSlotMixin,tableRendererMixin,stackedMixin],props:props$6,computed:{isTableSimple:function(){return!0}}}),TableLitePlugin=pluginFactory({components:{BTableLite:BTableLite}}),TableSimplePlugin=pluginFactory({components:{BTableSimple:BTableSimple,BTbody:BTbody,BThead:BThead,BTfoot:BTfoot,BTr:BTr,BTd:BTd,BTh:BTh}}),TablePlugin=pluginFactory({components:{BTable:BTable},plugins:{TableLitePlugin:TableLitePlugin,TableSimplePlugin:TableSimplePlugin}}),isPositiveNumber=function(value){return value>0},props$5=makePropsConfigurable({animation:makeProp(PROP_TYPE_STRING),columns:makeProp(PROP_TYPE_NUMBER,5,isPositiveNumber),hideHeader:makeProp(PROP_TYPE_BOOLEAN,!1),rows:makeProp(PROP_TYPE_NUMBER,3,isPositiveNumber),showFooter:makeProp(PROP_TYPE_BOOLEAN,!1),tableProps:makeProp(PROP_TYPE_OBJECT,{})},"BSkeletonTable"),BSkeletonTable=extend({name:"BSkeletonTable",functional:!0,props:props$5,render:function(h,_ref){var data=_ref.data,props=_ref.props,animation=props.animation,columns=props.columns,$th=h("th",[h(BSkeleton,{props:{animation:animation}})]),$thTr=h("tr",createArray(columns,$th)),$td=h("td",[h(BSkeleton,{props:{width:"75%",animation:animation}})]),$tdTr=h("tr",createArray(columns,$td)),$tbody=h("tbody",createArray(props.rows,$tdTr)),$thead=props.hideHeader?h():h("thead",[$thTr]),$tfoot=props.showFooter?h("tfoot",[$thTr]):h();return h(BTableSimple,a(data,{props:_objectSpread2$3({},props.tableProps)}),[$thead,$tbody,$tfoot])}}),props$4=makePropsConfigurable({loading:makeProp(PROP_TYPE_BOOLEAN,!1)},"BSkeletonWrapper"),BSkeletonWrapper=extend({name:"BSkeletonWrapper",functional:!0,props:props$4,render:function(h,_ref){var data=_ref.data,props=_ref.props,slots=_ref.slots,scopedSlots=_ref.scopedSlots,$slots=slots(),$scopedSlots=scopedSlots||{},slotScope={};return props.loading?h("div",a(data,{attrs:{role:"alert","aria-live":"polite","aria-busy":!0},staticClass:"b-skeleton-wrapper",key:"loading"}),normalizeSlot("loading",slotScope,$scopedSlots,$slots)):normalizeSlot("default",slotScope,$scopedSlots,$slots)}}),SkeletonPlugin=pluginFactory({components:{BSkeleton:BSkeleton,BSkeletonIcon:BSkeletonIcon,BSkeletonImg:BSkeletonImg,BSkeletonTable:BSkeletonTable,BSkeletonWrapper:BSkeletonWrapper}}),SpinnerPlugin=pluginFactory({components:{BSpinner:BSpinner}}),_makeModelMixin$1=makeModelMixin("value",{type:PROP_TYPE_NUMBER}),modelMixin$1=_makeModelMixin$1.mixin,modelProps$1=_makeModelMixin$1.props,MODEL_PROP_NAME$1=_makeModelMixin$1.prop,MODEL_EVENT_NAME$1=_makeModelMixin$1.event,notDisabled=function(tab){return!tab.disabled},BVTabButton=extend({name:"BVTabButton",inject:{getBvTabs:{default:function(){return function(){return{}}}}},props:{controls:makeProp(PROP_TYPE_STRING),id:makeProp(PROP_TYPE_STRING),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),posInSet:makeProp(PROP_TYPE_NUMBER),setSize:makeProp(PROP_TYPE_NUMBER),tab:makeProp(),tabIndex:makeProp(PROP_TYPE_NUMBER)},computed:{bvTabs:function(){return this.getBvTabs()}},methods:{focus:function(){attemptFocus(this.$refs.link)},handleEvent:function(event){if(!this.tab.disabled){var type=event.type,keyCode=event.keyCode,shiftKey=event.shiftKey;"click"===type||"keydown"===type&&keyCode===CODE_SPACE?(stopEvent(event),this.$emit("click",event)):"keydown"!==type||this.noKeyNav||(-1!==[CODE_UP,CODE_LEFT,CODE_HOME].indexOf(keyCode)?(stopEvent(event),shiftKey||keyCode===CODE_HOME?this.$emit("first",event):this.$emit("prev",event)):-1!==[CODE_DOWN,CODE_RIGHT,CODE_END].indexOf(keyCode)&&(stopEvent(event),shiftKey||keyCode===CODE_END?this.$emit("last",event):this.$emit("next",event)))}}},render:function(h){var id=this.id,tabIndex=this.tabIndex,setSize=this.setSize,posInSet=this.posInSet,controls=this.controls,handleEvent=this.handleEvent,_this$tab=this.tab,title=_this$tab.title,localActive=_this$tab.localActive,disabled=_this$tab.disabled,titleItemClass=_this$tab.titleItemClass,titleLinkClass=_this$tab.titleLinkClass,titleLinkAttributes=_this$tab.titleLinkAttributes,$link=h(BLink,{staticClass:"nav-link",class:[{active:localActive&&!disabled,disabled:disabled},titleLinkClass,localActive?this.bvTabs.activeNavItemClass:null],props:{disabled:disabled},attrs:_objectSpread2$3(_objectSpread2$3({},titleLinkAttributes),{},{id:id,role:"tab",tabindex:tabIndex,"aria-selected":localActive&&!disabled?"true":"false","aria-setsize":setSize,"aria-posinset":posInSet,"aria-controls":controls}),on:{click:handleEvent,keydown:handleEvent},ref:"link"},[this.tab.normalizeSlot("title")||title]);return h("li",{staticClass:"nav-item",class:[titleItemClass],attrs:{role:"presentation"}},[$link])}}),navProps=omit(props$U,["tabs","isNavBar","cardHeader"]),props$3=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps$1),navProps),{},{activeNavItemClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),activeTabClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),card:makeProp(PROP_TYPE_BOOLEAN,!1),contentClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),end:makeProp(PROP_TYPE_BOOLEAN,!1),lazy:makeProp(PROP_TYPE_BOOLEAN,!1),navClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),navWrapperClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noKeyNav:makeProp(PROP_TYPE_BOOLEAN,!1),noNavStyle:makeProp(PROP_TYPE_BOOLEAN,!1),tag:makeProp(PROP_TYPE_STRING,"div")})),"BTabs"),BTabs=extend({name:"BTabs",mixins:[idMixin,modelMixin$1,normalizeSlotMixin],provide:function(){var _this=this;return{getBvTabs:function(){return _this}}},props:props$3,data:function(){return{currentTab:toInteger(this[MODEL_PROP_NAME$1],-1),tabs:[],registeredTabs:[]}},computed:{fade:function(){return!this.noFade},localNavClass:function(){var classes=[];return this.card&&this.vertical&&classes.push("card-header","h-100","border-bottom-0","rounded-0"),[].concat(classes,[this.navClass])}},watch:(_watch$2={},_defineProperty(_watch$2,MODEL_PROP_NAME$1,(function(newValue,oldValue){if(newValue!==oldValue){newValue=toInteger(newValue,-1),oldValue=toInteger(oldValue,0);var $tab=this.tabs[newValue];$tab&&!$tab.disabled?this.activateTab($tab):newValue0&&void 0!==arguments[0])||arguments[0];if(this.$_observer&&this.$_observer.disconnect(),this.$_observer=null,on){this.$_observer=observeDom(this.$refs.content,(function(){_this3.$nextTick((function(){requestAF((function(){_this3.updateTabs()}))}))}),{childList:!0,subtree:!1,attributes:!0,attributeFilter:["id"]})}},getTabs:function(){var $tabs=this.registeredTabs,order=[];if(IS_BROWSER&&$tabs.length>0){var selector=$tabs.map((function($tab){return"#".concat($tab.safeId())})).join(", ");order=selectAll(selector,this.$el).map((function($el){return $el.id})).filter(identity)}return stableSort$1($tabs,(function(a,b){return order.indexOf(a.safeId())-order.indexOf(b.safeId())}))},updateTabs:function(){var $tabs=this.getTabs(),tabIndex=$tabs.indexOf($tabs.slice().reverse().find((function($tab){return $tab.localActive&&!$tab.disabled})));if(tabIndex<0){var currentTab=this.currentTab;currentTab>=$tabs.length?tabIndex=$tabs.indexOf($tabs.slice().reverse().find(notDisabled)):$tabs[currentTab]&&!$tabs[currentTab].disabled&&(tabIndex=currentTab)}tabIndex<0&&(tabIndex=$tabs.indexOf($tabs.find(notDisabled))),$tabs.forEach((function($tab,index){$tab.localActive=index===tabIndex})),this.tabs=$tabs,this.currentTab=tabIndex},getButtonForTab:function($tab){return(this.$refs.buttons||[]).find((function($btn){return $btn.tab===$tab}))},updateButton:function($tab){var $button=this.getButtonForTab($tab);$button&&$button.$forceUpdate&&$button.$forceUpdate()},activateTab:function($tab){var currentTab=this.currentTab,$tabs=this.tabs,result=!1;if($tab){var index=$tabs.indexOf($tab);if(index!==currentTab&&index>-1&&!$tab.disabled){var tabEvent=new BvEvent("activate-tab",{cancelable:!0,vueTarget:this,componentId:this.safeId()});this.$emit(tabEvent.type,index,currentTab,tabEvent),tabEvent.defaultPrevented||(this.currentTab=index,result=!0)}}return result||this[MODEL_PROP_NAME$1]===currentTab||this.$emit(MODEL_EVENT_NAME$1,currentTab),result},deactivateTab:function($tab){return!!$tab&&this.activateTab(this.tabs.filter((function($t){return $t!==$tab})).find(notDisabled))},focusButton:function($tab){var _this4=this;this.$nextTick((function(){attemptFocus(_this4.getButtonForTab($tab))}))},emitTabClick:function(tab,event){isEvent(event)&&tab&&tab.$emit&&!tab.disabled&&tab.$emit("click",event)},clickTab:function($tab,event){this.activateTab($tab),this.emitTabClick($tab,event)},firstTab:function(focus){var $tab=this.tabs.find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},previousTab:function(focus){var currentIndex=mathMax(this.currentTab,0),$tab=this.tabs.slice(0,currentIndex).reverse().find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},nextTab:function(focus){var currentIndex=mathMax(this.currentTab,-1),$tab=this.tabs.slice(currentIndex+1).find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))},lastTab:function(focus){var $tab=this.tabs.slice().reverse().find(notDisabled);this.activateTab($tab)&&focus&&(this.focusButton($tab),this.emitTabClick($tab,focus))}},render:function(h){var _this5=this,align=this.align,card=this.card,end=this.end,fill=this.fill,firstTab=this.firstTab,justified=this.justified,lastTab=this.lastTab,nextTab=this.nextTab,noKeyNav=this.noKeyNav,noNavStyle=this.noNavStyle,pills=this.pills,previousTab=this.previousTab,small=this.small,$tabs=this.tabs,vertical=this.vertical,$activeTab=$tabs.find((function($tab){return $tab.localActive&&!$tab.disabled})),$fallbackTab=$tabs.find((function($tab){return!$tab.disabled})),$buttons=$tabs.map((function($tab,index){var _on,safeId=$tab.safeId,tabIndex=null;return noKeyNav||(tabIndex=-1,($tab===$activeTab||!$activeTab&&$tab===$fallbackTab)&&(tabIndex=null)),h(BVTabButton,_defineProperty({props:{controls:safeId?safeId():null,id:$tab.controlledBy||(safeId?safeId("_BV_tab_button_"):null),noKeyNav:noKeyNav,posInSet:index+1,setSize:$tabs.length,tab:$tab,tabIndex:tabIndex},on:(_on={},_defineProperty(_on,"click",(function(event){_this5.clickTab($tab,event)})),_defineProperty(_on,"first",firstTab),_defineProperty(_on,"prev",previousTab),_defineProperty(_on,"next",nextTab),_defineProperty(_on,"last",lastTab),_on),key:$tab._uid||index,ref:"buttons"},REF_FOR_KEY,!0))})),$nav=h(BNav,{class:this.localNavClass,attrs:{role:"tablist",id:this.safeId("_BV_tab_controls_")},props:{fill:fill,justified:justified,align:align,tabs:!noNavStyle&&!pills,pills:!noNavStyle&&pills,vertical:vertical,small:small,cardHeader:card&&!vertical},ref:"nav"},[this.normalizeSlot("tabs-start")||h(),$buttons,this.normalizeSlot("tabs-end")||h()]);$nav=h("div",{class:[{"card-header":card&&!vertical&&!end,"card-footer":card&&!vertical&&end,"col-auto":vertical},this.navWrapperClass],key:"bv-tabs-nav"},[$nav]);var $children=this.normalizeSlot()||[],$empty=h();0===$children.length&&($empty=h("div",{class:["tab-pane","active",{"card-body":card}],key:"bv-empty-tab"},this.normalizeSlot("empty")));var $content=h("div",{staticClass:"tab-content",class:[{col:vertical},this.contentClass],attrs:{id:this.safeId("_BV_tab_container_")},key:"bv-content",ref:"content"},[$children,$empty]);return h(this.tag,{staticClass:"tabs",class:{row:vertical,"no-gutters":vertical&&card},attrs:{id:this.safeId()}},[end?$content:h(),$nav,end?h():$content])}}),props$2=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({},props$25),{},(_defineProperty(_objectSpread2={},"active",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"buttonId",makeProp(PROP_TYPE_STRING)),_defineProperty(_objectSpread2,"disabled",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"lazy",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"noBody",makeProp(PROP_TYPE_BOOLEAN,!1)),_defineProperty(_objectSpread2,"tag",makeProp(PROP_TYPE_STRING,"div")),_defineProperty(_objectSpread2,"title",makeProp(PROP_TYPE_STRING)),_defineProperty(_objectSpread2,"titleItemClass",makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)),_defineProperty(_objectSpread2,"titleLinkAttributes",makeProp(PROP_TYPE_OBJECT)),_defineProperty(_objectSpread2,"titleLinkClass",makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)),_objectSpread2))),"BTab"),TabsPlugin=pluginFactory({components:{BTabs:BTabs,BTab:extend({name:"BTab",mixins:[idMixin,normalizeSlotMixin],inject:{getBvTabs:{default:function(){return function(){return{}}}}},props:props$2,data:function(){return{localActive:this.active&&!this.disabled}},computed:{bvTabs:function(){return this.getBvTabs()},_isTab:function(){return!0},tabClasses:function(){var active=this.localActive;return[{active:active,disabled:this.disabled,"card-body":this.bvTabs.card&&!this.noBody},active?this.bvTabs.activeTabClass:null]},controlledBy:function(){return this.buttonId||this.safeId("__BV_tab_button__")},computedNoFade:function(){return!this.bvTabs.fade},computedLazy:function(){return this.bvTabs.lazy||this.lazy}},watch:(_watch$1={},_defineProperty(_watch$1,"active",(function(newValue,oldValue){newValue!==oldValue&&(newValue?this.activate():this.deactivate()||this.$emit("update:active",this.localActive))})),_defineProperty(_watch$1,"disabled",(function(newValue,oldValue){if(newValue!==oldValue){var firstTab=this.bvTabs.firstTab;newValue&&this.localActive&&firstTab&&(this.localActive=!1,firstTab())}})),_defineProperty(_watch$1,"localActive",(function(newValue){this.$emit("update:active",newValue)})),_watch$1),mounted:function(){this.registerTab()},updated:function(){var updateButton=this.bvTabs.updateButton;updateButton&&this.hasNormalizedSlot("title")&&updateButton(this)},beforeDestroy:function(){this.unregisterTab()},methods:{registerTab:function(){var registerTab=this.bvTabs.registerTab;registerTab&®isterTab(this)},unregisterTab:function(){var unregisterTab=this.bvTabs.unregisterTab;unregisterTab&&unregisterTab(this)},activate:function(){var activateTab=this.bvTabs.activateTab;return!(!activateTab||this.disabled)&&activateTab(this)},deactivate:function(){var deactivateTab=this.bvTabs.deactivateTab;return!(!deactivateTab||!this.localActive)&&deactivateTab(this)}},render:function(h){var localActive=this.localActive,$content=h(this.tag,{staticClass:"tab-pane",class:this.tabClasses,directives:[{name:"show",value:localActive}],attrs:{role:"tabpanel",id:this.safeId(),"aria-hidden":localActive?"false":"true","aria-labelledby":this.controlledBy||null},ref:"panel"},[localActive||!this.computedLazy?this.normalizeSlot():h()]);return h(BVTransition,{props:{mode:"out-in",noFade:this.computedNoFade}},[$content])}})}}),TimePlugin=pluginFactory({components:{BTime:BTime}});function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i1&&void 0!==arguments[1]&&arguments[1],to=transport.to,from=transport.from;if(to&&(from||!1!==force)&&this.transports[to])if(force)this.transports[to]=[];else{var index=this.$_getTransportIndex(transport);if(index>=0){var newTransports=this.transports[to].slice(0);newTransports.splice(index,1),this.transports[to]=newTransports}}},registerTarget:function(target,vm,force){inBrowser&&(this.trackInstances&&!force&&this.targets[target]&&console.warn("[portal-vue]: Target ".concat(target," already exists")),this.$set(this.targets,target,Object.freeze([vm])))},unregisterTarget:function(target){this.$delete(this.targets,target)},registerSource:function(source,vm,force){inBrowser&&(this.trackInstances&&!force&&this.sources[source]&&console.warn("[portal-vue]: source ".concat(source," already exists")),this.$set(this.sources,source,Object.freeze([vm])))},unregisterSource:function(source){this.$delete(this.sources,source)},hasTarget:function(to){return!(!this.targets[to]||!this.targets[to][0])},hasSource:function(to){return!(!this.sources[to]||!this.sources[to][0])},hasContentFor:function(to){return!!this.transports[to]&&!!this.transports[to].length},$_getTransportIndex:function(_ref){var to=_ref.to,from=_ref.from;for(var i in this.transports[to])if(this.transports[to][i].from===from)return+i;return-1}}}),wormhole=new Wormhole(transports),_id=1,Portal=Vue__default.default.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(_id++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var _this=this;this.$nextTick((function(){wormhole.registerSource(_this.name,_this)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){wormhole.unregisterSource(this.name),this.clear()},watch:{to:function(newValue,oldValue){oldValue&&oldValue!==newValue&&this.clear(oldValue),this.sendUpdate()}},methods:{clear:function(target){var closer={from:this.name,to:target||this.to};wormhole.close(closer)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(children){return"function"==typeof children?children(this.slotProps):children},sendUpdate:function(){var slotContent=this.normalizeSlots();if(slotContent){var transport={from:this.name,to:this.to,passengers:_toConsumableArray(slotContent),order:this.order};wormhole.open(transport)}else this.clear()}},render:function(h){var children=this.$slots.default||this.$scopedSlots.default||[],Tag=this.tag;return children&&this.disabled?children.length<=1&&this.slim?this.normalizeOwnChildren(children)[0]:h(Tag,[this.normalizeOwnChildren(children)]):this.slim?h():h(Tag,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),PortalTarget=Vue__default.default.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:wormhole.transports,firstRender:!0}},created:function(){var _this=this;this.$nextTick((function(){wormhole.registerTarget(_this.name,_this)}))},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(newVal,oldVal){wormhole.unregisterTarget(oldVal),wormhole.registerTarget(newVal,this)}},mounted:function(){var _this2=this;this.transition&&this.$nextTick((function(){_this2.firstRender=!1}))},beforeDestroy:function(){wormhole.unregisterTarget(this.name)},computed:{ownTransports:function(){var transports=this.transports[this.name]||[];return this.multiple?transports:0===transports.length?[]:[transports[transports.length-1]]},passengers:function(){return function(transports){var slotProps=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return transports.reduce((function(passengers,transport){var temp=transport.passengers[0],newPassengers="function"==typeof temp?temp(slotProps):transport.passengers;return passengers.concat(newPassengers)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var noWrapper=this.slim&&!this.transition;return noWrapper&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),noWrapper}},render:function(h){var noWrapper=this.noWrapper(),children=this.children(),Tag=this.transition||this.tag;return noWrapper?children[0]:this.slim&&!Tag?h():h(Tag,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},children)}}),_id$1=0,portalProps=["disabled","name","order","slim","slotProps","tag","to"],targetProps=["multiple","transition"];Vue__default.default.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(_id$1++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!=typeof document){var el=document.querySelector(this.mountTo);if(el){var props=this.$props;if(wormhole.targets[props.name])props.bail?console.warn("[portal-vue]: Target ".concat(props.name," is already mounted.\n Aborting because 'bail: true' is set")):this.portalTarget=wormhole.targets[props.name];else{var append=props.append;if(append){var type="string"==typeof append?append:"DIV",mountEl=document.createElement(type);el.appendChild(mountEl),el=mountEl}var _props=pick(this.$props,targetProps);_props.slim=this.targetSlim,_props.tag=this.targetTag,_props.slotProps=this.targetSlotProps,_props.name=this.to,this.portalTarget=new PortalTarget({el:el,parent:this.$parent||this,propsData:_props})}}else console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"))}},beforeDestroy:function(){var target=this.portalTarget;if(this.append){var el=target.$el;el.parentNode.removeChild(el)}target.$destroy()},render:function(h){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),h();if(!this.$scopedSlots.manual){var props=pick(this.$props,portalProps);return h(Portal,{props:props,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var content=this.$scopedSlots.manual({to:this.to});return Array.isArray(content)&&(content=content[0]),content||h()}});var _watch,VuePlugin,DefaultTransition=extend({mixins:[normalizeSlotMixin],data:function(){return{name:"b-toaster"}},methods:{onAfterEnter:function(el){var _this=this;requestAF((function(){removeClass(el,"".concat(_this.name,"-enter-to"))}))}},render:function(h){return h("transition-group",{props:{tag:"div",name:this.name},on:{afterEnter:this.onAfterEnter}},this.normalizeSlot())}}),props$1=makePropsConfigurable({ariaAtomic:makeProp(PROP_TYPE_STRING),ariaLive:makeProp(PROP_TYPE_STRING),name:makeProp(PROP_TYPE_STRING,void 0,!0),role:makeProp(PROP_TYPE_STRING)},"BToaster"),BToaster=extend({name:"BToaster",mixins:[listenOnRootMixin],props:props$1,data:function(){return{doRender:!1,dead:!1,staticName:this.name}},beforeMount:function(){var name=this.name;this.staticName=name,wormhole.hasTarget(name)?(warn('A "" with name "'.concat(name,'" already exists in the document.'),"BToaster"),this.dead=!0):this.doRender=!0},beforeDestroy:function(){this.doRender&&this.emitOnRoot(getRootEventName("BToaster","destroyed"),this.name)},destroyed:function(){var $el=this.$el;$el&&$el.parentNode&&$el.parentNode.removeChild($el)},render:function(h){var $toaster=h("div",{class:["d-none",{"b-dead-toaster":this.dead}]});if(this.doRender){var $target=h(PortalTarget,{staticClass:"b-toaster-slot",props:{name:this.staticName,multiple:!0,tag:"div",slim:!1,transition:DefaultTransition}});$toaster=h("div",{staticClass:"b-toaster",class:[this.staticName],attrs:{id:this.staticName,role:this.role||null,"aria-live":this.ariaLive,"aria-atomic":this.ariaAtomic}},[$target])}return $toaster}}),_makeModelMixin=makeModelMixin("visible",{type:PROP_TYPE_BOOLEAN,defaultValue:!1,event:"change"}),modelMixin=_makeModelMixin.mixin,modelProps=_makeModelMixin.props,MODEL_PROP_NAME=_makeModelMixin.prop,MODEL_EVENT_NAME=_makeModelMixin.event,linkProps=pick$1(props$2f,["href","to"]),props=makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},props$25),modelProps),linkProps),{},{appendToast:makeProp(PROP_TYPE_BOOLEAN,!1),autoHideDelay:makeProp(PROP_TYPE_NUMBER_STRING,5e3),bodyClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),headerTag:makeProp(PROP_TYPE_STRING,"header"),isStatus:makeProp(PROP_TYPE_BOOLEAN,!1),noAutoHide:makeProp(PROP_TYPE_BOOLEAN,!1),noCloseButton:makeProp(PROP_TYPE_BOOLEAN,!1),noFade:makeProp(PROP_TYPE_BOOLEAN,!1),noHoverPause:makeProp(PROP_TYPE_BOOLEAN,!1),solid:makeProp(PROP_TYPE_BOOLEAN,!1),static:makeProp(PROP_TYPE_BOOLEAN,!1),title:makeProp(PROP_TYPE_STRING),toastClass:makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),toaster:makeProp(PROP_TYPE_STRING,"b-toaster-top-right"),variant:makeProp(PROP_TYPE_STRING)})),"BToast"),BToast=extend({name:"BToast",mixins:[attrsMixin,idMixin,modelMixin,listenOnRootMixin,normalizeSlotMixin,scopedStyleMixin],inheritAttrs:!1,props:props,data:function(){return{isMounted:!1,doRender:!1,localShow:!1,isTransitioning:!1,isHiding:!1,order:0,dismissStarted:0,resumeDismiss:0}},computed:{toastClasses:function(){var appendToast=this.appendToast,variant=this.variant;return _defineProperty({"b-toast-solid":this.solid,"b-toast-append":appendToast,"b-toast-prepend":!appendToast},"b-toast-".concat(variant),variant)},slotScope:function(){return{hide:this.hide}},computedDuration:function(){return mathMax(toInteger(this.autoHideDelay,0),1e3)},computedToaster:function(){return String(this.toaster)},transitionHandlers:function(){return{beforeEnter:this.onBeforeEnter,afterEnter:this.onAfterEnter,beforeLeave:this.onBeforeLeave,afterLeave:this.onAfterLeave}},computedAttrs:function(){return _objectSpread2$3(_objectSpread2$3({},this.bvAttrs),{},{id:this.safeId(),tabindex:"0"})}},watch:(_watch={},_defineProperty(_watch,MODEL_PROP_NAME,(function(newValue){this[newValue?"show":"hide"]()})),_defineProperty(_watch,"localShow",(function(newValue){newValue!==this[MODEL_PROP_NAME]&&this.$emit(MODEL_EVENT_NAME,newValue)})),_defineProperty(_watch,"toaster",(function(){this.$nextTick(this.ensureToaster)})),_defineProperty(_watch,"static",(function(newValue){newValue&&this.localShow&&this.ensureToaster()})),_watch),created:function(){this.$_dismissTimer=null},mounted:function(){var _this=this;this.isMounted=!0,this.$nextTick((function(){_this[MODEL_PROP_NAME]&&requestAF((function(){_this.show()}))})),this.listenOnRoot(getRootActionEventName("BToast","show"),(function(id){id===_this.safeId()&&_this.show()})),this.listenOnRoot(getRootActionEventName("BToast","hide"),(function(id){id&&id!==_this.safeId()||_this.hide()})),this.listenOnRoot(getRootEventName("BToaster","destroyed"),(function(toaster){toaster===_this.computedToaster&&_this.hide()}))},beforeDestroy:function(){this.clearDismissTimer()},methods:{show:function(){var _this2=this;if(!this.localShow){this.ensureToaster();var showEvent=this.buildEvent("show");this.emitEvent(showEvent),this.dismissStarted=this.resumeDismiss=0,this.order=Date.now()*(this.appendToast?1:-1),this.isHiding=!1,this.doRender=!0,this.$nextTick((function(){requestAF((function(){_this2.localShow=!0}))}))}},hide:function(){var _this3=this;if(this.localShow){var hideEvent=this.buildEvent("hide");this.emitEvent(hideEvent),this.setHoverHandler(!1),this.dismissStarted=this.resumeDismiss=0,this.clearDismissTimer(),this.isHiding=!0,requestAF((function(){_this3.localShow=!1}))}},buildEvent:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new BvEvent(type,_objectSpread2$3(_objectSpread2$3({cancelable:!1,target:this.$el||null,relatedTarget:null},options),{},{vueTarget:this,componentId:this.safeId()}))},emitEvent:function(bvEvent){var type=bvEvent.type;this.emitOnRoot(getRootEventName("BToast",type),bvEvent),this.$emit(type,bvEvent)},ensureToaster:function(){if(!this.static){var computedToaster=this.computedToaster;if(!wormhole.hasTarget(computedToaster)){var div=document.createElement("div");document.body.appendChild(div),createNewChildComponent(this.bvEventRoot,BToaster,{propsData:{name:computedToaster}}).$mount(div)}}},startDismissTimer:function(){this.clearDismissTimer(),this.noAutoHide||(this.$_dismissTimer=setTimeout(this.hide,this.resumeDismiss||this.computedDuration),this.dismissStarted=Date.now(),this.resumeDismiss=0)},clearDismissTimer:function(){clearTimeout(this.$_dismissTimer),this.$_dismissTimer=null},setHoverHandler:function(on){var el=this.$refs["b-toast"];eventOnOff(on,el,"mouseenter",this.onPause,EVENT_OPTIONS_NO_CAPTURE),eventOnOff(on,el,"mouseleave",this.onUnPause,EVENT_OPTIONS_NO_CAPTURE)},onPause:function(){if(!this.noAutoHide&&!this.noHoverPause&&this.$_dismissTimer&&!this.resumeDismiss){var passed=Date.now()-this.dismissStarted;passed>0&&(this.clearDismissTimer(),this.resumeDismiss=mathMax(this.computedDuration-passed,1e3))}},onUnPause:function(){this.noAutoHide||this.noHoverPause||!this.resumeDismiss?this.resumeDismiss=this.dismissStarted=0:this.startDismissTimer()},onLinkClick:function(){var _this4=this;this.$nextTick((function(){requestAF((function(){_this4.hide()}))}))},onBeforeEnter:function(){this.isTransitioning=!0},onAfterEnter:function(){this.isTransitioning=!1;var hiddenEvent=this.buildEvent("shown");this.emitEvent(hiddenEvent),this.startDismissTimer(),this.setHoverHandler(!0)},onBeforeLeave:function(){this.isTransitioning=!0},onAfterLeave:function(){this.isTransitioning=!1,this.order=0,this.resumeDismiss=this.dismissStarted=0;var hiddenEvent=this.buildEvent("hidden");this.emitEvent(hiddenEvent),this.doRender=!1},makeToast:function(h){var _this5=this,title=this.title,slotScope=this.slotScope,link=isLink$1(this),$headerContent=[],$title=this.normalizeSlot("toast-title",slotScope);$title?$headerContent.push($title):title&&$headerContent.push(h("strong",{staticClass:"mr-2"},title)),this.noCloseButton||$headerContent.push(h(BButtonClose,{staticClass:"ml-auto mb-1",on:{click:function(){_this5.hide()}}}));var $header=h();$headerContent.length>0&&($header=h(this.headerTag,{staticClass:"toast-header",class:this.headerClass},$headerContent));var $body=h(link?BLink:"div",{staticClass:"toast-body",class:this.bodyClass,props:link?pluckProps(linkProps,this):{},on:link?{click:this.onLinkClick}:{}},this.normalizeSlot("default",slotScope));return h("div",{staticClass:"toast",class:this.toastClass,attrs:this.computedAttrs,key:"toast-".concat(this._uid),ref:"toast"},[$header,$body])}},render:function(h){if(!this.doRender||!this.isMounted)return h();var order=this.order,isStatic=this.static,isHiding=this.isHiding,isStatus=this.isStatus,name="b-toast-".concat(this._uid),$toast=h("div",{staticClass:"b-toast",class:this.toastClasses,attrs:_objectSpread2$3(_objectSpread2$3({},isStatic?{}:this.scopedStyleAttrs),{},{id:this.safeId("_toast_outer"),role:isHiding?null:isStatus?"status":"alert","aria-live":isHiding?null:isStatus?"polite":"assertive","aria-atomic":isHiding?null:"true"}),key:name,ref:"b-toast"},[h(BVTransition,{props:{noFade:this.noFade},on:this.transitionHandlers},[this.localShow?this.makeToast(h):h()])]);return h(Portal,{props:{name:name,to:this.computedToaster,order:order,slim:!0,disabled:isStatic}},[$toast])}}),BASE_PROPS=["id"].concat(_toConsumableArray$1(keys(omit(props,["static","visible"])))),propsToSlots={toastContent:"default",title:"toast-title"},filterOptions=function(options){return BASE_PROPS.reduce((function(memo,key){return isUndefined(options[key])||(memo[key]=options[key]),memo}),{})},BVToastPlugin=pluginFactory({plugins:{plugin:function(Vue){var BVToastPop=Vue.extend({name:"BVToastPop",extends:BToast,mixins:[useParentMixin],destroyed:function(){var $el=this.$el;$el&&$el.parentNode&&$el.parentNode.removeChild($el)},mounted:function(){var _this=this,handleDestroy=function(){_this.localShow=!1,_this.doRender=!1,_this.$nextTick((function(){_this.$nextTick((function(){requestAF((function(){_this.$destroy()}))}))}))};this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED,handleDestroy),this.$once("hidden",handleDestroy),this.listenOnRoot(getRootEventName("BToaster","destroyed"),(function(toaster){toaster===_this.toaster&&handleDestroy()}))}}),BvToast=function(){function BvToast(vm){_classCallCheck(this,BvToast),assign(this,{_vm:vm,_root:getEventRoot(vm)}),defineProperties(this,{_vm:{enumerable:!0,configurable:!1,writable:!1},_root:{enumerable:!0,configurable:!1,writable:!1}})}return _createClass(BvToast,[{key:"toast",value:function(content){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};content&&!warnNotClient("$bvToast")&&function(props,parent){if(!warnNotClient("$bvToast")){var toast=createNewChildComponent(parent,BVToastPop,{propsData:_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({},filterOptions(getComponentConfig("BToast"))),omit(props,keys(propsToSlots))),{},{static:!1,visible:!0})});keys(propsToSlots).forEach((function(prop){var value=props[prop];isUndefined(value)||("title"===prop&&isString(value)&&(value=[parent.$createElement("strong",{class:"mr-2"},value)]),toast.$slots[propsToSlots[prop]]=concat(value))}));var div=document.createElement("div");document.body.appendChild(div),toast.$mount(div)}}(_objectSpread2$3(_objectSpread2$3({},filterOptions(options)),{},{toastContent:content}),this._vm)}},{key:"show",value:function(id){id&&this._root.$emit(getRootActionEventName("BToast","show"),id)}},{key:"hide",value:function(){var id=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._root.$emit(getRootActionEventName("BToast","hide"),id)}}]),BvToast}();Vue.mixin({beforeCreate:function(){this._bv__toast=new BvToast(this)}}),hasOwnProperty(Vue.prototype,"$bvToast")||defineProperty$1(Vue.prototype,"$bvToast",{get:function(){return this&&this._bv__toast||warn('"'.concat("$bvToast",'" must be accessed from a Vue instance "this" context.'),"BToast"),this._bv__toast}})}}}),ToastPlugin=pluginFactory({components:{BToast:BToast,BToaster:BToaster},plugins:{BVToastPlugin:BVToastPlugin}}),BV_TOOLTIP="__BV_Tooltip__",validTriggers={focus:!0,hover:!0,click:!0,blur:!0,manual:!0},htmlRE=/^html$/i,noninteractiveRE=/^noninteractive$/i,noFadeRE=/^nofade$/i,placementRE=/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i,boundaryRE=/^(window|viewport|scrollParent)$/i,delayRE=/^d\d+$/i,delayShowRE=/^ds\d+$/i,delayHideRE=/^dh\d+$/i,offsetRE$1=/^o-?\d+$/i,variantRE=/^v-.+$/i,spacesRE=/\s+/,applyTooltip=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings,vnode){var config={title:void 0,trigger:"",placement:"top",fallbackPlacement:"flip",container:!1,animation:!0,offset:0,id:null,html:!1,interactive:!0,disabled:!1,delay:getComponentConfig("BTooltip","delay",50),boundary:String(getComponentConfig("BTooltip","boundary","scrollParent")),boundaryPadding:toInteger(getComponentConfig("BTooltip","boundaryPadding",5),0),variant:getComponentConfig("BTooltip","variant"),customClass:getComponentConfig("BTooltip","customClass")};if(isString(bindings.value)||isNumber(bindings.value)||isFunction$1(bindings.value)?config.title=bindings.value:isPlainObject(bindings.value)&&(config=_objectSpread2$3(_objectSpread2$3({},config),bindings.value)),isUndefined(config.title)){var attrs=isVue3?vnode.props:(vnode.data||{}).attrs;config.title=attrs&&!isUndefinedOrNull(attrs.title)?attrs.title:void 0}isPlainObject(config.delay)||(config.delay={show:toInteger(config.delay,0),hide:toInteger(config.delay,0)}),bindings.arg&&(config.container="#".concat(bindings.arg)),keys(bindings.modifiers).forEach((function(mod){if(htmlRE.test(mod))config.html=!0;else if(noninteractiveRE.test(mod))config.interactive=!1;else if(noFadeRE.test(mod))config.animation=!1;else if(placementRE.test(mod))config.placement=mod;else if(boundaryRE.test(mod))mod="scrollparent"===mod?"scrollParent":mod,config.boundary=mod;else if(delayRE.test(mod)){var delay=toInteger(mod.slice(1),0);config.delay.show=delay,config.delay.hide=delay}else delayShowRE.test(mod)?config.delay.show=toInteger(mod.slice(2),0):delayHideRE.test(mod)?config.delay.hide=toInteger(mod.slice(2),0):offsetRE$1.test(mod)?config.offset=toInteger(mod.slice(1),0):variantRE.test(mod)&&(config.variant=mod.slice(2)||null)}));var selectedTriggers={};return concat(config.trigger||"").filter(identity).join(" ").trim().toLowerCase().split(spacesRE).forEach((function(trigger){validTriggers[trigger]&&(selectedTriggers[trigger]=!0)})),keys(bindings.modifiers).forEach((function(mod){mod=mod.toLowerCase(),validTriggers[mod]&&(selectedTriggers[mod]=!0)})),config.trigger=keys(selectedTriggers).join(" "),"blur"===config.trigger&&(config.trigger="focus"),config.trigger||(config.trigger="hover focus"),config}(bindings,vnode);if(!el[BV_TOOLTIP]){var parent=getInstanceFromDirective(vnode,bindings);el[BV_TOOLTIP]=createNewChildComponent(parent,BVTooltip,{_scopeId:getScopeId(parent,void 0)}),el[BV_TOOLTIP].__bv_prev_data__={},el[BV_TOOLTIP].$on("show",(function(){isFunction$1(config.title)&&el[BV_TOOLTIP].updateData({title:config.title(el)})}))}var data={title:config.title,triggers:config.trigger,placement:config.placement,fallbackPlacement:config.fallbackPlacement,variant:config.variant,customClass:config.customClass,container:config.container,boundary:config.boundary,delay:config.delay,offset:config.offset,noFade:!config.animation,id:config.id,interactive:config.interactive,disabled:config.disabled,html:config.html},oldData=el[BV_TOOLTIP].__bv_prev_data__;if(el[BV_TOOLTIP].__bv_prev_data__=data,!looseEqual(data,oldData)){var newData={target:el};keys(data).forEach((function(prop){data[prop]!==oldData[prop]&&(newData[prop]="title"===prop&&isFunction$1(data[prop])?data[prop](el):data[prop])})),el[BV_TOOLTIP].updateData(newData)}}},VBTooltipPlugin=pluginFactory({directives:{VBTooltip:{bind:function(el,bindings,vnode){applyTooltip(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){nextTick((function(){applyTooltip(el,bindings,vnode)}))},unbind:function(el){!function(el){el[BV_TOOLTIP]&&(el[BV_TOOLTIP].$destroy(),el[BV_TOOLTIP]=null),delete el[BV_TOOLTIP]}(el)}}}}),TooltipPlugin=pluginFactory({components:{BTooltip:BTooltip},plugins:{VBTooltipPlugin:VBTooltipPlugin}}),componentsPlugin=pluginFactory({plugins:{AlertPlugin:AlertPlugin,AspectPlugin:AspectPlugin,AvatarPlugin:AvatarPlugin,BadgePlugin:BadgePlugin,BreadcrumbPlugin:BreadcrumbPlugin,ButtonPlugin:ButtonPlugin,ButtonGroupPlugin:ButtonGroupPlugin,ButtonToolbarPlugin:ButtonToolbarPlugin,CalendarPlugin:CalendarPlugin,CardPlugin:CardPlugin,CarouselPlugin:CarouselPlugin,CollapsePlugin:CollapsePlugin,DropdownPlugin:DropdownPlugin,EmbedPlugin:EmbedPlugin,FormPlugin:FormPlugin,FormCheckboxPlugin:FormCheckboxPlugin,FormDatepickerPlugin:FormDatepickerPlugin,FormFilePlugin:FormFilePlugin,FormGroupPlugin:FormGroupPlugin,FormInputPlugin:FormInputPlugin,FormRadioPlugin:FormRadioPlugin,FormRatingPlugin:FormRatingPlugin,FormSelectPlugin:FormSelectPlugin,FormSpinbuttonPlugin:FormSpinbuttonPlugin,FormTagsPlugin:FormTagsPlugin,FormTextareaPlugin:FormTextareaPlugin,FormTimepickerPlugin:FormTimepickerPlugin,ImagePlugin:ImagePlugin,InputGroupPlugin:InputGroupPlugin,JumbotronPlugin:JumbotronPlugin,LayoutPlugin:LayoutPlugin,LinkPlugin:LinkPlugin,ListGroupPlugin:ListGroupPlugin,MediaPlugin:MediaPlugin,ModalPlugin:ModalPlugin,NavPlugin:NavPlugin,NavbarPlugin:NavbarPlugin,OverlayPlugin:OverlayPlugin,PaginationPlugin:PaginationPlugin,PaginationNavPlugin:PaginationNavPlugin,PopoverPlugin:PopoverPlugin,ProgressPlugin:ProgressPlugin,SidebarPlugin:SidebarPlugin,SkeletonPlugin:SkeletonPlugin,SpinnerPlugin:SpinnerPlugin,TablePlugin:TablePlugin,TabsPlugin:TabsPlugin,TimePlugin:TimePlugin,ToastPlugin:ToastPlugin,TooltipPlugin:TooltipPlugin}}),VBHoverPlugin=pluginFactory({directives:{VBHover:VBHover}}),VBModalPlugin=pluginFactory({directives:{VBModal:VBModal}}),SELECTOR_NAV_LINKS=".nav-link",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_DROPDOWN_ITEMS=".dropdown-item",ROOT_EVENT_NAME_ACTIVATE=getRootEventName("BVScrollspy","activate"),Default={element:"body",offset:10,method:"auto",throttle:75},DefaultType={element:"(string|element|component)",offset:"number",method:"string",throttle:"number"},TransitionEndEvents=["webkitTransitionEnd","transitionend","otransitionend","oTransitionEnd"],toType=function(obj){return function(obj){return Object.prototype.toString.call(obj)}(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()},BVScrollspy=function(){function BVScrollspy(element,config,$root){_classCallCheck(this,BVScrollspy),this.$el=element,this.$scroller=null,this.$selector=[SELECTOR_NAV_LINKS,SELECTOR_LIST_ITEMS,SELECTOR_DROPDOWN_ITEMS].join(","),this.$offsets=[],this.$targets=[],this.$activeTarget=null,this.$scrollHeight=0,this.$resizeTimeout=null,this.$scrollerObserver=null,this.$targetsObserver=null,this.$root=$root||null,this.$config=null,this.updateConfig(config)}return _createClass(BVScrollspy,[{key:"updateConfig",value:function(config,$root){this.$scroller&&(this.unlisten(),this.$scroller=null);var cfg=_objectSpread2$3(_objectSpread2$3({},this.constructor.Default),config);if($root&&(this.$root=$root),function(componentName,config,configTypes){for(var property in configTypes)if(hasOwnProperty(configTypes,property)){var expectedTypes=configTypes[property],value=config[property],valueType=value&&isElement(value)?"element":toType(value);valueType=value&&value._isVue?"component":valueType,new RegExp(expectedTypes).test(valueType)||warn("".concat(componentName,': Option "').concat(property,'" provided type "').concat(valueType,'" but expected type "').concat(expectedTypes,'"'))}}(this.constructor.Name,cfg,this.constructor.DefaultType),this.$config=cfg,this.$root){var self=this;this.$root.$nextTick((function(){self.listen()}))}else this.listen()}},{key:"dispose",value:function(){this.unlisten(),clearTimeout(this.$resizeTimeout),this.$resizeTimeout=null,this.$el=null,this.$config=null,this.$scroller=null,this.$selector=null,this.$offsets=null,this.$targets=null,this.$activeTarget=null,this.$scrollHeight=null}},{key:"listen",value:function(){var _this=this,scroller=this.getScroller();scroller&&"BODY"!==scroller.tagName&&eventOn(scroller,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"resize",this,EVENT_OPTIONS_NO_CAPTURE),eventOn(window,"orientationchange",this,EVENT_OPTIONS_NO_CAPTURE),TransitionEndEvents.forEach((function(eventName){eventOn(window,eventName,_this,EVENT_OPTIONS_NO_CAPTURE)})),this.setObservers(!0),this.handleEvent("refresh")}},{key:"unlisten",value:function(){var _this2=this,scroller=this.getScroller();this.setObservers(!1),scroller&&"BODY"!==scroller.tagName&&eventOff(scroller,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"scroll",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"resize",this,EVENT_OPTIONS_NO_CAPTURE),eventOff(window,"orientationchange",this,EVENT_OPTIONS_NO_CAPTURE),TransitionEndEvents.forEach((function(eventName){eventOff(window,eventName,_this2,EVENT_OPTIONS_NO_CAPTURE)}))}},{key:"setObservers",value:function(on){var _this3=this;this.$scrollerObserver&&this.$scrollerObserver.disconnect(),this.$targetsObserver&&this.$targetsObserver.disconnect(),this.$scrollerObserver=null,this.$targetsObserver=null,on&&(this.$targetsObserver=observeDom(this.$el,(function(){_this3.handleEvent("mutation")}),{subtree:!0,childList:!0,attributes:!0,attributeFilter:["href"]}),this.$scrollerObserver=observeDom(this.getScroller(),(function(){_this3.handleEvent("mutation")}),{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["id","style","class"]}))}},{key:"handleEvent",value:function(event){var type=isString(event)?event:event.type,self=this;"scroll"===type?(this.$scrollerObserver||this.listen(),this.process()):/(resize|orientationchange|mutation|refresh)/.test(type)&&(self.$resizeTimeout||(self.$resizeTimeout=setTimeout((function(){self.refresh(),self.process(),self.$resizeTimeout=null}),self.$config.throttle)))}},{key:"refresh",value:function(){var _this4=this,scroller=this.getScroller();if(scroller){var autoMethod=scroller!==scroller.window?"position":"offset",method="auto"===this.$config.method?autoMethod:this.$config.method,methodFn="position"===method?position:offset$1,offsetBase="position"===method?this.getScrollTop():0;return this.$offsets=[],this.$targets=[],this.$scrollHeight=this.getScrollHeight(),selectAll(this.$selector,this.$el).map((function(link){return getAttr(link,"href")})).filter((function(href){return href&&RX_HREF.test(href||"")})).map((function(href){var id=href.replace(RX_HREF,"$1").trim();if(!id)return null;var el=select(id,scroller);return el&&isVisible(el)?{offset:toInteger(methodFn(el).top,0)+offsetBase,target:id}:null})).filter(identity).sort((function(a,b){return a.offset-b.offset})).reduce((function(memo,item){return memo[item.target]||(_this4.$offsets.push(item.offset),_this4.$targets.push(item.target),memo[item.target]=!0),memo}),{}),this}}},{key:"process",value:function(){var scrollTop=this.getScrollTop()+this.$config.offset,scrollHeight=this.getScrollHeight(),maxScroll=this.$config.offset+scrollHeight-this.getOffsetHeight();if(this.$scrollHeight!==scrollHeight&&this.refresh(),scrollTop>=maxScroll){var target=this.$targets[this.$targets.length-1];this.$activeTarget!==target&&this.activate(target)}else{if(this.$activeTarget&&scrollTop0)return this.$activeTarget=null,void this.clear();for(var i=this.$offsets.length;i--;){this.$activeTarget!==this.$targets[i]&&scrollTop>=this.$offsets[i]&&(isUndefined(this.$offsets[i+1])||scrollTop0&&this.$root&&this.$root.$emit(ROOT_EVENT_NAME_ACTIVATE,target,links)}},{key:"clear",value:function(){var _this6=this;selectAll("".concat(this.$selector,", ").concat(".nav-item"),this.$el).filter((function(el){return hasClass(el,"active")})).forEach((function(el){return _this6.setActiveState(el,!1)}))}},{key:"setActiveState",value:function(el,active){el&&(active?addClass(el,"active"):removeClass(el,"active"))}}],[{key:"Name",get:function(){return"v-b-scrollspy"}},{key:"Default",get:function(){return Default}},{key:"DefaultType",get:function(){return DefaultType}}]),BVScrollspy}(),BV_SCROLLSPY="__BV_Scrollspy__",onlyDigitsRE=/^\d+$/,offsetRE=/^(auto|position|offset)$/,applyScrollspy=function(el,bindings,vnode){if(IS_BROWSER){var config=function(bindings){var config={};return bindings.arg&&(config.element="#".concat(bindings.arg)),keys(bindings.modifiers).forEach((function(mod){onlyDigitsRE.test(mod)?config.offset=toInteger(mod,0):offsetRE.test(mod)&&(config.method=mod)})),isString(bindings.value)?config.element=bindings.value:isNumber(bindings.value)?config.offset=mathRound(bindings.value):isObject(bindings.value)&&keys(bindings.value).filter((function(k){return!!BVScrollspy.DefaultType[k]})).forEach((function(k){config[k]=bindings.value[k]})),config}(bindings);el[BV_SCROLLSPY]?el[BV_SCROLLSPY].updateConfig(config,getEventRoot(getInstanceFromDirective(vnode,bindings))):el[BV_SCROLLSPY]=new BVScrollspy(el,config,getEventRoot(getInstanceFromDirective(vnode,bindings)))}},VBScrollspyPlugin=pluginFactory({directives:{VBScrollspy:{bind:function(el,bindings,vnode){applyScrollspy(el,bindings,vnode)},inserted:function(el,bindings,vnode){applyScrollspy(el,bindings,vnode)},update:function(el,bindings,vnode){bindings.value!==bindings.oldValue&&applyScrollspy(el,bindings,vnode)},componentUpdated:function(el,bindings,vnode){bindings.value!==bindings.oldValue&&applyScrollspy(el,bindings,vnode)},unbind:function(el){!function(el){el[BV_SCROLLSPY]&&(el[BV_SCROLLSPY].dispose(),el[BV_SCROLLSPY]=null,delete el[BV_SCROLLSPY])}(el)}}}}),VBVisiblePlugin=pluginFactory({directives:{VBVisible:VBVisible}}),directivesPlugin=pluginFactory({plugins:{VBHoverPlugin:VBHoverPlugin,VBModalPlugin:VBModalPlugin,VBPopoverPlugin:VBPopoverPlugin,VBScrollspyPlugin:VBScrollspyPlugin,VBTogglePlugin:VBTogglePlugin,VBTooltipPlugin:VBTooltipPlugin,VBVisiblePlugin:VBVisiblePlugin}}),BootstrapVue={install:installFactory({plugins:{componentsPlugin:componentsPlugin,directivesPlugin:directivesPlugin}}),NAME:"BootstrapVue"};return VuePlugin=BootstrapVue,HAS_WINDOW_SUPPORT&&window.Vue&&window.Vue.use(VuePlugin),HAS_WINDOW_SUPPORT&&VuePlugin.NAME&&(window[VuePlugin.NAME]=VuePlugin),BootstrapVue})); //# sourceMappingURL=bootstrap-vue.min.js.map \ No newline at end of file diff --git a/amd/build/bootstrap-vue/bootstrap-vue.min.js.map b/amd/build/bootstrap-vue/bootstrap-vue.min.js.map index ebc1cd0..f1e269f 100644 --- a/amd/build/bootstrap-vue/bootstrap-vue.min.js.map +++ b/amd/build/bootstrap-vue/bootstrap-vue.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-vue.min.js","sources":["../../src/bootstrap-vue/bootstrap-vue.js"],"sourcesContent":["/*!\n * BootstrapVue 2.23.1\n *\n * @link https://bootstrap-vue.org\n * @source https://github.com/bootstrap-vue/bootstrap-vue\n * @copyright (c) 2016-2022 BootstrapVue\n * @license MIT\n * https://github.com/bootstrap-vue/bootstrap-vue/blob/master/LICENSE\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../vue/vue')) :\n typeof define === 'function' && define.amd ? define(['../vue/vue'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrapVue = factory(global.Vue));\n}(this, (function (Vue) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _typeof$1(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof$1(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n Object.defineProperty(subClass, \"prototype\", {\n value: Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n }),\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n 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 }\n\n function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n }\n\n 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 }\n\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n\n function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n 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 }\n\n function _get() {\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\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _toConsumableArray$1(arr) {\n return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread$1();\n }\n\n function _arrayWithoutHoles$1(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArray$1(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread$1() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var e=function(){return (e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0;\n /msie|trident/.test(USER_AGENT); // Determine if the browser supports the option passive for events\n\n var HAS_PASSIVE_EVENT_SUPPORT = function () {\n var passiveEventSupported = false;\n\n if (IS_BROWSER) {\n try {\n var 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 };\n WINDOW.addEventListener('test', options, options);\n WINDOW.removeEventListener('test', options, options);\n } catch (_unused) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n }();\n var HAS_TOUCH_SUPPORT = IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0);\n var HAS_POINTER_EVENT_SUPPORT = IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent);\n /* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\n\n var HAS_INTERACTION_OBSERVER_SUPPORT = IS_BROWSER && 'IntersectionObserver' in WINDOW && 'IntersectionObserverEntry' in WINDOW && // 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\n var NAME$2 = 'BvConfig';\n var PROP_NAME$2 = '$bvConfig';\n var DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];\n\n // --- General ---\n var RX_ARRAY_NOTATION = /\\[(\\d+)]/g;\n var RX_BV_PREFIX = /^(BV?)/;\n var RX_DIGITS = /^\\d+$/;\n var RX_EXTENSION = /^\\..+/;\n var RX_HASH = /^#/;\n var RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\n var RX_HTML_TAGS = /(<([^>]+)>)/gi;\n var RX_HYPHENATE = /\\B([A-Z])/g;\n var RX_LOWER_UPPER = /([a-z])([A-Z])/g;\n var RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\n var RX_PLUS = /\\+/g;\n var RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\n var RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\n var RX_SPACE_SPLIT = /\\s+/;\n var RX_STAR = /\\/\\*$/;\n var RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\n var RX_TRIM_LEFT = /^\\s+/;\n var RX_UNDERSCORE = /_/g;\n var RX_UN_KEBAB = /-(\\w)/g; // --- Date ---\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'\n\n var RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/; // Used to split off the date parts of the YYYY-MM-DD string\n\n var RX_DATE_SPLIT = /-|\\s|T/; // Time string RegEx (optional seconds)\n\n var RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/; // --- URL ---\n // HREFs must end with a hash followed by at least one non-hash character\n\n var RX_HREF = /^.*(#[^#]+)$/;\n var RX_ENCODED_COMMA = /%2C/g;\n var RX_ENCODE_REVERSE = /[!'()*]/g;\n var RX_QUERY_START = /^(\\?|#|&)/; // --- Aspect ---\n\n var RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/;\n var RX_ASPECT_SEPARATOR = /[/:]/; // --- Grid ---\n\n var RX_COL_CLASS = /^col-/; // --- Icon ---\n\n var RX_ICON_PREFIX = /^BIcon/; // --- Locale ---\n\n var RX_STRIP_LOCALE_MODS = /-u-.+/;\n\n /* istanbul ignore next */\n\n var Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : /*#__PURE__*/function (_Object) {\n _inherits(Element, _Object);\n\n var _super = _createSuper(Element);\n\n function Element() {\n _classCallCheck(this, Element);\n\n return _super.apply(this, arguments);\n }\n\n return Element;\n }( /*#__PURE__*/_wrapNativeSuper(Object));\n /* istanbul ignore next */\n\n var HTMLElement = HAS_WINDOW_SUPPORT ? WINDOW.HTMLElement : /*#__PURE__*/function (_Element) {\n _inherits(HTMLElement, _Element);\n\n var _super2 = _createSuper(HTMLElement);\n\n function HTMLElement() {\n _classCallCheck(this, HTMLElement);\n\n return _super2.apply(this, arguments);\n }\n\n return HTMLElement;\n }(Element);\n /* istanbul ignore next */\n\n var SVGElement = HAS_WINDOW_SUPPORT ? WINDOW.SVGElement : /*#__PURE__*/function (_Element2) {\n _inherits(SVGElement, _Element2);\n\n var _super3 = _createSuper(SVGElement);\n\n function SVGElement() {\n _classCallCheck(this, SVGElement);\n\n return _super3.apply(this, arguments);\n }\n\n return SVGElement;\n }(Element);\n /* istanbul ignore next */\n\n var File = HAS_WINDOW_SUPPORT ? WINDOW.File : /*#__PURE__*/function (_Object2) {\n _inherits(File, _Object2);\n\n var _super4 = _createSuper(File);\n\n function File() {\n _classCallCheck(this, File);\n\n return _super4.apply(this, arguments);\n }\n\n return File;\n }( /*#__PURE__*/_wrapNativeSuper(Object));\n\n var toType$1 = function toType(value) {\n return _typeof$1(value);\n };\n var toRawType = function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n var isUndefined = function isUndefined(value) {\n return value === undefined;\n };\n var isNull = function isNull(value) {\n return value === null;\n };\n var isUndefinedOrNull = function isUndefinedOrNull(value) {\n return isUndefined(value) || isNull(value);\n };\n var isFunction$1 = function isFunction(value) {\n return toType$1(value) === 'function';\n };\n var isBoolean = function isBoolean(value) {\n return toType$1(value) === 'boolean';\n };\n var isString = function isString(value) {\n return toType$1(value) === 'string';\n };\n var isNumber = function isNumber(value) {\n return toType$1(value) === 'number';\n };\n var isNumeric$1 = function isNumeric(value) {\n return RX_NUMBER.test(String(value));\n };\n var isArray = function isArray(value) {\n return Array.isArray(value);\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.\n\n var isObject = function isObject(obj) {\n return obj !== null && _typeof$1(obj) === 'object';\n }; // Strict object type check\n // Only returns true for plain JavaScript objects\n\n var isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n };\n var isDate = function isDate(value) {\n return value instanceof Date;\n };\n var isEvent = function isEvent(value) {\n return value instanceof Event;\n };\n var isFile = function isFile(value) {\n return value instanceof File;\n };\n var isRegExp = function isRegExp(value) {\n return toRawType(value) === 'RegExp';\n };\n var isPromise = function isPromise(value) {\n return !isUndefinedOrNull(value) && isFunction$1(value.then) && isFunction$1(value.catch);\n };\n\n var assign = function assign() {\n return Object.assign.apply(Object, arguments);\n };\n var create = function create(proto, optionalProps) {\n return Object.create(proto, optionalProps);\n };\n var defineProperties = function defineProperties(obj, props) {\n return Object.defineProperties(obj, props);\n };\n var defineProperty$1 = function defineProperty(obj, prop, descriptor) {\n return Object.defineProperty(obj, prop, descriptor);\n };\n var getOwnPropertyNames = function getOwnPropertyNames(obj) {\n return Object.getOwnPropertyNames(obj);\n };\n var keys = function keys(obj) {\n return Object.keys(obj);\n }; // --- \"Instance\" ---\n\n var hasOwnProperty = function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n };\n var toString$1 = function toString(obj) {\n return Object.prototype.toString.call(obj);\n }; // --- Utilities ---\n // Shallow copy an object\n\n var clone = function clone(obj) {\n return _objectSpread2$3({}, obj);\n }; // Return a shallow copy of object with the specified properties only\n // See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\n var pick$1 = function pick(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) !== -1;\n }).reduce(function (result, key) {\n return _objectSpread2$3(_objectSpread2$3({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n }; // Return a shallow copy of object with the specified properties omitted\n // See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\n var omit = function omit(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) === -1;\n }).reduce(function (result, key) {\n return _objectSpread2$3(_objectSpread2$3({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n }; // Merges two object deeply together\n // See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\n\n var mergeDeep = function mergeDeep(target, source) {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(function (key) {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key];\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return target;\n }; // Returns a shallow copy of the object with keys in sorted order\n\n var sortKeys = function sortKeys(obj) {\n return keys(obj).sort().reduce(function (result, key) {\n return _objectSpread2$3(_objectSpread2$3({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n }; // Convenience method to create a read-only descriptor\n\n var readonlyDescriptor = function readonlyDescriptor() {\n return {\n enumerable: true,\n configurable: false,\n writable: false\n };\n };\n\n var cloneDeep = function cloneDeep(obj) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : obj;\n\n if (isArray(obj)) {\n return obj.reduce(function (result, val) {\n return [].concat(_toConsumableArray$1(result), [cloneDeep(val, val)]);\n }, []);\n }\n\n if (isPlainObject(obj)) {\n return keys(obj).reduce(function (result, key) {\n return _objectSpread2$3(_objectSpread2$3({}, result), {}, _defineProperty({}, key, cloneDeep(obj[key], obj[key])));\n }, {});\n }\n\n return defaultValue;\n };\n\n var identity = function identity(x) {\n return x;\n };\n\n /**\n * Get property defined by dot/array notation in string, returns undefined if not found\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @return {*}\n */\n\n var getRaw = function getRaw(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n // Handle array of path values\n path = isArray(path) ? path.join('.') : path; // If no path or no object passed\n\n if (!path || !isObject(obj)) {\n return defaultValue;\n } // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n if (path in obj) {\n return obj[path];\n } // Handle string array notation (numeric indices only)\n\n\n path = String(path).replace(RX_ARRAY_NOTATION, '.$1');\n var steps = path.split('.').filter(identity); // Handle case where someone passes a string of only dots\n\n if (steps.length === 0) {\n return defaultValue;\n } // Traverse path in object to find result\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n\n\n return steps.every(function (step) {\n return isObject(obj) && step in obj && !isUndefinedOrNull(obj = obj[step]);\n }) ? obj : isNull(obj) ? null : defaultValue;\n };\n /**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\n\n var get = function get(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var value = getRaw(obj, path);\n return isUndefinedOrNull(value) ? defaultValue : value;\n };\n\n /**\n * Utilities to get information about the current environment\n */\n var getEnv = function getEnv(key) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var env = typeof process !== 'undefined' && process ? process.env || {} : {};\n\n if (!key) {\n /* istanbul ignore next */\n return env;\n }\n\n return env[key] || fallback;\n };\n var getNoWarn = function getNoWarn() {\n return getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production';\n };\n\n /**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\n\n var warn = function warn(message)\n /* istanbul ignore next */\n {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!getNoWarn()) {\n console.warn(\"[BootstrapVue warn]: \".concat(source ? \"\".concat(source, \" - \") : '').concat(message));\n }\n };\n /**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\n var warnNotClient = function warnNotClient(source) {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false;\n } else {\n warn(\"\".concat(source, \": Can not be called during SSR.\"));\n return true;\n }\n };\n /**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\n var warnNoPromiseSupport = function warnNoPromiseSupport(source) {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires Promise support.\"));\n return true;\n }\n };\n /**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\n var warnNoMutationObserverSupport = function warnNoMutationObserverSupport(source) {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires MutationObserver support.\"));\n return true;\n }\n };\n\n var BvConfig = /*#__PURE__*/function () {\n function BvConfig() {\n _classCallCheck(this, BvConfig);\n\n this.$_config = {};\n } // Method to merge in user config parameters\n\n\n _createClass(BvConfig, [{\n key: \"setConfig\",\n value: function setConfig() {\n var _this = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /* istanbul ignore next */\n if (!isPlainObject(config)) {\n return;\n }\n\n var configKeys = getOwnPropertyNames(config);\n configKeys.forEach(function (key) {\n /* istanbul ignore next */\n var subConfig = config[key];\n\n if (key === 'breakpoints') {\n /* istanbul ignore if */\n if (!isArray(subConfig) || subConfig.length < 2 || subConfig.some(function (b) {\n return !isString(b) || b.length === 0;\n })) {\n warn('\"breakpoints\" must be an array of at least 2 breakpoint names', NAME$2);\n } else {\n _this.$_config[key] = cloneDeep(subConfig);\n }\n } else if (isPlainObject(subConfig)) {\n // Component prop defaults\n _this.$_config[key] = getOwnPropertyNames(subConfig).reduce(function (config, prop) {\n if (!isUndefined(subConfig[prop])) {\n config[prop] = cloneDeep(subConfig[prop]);\n }\n\n return config;\n }, _this.$_config[key] || {});\n }\n });\n } // Clear the config\n\n }, {\n key: \"resetConfig\",\n value: function resetConfig() {\n this.$_config = {};\n } // Returns a deep copy of the user config\n\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n return cloneDeep(this.$_config);\n } // Returns a deep copy of the config value\n\n }, {\n key: \"getConfigValue\",\n value: function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n return cloneDeep(getRaw(this.$_config, key, defaultValue));\n }\n }]);\n\n return BvConfig;\n }(); // Method for applying a global config\n\n\n var setConfig = function setConfig() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var Vue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Vue__default['default'];\n // Ensure we have a `$bvConfig` Object on the Vue prototype\n // We set on Vue and OurVue just in case consumer has not set an alias of `vue`\n Vue.prototype[PROP_NAME$2] = Vue__default['default'].prototype[PROP_NAME$2] = Vue.prototype[PROP_NAME$2] || Vue__default['default'].prototype[PROP_NAME$2] || new BvConfig(); // Apply the config values\n\n Vue.prototype[PROP_NAME$2].setConfig(config);\n }; // Method for resetting the user config\n\n /**\n * Checks if there are multiple instances of Vue, and warns (once) about possible issues.\n * @param {object} Vue\n */\n\n var checkMultipleVue = function () {\n var checkMultipleVueWarned = false;\n var MULTIPLE_VUE_WARNING = ['Multiple instances of Vue detected!', 'You may need to set up an alias for Vue in your bundler config.', 'See: https://bootstrap-vue.org/docs#using-module-bundlers'].join('\\n');\n return function (Vue) {\n /* istanbul ignore next */\n if (!checkMultipleVueWarned && Vue__default['default'] !== Vue && !IS_JSDOM) {\n warn(MULTIPLE_VUE_WARNING);\n }\n\n checkMultipleVueWarned = true;\n };\n }();\n /**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\n\n var installFactory = function installFactory() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n components = _ref.components,\n directives = _ref.directives,\n plugins = _ref.plugins;\n\n var install = function install(Vue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true;\n checkMultipleVue(Vue);\n setConfig(config, Vue);\n registerComponents(Vue, components);\n registerDirectives(Vue, directives);\n registerPlugins(Vue, plugins);\n };\n\n install.installed = false;\n return install;\n };\n /**\n * Plugin object factory function.\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\n\n var pluginFactory = function pluginFactory() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _objectSpread2$3(_objectSpread2$3({}, extend), {}, {\n install: installFactory(options)\n });\n };\n /**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\n\n var registerPlugins = function registerPlugins(Vue) {\n var plugins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin]);\n }\n }\n };\n /**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\n\n var registerComponent = function registerComponent(Vue, name, def) {\n if (Vue && name && def) {\n Vue.component(name, def);\n }\n };\n /**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\n\n var registerComponents = function registerComponents(Vue) {\n var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var component in components) {\n registerComponent(Vue, component, components[component]);\n }\n };\n /**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\n\n var registerDirective = function registerDirective(Vue, name, def) {\n if (Vue && name && def) {\n // Ensure that any leading V is removed from the\n // name, as Vue adds it automatically\n Vue.directive(name.replace(/^VB/, 'B'), def);\n }\n };\n /**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\n\n var registerDirectives = function registerDirectives(Vue) {\n var directives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var directive in directives) {\n registerDirective(Vue, directive, directives[directive]);\n }\n };\n /**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\n\n var vueUse = function vueUse(VuePlugin) {\n /* istanbul ignore next */\n if (HAS_WINDOW_SUPPORT && window.Vue) {\n window.Vue.use(VuePlugin);\n }\n /* istanbul ignore next */\n\n\n if (HAS_WINDOW_SUPPORT && VuePlugin.NAME) {\n window[VuePlugin.NAME] = VuePlugin;\n }\n };\n\n // Component names\n var NAME_ALERT = 'BAlert';\n var NAME_ASPECT = 'BAspect';\n var NAME_AVATAR = 'BAvatar';\n var NAME_AVATAR_GROUP = 'BAvatarGroup';\n var NAME_BADGE = 'BBadge';\n var NAME_BREADCRUMB = 'BBreadcrumb';\n var NAME_BREADCRUMB_ITEM = 'BBreadcrumbItem';\n var NAME_BREADCRUMB_LINK = 'BBreadcrumbLink';\n var NAME_BUTTON = 'BButton';\n var NAME_BUTTON_CLOSE = 'BButtonClose';\n var NAME_BUTTON_GROUP = 'BButtonGroup';\n var NAME_BUTTON_TOOLBAR = 'BButtonToolbar';\n var NAME_CALENDAR = 'BCalendar';\n var NAME_CARD = 'BCard';\n var NAME_CARD_BODY = 'BCardBody';\n var NAME_CARD_FOOTER = 'BCardFooter';\n var NAME_CARD_GROUP = 'BCardGroup';\n var NAME_CARD_HEADER = 'BCardHeader';\n var NAME_CARD_IMG = 'BCardImg';\n var NAME_CARD_IMG_LAZY = 'BCardImgLazy';\n var NAME_CARD_SUB_TITLE = 'BCardSubTitle';\n var NAME_CARD_TEXT = 'BCardText';\n var NAME_CARD_TITLE = 'BCardTitle';\n var NAME_CAROUSEL = 'BCarousel';\n var NAME_CAROUSEL_SLIDE = 'BCarouselSlide';\n var NAME_COL = 'BCol';\n var NAME_COLLAPSE = 'BCollapse';\n var NAME_CONTAINER = 'BContainer';\n var NAME_DROPDOWN = 'BDropdown';\n var NAME_DROPDOWN_DIVIDER = 'BDropdownDivider';\n var NAME_DROPDOWN_FORM = 'BDropdownForm';\n var NAME_DROPDOWN_GROUP = 'BDropdownGroup';\n var NAME_DROPDOWN_HEADER = 'BDropdownHeader';\n var NAME_DROPDOWN_ITEM = 'BDropdownItem';\n var NAME_DROPDOWN_ITEM_BUTTON = 'BDropdownItemButton';\n var NAME_DROPDOWN_TEXT = 'BDropdownText';\n var NAME_EMBED = 'BEmbed';\n var NAME_FORM = 'BForm';\n var NAME_FORM_CHECKBOX = 'BFormCheckbox';\n var NAME_FORM_CHECKBOX_GROUP = 'BFormCheckboxGroup';\n var NAME_FORM_DATALIST = 'BFormDatalist';\n var NAME_FORM_DATEPICKER = 'BFormDatepicker';\n var NAME_FORM_FILE = 'BFormFile';\n var NAME_FORM_GROUP = 'BFormGroup';\n var NAME_FORM_INPUT = 'BFormInput';\n var NAME_FORM_INVALID_FEEDBACK = 'BFormInvalidFeedback';\n var NAME_FORM_RADIO = 'BFormRadio';\n var NAME_FORM_RADIO_GROUP = 'BFormRadioGroup';\n var NAME_FORM_RATING = 'BFormRating';\n var NAME_FORM_ROW = 'BFormRow';\n var NAME_FORM_SELECT = 'BFormSelect';\n var NAME_FORM_SELECT_OPTION = 'BFormSelectOption';\n var NAME_FORM_SELECT_OPTION_GROUP = 'BFormSelectOptionGroup';\n var NAME_FORM_SPINBUTTON = 'BFormSpinbutton';\n var NAME_FORM_TAG = 'BFormTag';\n var NAME_FORM_TAGS = 'BFormTags';\n var NAME_FORM_TEXT = 'BFormText';\n var NAME_FORM_TEXTAREA = 'BFormTextarea';\n var NAME_FORM_TIMEPICKER = 'BFormTimepicker';\n var NAME_FORM_VALID_FEEDBACK = 'BFormValidFeedback';\n var NAME_ICON = 'BIcon';\n var NAME_ICONSTACK = 'BIconstack';\n var NAME_ICON_BASE = 'BIconBase';\n var NAME_IMG = 'BImg';\n var NAME_IMG_LAZY = 'BImgLazy';\n var NAME_INPUT_GROUP = 'BInputGroup';\n var NAME_INPUT_GROUP_ADDON = 'BInputGroupAddon';\n var NAME_INPUT_GROUP_APPEND = 'BInputGroupAppend';\n var NAME_INPUT_GROUP_PREPEND = 'BInputGroupPrepend';\n var NAME_INPUT_GROUP_TEXT = 'BInputGroupText';\n var NAME_JUMBOTRON = 'BJumbotron';\n var NAME_LINK = 'BLink';\n var NAME_LIST_GROUP = 'BListGroup';\n var NAME_LIST_GROUP_ITEM = 'BListGroupItem';\n var NAME_MEDIA = 'BMedia';\n var NAME_MEDIA_ASIDE = 'BMediaAside';\n var NAME_MEDIA_BODY = 'BMediaBody';\n var NAME_MODAL = 'BModal';\n var NAME_MSG_BOX = 'BMsgBox';\n var NAME_NAV = 'BNav';\n var NAME_NAVBAR = 'BNavbar';\n var NAME_NAVBAR_BRAND = 'BNavbarBrand';\n var NAME_NAVBAR_NAV = 'BNavbarNav';\n var NAME_NAVBAR_TOGGLE = 'BNavbarToggle';\n var NAME_NAV_FORM = 'BNavForm';\n var NAME_NAV_ITEM = 'BNavItem';\n var NAME_NAV_ITEM_DROPDOWN = 'BNavItemDropdown';\n var NAME_NAV_TEXT = 'BNavText';\n var NAME_OVERLAY = 'BOverlay';\n var NAME_PAGINATION = 'BPagination';\n var NAME_PAGINATION_NAV = 'BPaginationNav';\n var NAME_POPOVER = 'BPopover';\n var NAME_PROGRESS = 'BProgress';\n var NAME_PROGRESS_BAR = 'BProgressBar';\n var NAME_ROW = 'BRow';\n var NAME_SIDEBAR = 'BSidebar';\n var NAME_SKELETON = 'BSkeleton';\n var NAME_SKELETON_ICON = 'BSkeletonIcon';\n var NAME_SKELETON_IMG = 'BSkeletonImg';\n var NAME_SKELETON_TABLE = 'BSkeletonTable';\n var NAME_SKELETON_WRAPPER = 'BSkeletonWrapper';\n var NAME_SPINNER = 'BSpinner';\n var NAME_TAB = 'BTab';\n var NAME_TABLE = 'BTable';\n var NAME_TABLE_CELL = 'BTableCell';\n var NAME_TABLE_LITE = 'BTableLite';\n var NAME_TABLE_SIMPLE = 'BTableSimple';\n var NAME_TABS = 'BTabs';\n var NAME_TBODY = 'BTbody';\n var NAME_TFOOT = 'BTfoot';\n var NAME_TH = 'BTh';\n var NAME_THEAD = 'BThead';\n var NAME_TIME = 'BTime';\n var NAME_TOAST = 'BToast';\n var NAME_TOASTER = 'BToaster';\n var NAME_TOOLTIP = 'BTooltip';\n var NAME_TR = 'BTr'; // Helper component names\n\n var NAME_COLLAPSE_HELPER = 'BVCollapse';\n var NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl';\n var NAME_FORM_RATING_STAR = 'BVFormRatingStar';\n var NAME_POPOVER_HELPER = 'BVPopover';\n var NAME_POPOVER_TEMPLATE = 'BVPopoverTemplate';\n var NAME_POPPER = 'BVPopper';\n var NAME_TAB_BUTTON_HELPER = 'BVTabButton';\n var NAME_TOAST_POP = 'BVToastPop';\n var NAME_TOOLTIP_HELPER = 'BVTooltip';\n var NAME_TOOLTIP_TEMPLATE = 'BVTooltipTemplate';\n var NAME_TRANSITION = 'BVTransition';\n var NAME_TRANSPORTER = 'BVTransporter';\n var NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';\n\n var EVENT_NAME_ACTIVATE_TAB = 'activate-tab';\n var EVENT_NAME_BLUR = 'blur';\n var EVENT_NAME_CANCEL = 'cancel';\n var EVENT_NAME_CHANGE = 'change';\n var EVENT_NAME_CHANGED = 'changed';\n var EVENT_NAME_CLICK = 'click';\n var EVENT_NAME_CLOSE = 'close';\n var EVENT_NAME_CONTEXT = 'context';\n var EVENT_NAME_CONTEXT_CHANGED = 'context-changed';\n var EVENT_NAME_DESTROYED = 'destroyed';\n var EVENT_NAME_DISABLE = 'disable';\n var EVENT_NAME_DISABLED = 'disabled';\n var EVENT_NAME_DISMISSED = 'dismissed';\n var EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down';\n var EVENT_NAME_ENABLE = 'enable';\n var EVENT_NAME_ENABLED = 'enabled';\n var EVENT_NAME_FILTERED = 'filtered';\n var EVENT_NAME_FIRST = 'first';\n var EVENT_NAME_FOCUS = 'focus';\n var EVENT_NAME_FOCUSIN = 'focusin';\n var EVENT_NAME_FOCUSOUT = 'focusout';\n var EVENT_NAME_HEAD_CLICKED = 'head-clicked';\n var EVENT_NAME_HIDDEN = 'hidden';\n var EVENT_NAME_HIDE = 'hide';\n var EVENT_NAME_IMG_ERROR = 'img-error';\n var EVENT_NAME_INPUT = 'input';\n var EVENT_NAME_LAST = 'last';\n var EVENT_NAME_MOUSEENTER = 'mouseenter';\n var EVENT_NAME_MOUSELEAVE = 'mouseleave';\n var EVENT_NAME_NEXT = 'next';\n var EVENT_NAME_OK = 'ok';\n var EVENT_NAME_OPEN = 'open';\n var EVENT_NAME_PAGE_CLICK = 'page-click';\n var EVENT_NAME_PAUSED = 'paused';\n var EVENT_NAME_PREV = 'prev';\n var EVENT_NAME_REFRESH = 'refresh';\n var EVENT_NAME_REFRESHED = 'refreshed';\n var EVENT_NAME_REMOVE = 'remove';\n var EVENT_NAME_ROW_CLICKED = 'row-clicked';\n var EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu';\n var EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked';\n var EVENT_NAME_ROW_HOVERED = 'row-hovered';\n var EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked';\n var EVENT_NAME_ROW_SELECTED = 'row-selected';\n var EVENT_NAME_ROW_UNHOVERED = 'row-unhovered';\n var EVENT_NAME_SELECTED = 'selected';\n var EVENT_NAME_SHOW = 'show';\n var EVENT_NAME_SHOWN = 'shown';\n var EVENT_NAME_SLIDING_END = 'sliding-end';\n var EVENT_NAME_SLIDING_START = 'sliding-start';\n var EVENT_NAME_SORT_CHANGED = 'sort-changed';\n var EVENT_NAME_TAG_STATE = 'tag-state';\n var EVENT_NAME_TOGGLE = 'toggle';\n var EVENT_NAME_UNPAUSED = 'unpaused';\n var EVENT_NAME_UPDATE = 'update';\n var HOOK_EVENT_NAME_BEFORE_DESTROY = isVue3 ? 'vnodeBeforeUnmount' : 'hook:beforeDestroy';\n var HOOK_EVENT_NAME_DESTROYED = isVue3 ? 'vNodeUnmounted' : 'hook:destroyed';\n var MODEL_EVENT_NAME_PREFIX = 'update:';\n var ROOT_EVENT_NAME_PREFIX = 'bv';\n var ROOT_EVENT_NAME_SEPARATOR = '::';\n var EVENT_OPTIONS_PASSIVE = {\n passive: true\n };\n var EVENT_OPTIONS_NO_CAPTURE = {\n passive: true,\n capture: false\n };\n\n // General types\n var PROP_TYPE_ANY = undefined;\n var PROP_TYPE_ARRAY = Array;\n var PROP_TYPE_BOOLEAN = Boolean;\n var PROP_TYPE_DATE = Date;\n var PROP_TYPE_FUNCTION = Function;\n var PROP_TYPE_NUMBER = Number;\n var PROP_TYPE_OBJECT = Object;\n var PROP_TYPE_REG_EXP = RegExp;\n var PROP_TYPE_STRING = String; // Multiple types\n\n var PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION];\n var PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT];\n var PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\n var PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING];\n var PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER];\n var PROP_TYPE_BOOLEAN_NUMBER_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING];\n var PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING];\n var PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING];\n var PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING];\n var PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING];\n var PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\n var PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION];\n var PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING];\n\n var SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text';\n var SLOT_NAME_APPEND = 'append';\n var SLOT_NAME_ASIDE = 'aside';\n var SLOT_NAME_BADGE = 'badge';\n var SLOT_NAME_BOTTOM_ROW = 'bottom-row';\n var SLOT_NAME_BUTTON_CONTENT = 'button-content';\n var SLOT_NAME_CUSTOM_FOOT = 'custom-foot';\n var SLOT_NAME_DECREMENT = 'decrement';\n var SLOT_NAME_DEFAULT = 'default';\n var SLOT_NAME_DESCRIPTION = 'description';\n var SLOT_NAME_DISMISS = 'dismiss';\n var SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder';\n var SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text';\n var SLOT_NAME_EMPTY = 'empty';\n var SLOT_NAME_EMPTYFILTERED = 'emptyfiltered';\n var SLOT_NAME_FILE_NAME = 'file-name';\n var SLOT_NAME_FIRST = 'first';\n var SLOT_NAME_FIRST_TEXT = 'first-text';\n var SLOT_NAME_FOOTER = 'footer';\n var SLOT_NAME_HEADER = 'header';\n var SLOT_NAME_HEADER_CLOSE = 'header-close';\n var SLOT_NAME_ICON_CLEAR = 'icon-clear';\n var SLOT_NAME_ICON_EMPTY = 'icon-empty';\n var SLOT_NAME_ICON_FULL = 'icon-full';\n var SLOT_NAME_ICON_HALF = 'icon-half';\n var SLOT_NAME_IMG = 'img';\n var SLOT_NAME_INCREMENT = 'increment';\n var SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback';\n var SLOT_NAME_LABEL = 'label';\n var SLOT_NAME_LAST_TEXT = 'last-text';\n var SLOT_NAME_LEAD = 'lead';\n var SLOT_NAME_LOADING = 'loading';\n var SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop';\n var SLOT_NAME_MODAL_CANCEL = 'modal-cancel';\n var SLOT_NAME_MODAL_FOOTER = 'modal-footer';\n var SLOT_NAME_MODAL_HEADER = 'modal-header';\n var SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close';\n var SLOT_NAME_MODAL_OK = 'modal-ok';\n var SLOT_NAME_MODAL_TITLE = 'modal-title';\n var SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade';\n var SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month';\n var SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year';\n var SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade';\n var SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month';\n var SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year';\n var SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month';\n var SLOT_NAME_NEXT_TEXT = 'next-text';\n var SLOT_NAME_OVERLAY = 'overlay';\n var SLOT_NAME_PAGE = 'page';\n var SLOT_NAME_PLACEHOLDER = 'placeholder';\n var SLOT_NAME_PREPEND = 'prepend';\n var SLOT_NAME_PREV_TEXT = 'prev-text';\n var SLOT_NAME_ROW_DETAILS = 'row-details';\n var SLOT_NAME_TABLE_BUSY = 'table-busy';\n var SLOT_NAME_TABLE_CAPTION = 'table-caption';\n var SLOT_NAME_TABLE_COLGROUP = 'table-colgroup';\n var SLOT_NAME_TABS_END = 'tabs-end';\n var SLOT_NAME_TABS_START = 'tabs-start';\n var SLOT_NAME_TEXT = 'text';\n var SLOT_NAME_THEAD_TOP = 'thead-top';\n var SLOT_NAME_TITLE = 'title';\n var SLOT_NAME_TOAST_TITLE = 'toast-title';\n var SLOT_NAME_TOP_ROW = 'top-row';\n var SLOT_NAME_VALID_FEEDBACK = 'valid-feedback';\n\n var from = function from() {\n return Array.from.apply(Array, arguments);\n }; // --- Instance ---\n\n var arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n };\n var concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n }; // --- Utilities ---\n\n var createArray = function createArray(length, fillFn) {\n var mapFn = isFunction$1(fillFn) ? fillFn : function () {\n return fillFn;\n };\n return Array.apply(null, {\n length: length\n }).map(mapFn);\n };\n var flatten = function flatten(array) {\n return array.reduce(function (result, item) {\n return concat(result, item);\n }, []);\n };\n var flattenDeep = function flattenDeep(array) {\n return array.reduce(function (result, item) {\n return concat(result, Array.isArray(item) ? flattenDeep(item) : item);\n }, []);\n };\n\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 */\n\n var hasNormalizedSlot = function hasNormalizedSlot(names) {\n var $scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Ensure names is an array\n names = concat(names).filter(identity); // Returns true if the either a $scopedSlot or $slot exists with the specified name\n\n return names.some(function (name) {\n return $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 */\n\n var normalizeSlot = function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var $slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Ensure names is an array\n names = concat(names).filter(identity);\n var slot;\n\n for (var i = 0; i < names.length && !slot; i++) {\n var name = names[i];\n slot = $scopedSlots[name] || $slots[name];\n } // Note: in Vue 2.6.x, all named slots are also scoped slots\n\n\n return isFunction$1(slot) ? slot(scope) : slot;\n };\n\n var normalizeSlotMixin = 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: function hasNormalizedSlot$1() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.$scopedSlots;\n var slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$slots;\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: function normalizeSlot$1() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$scopedSlots;\n var slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.$slots;\n\n var vNodes = normalizeSlot(name, scope, scopedSlots, slots);\n\n return vNodes ? concat(vNodes) : vNodes;\n }\n }\n });\n\n // Number utilities\n // Converts a value (string, number, etc.) to an integer number\n // Assumes radix base 10\n var toInteger = function toInteger(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var integer = parseInt(value, 10);\n return isNaN(integer) ? defaultValue : integer;\n }; // Converts a value (string, number, etc.) to a number\n\n var toFloat = function toFloat(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var float = parseFloat(value);\n return isNaN(float) ? defaultValue : float;\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\n\n var toFixed = function toFixed(val, precision) {\n return toFloat(val).toFixed(toInteger(precision, 0));\n };\n\n // String utilities\n // Converts PascalCase or camelCase to kebab-case\n\n var kebabCase = function kebabCase(str) {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase();\n }; // Converts a kebab-case or camelCase string to PascalCase\n\n var pascalCase = function pascalCase(str) {\n str = kebabCase(str).replace(RX_UN_KEBAB, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n return str.charAt(0).toUpperCase() + str.slice(1);\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\n\n var startCase = function startCase(str) {\n return str.replace(RX_UNDERSCORE, ' ').replace(RX_LOWER_UPPER, function (str, $1, $2) {\n return $1 + ' ' + $2;\n }).replace(RX_START_SPACE_WORD, function (str, $1, $2) {\n return $1 + $2.toUpperCase();\n });\n }; // Lowercases the first letter of a string and returns a new string\n\n var lowerFirst = function lowerFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n }; // Uppercases the first letter of a string and returns a new string\n\n var upperFirst = function upperFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toUpperCase() + str.slice(1);\n }; // Escape characters to be used in building a regular expression\n\n var escapeRegExp = function escapeRegExp(str) {\n return str.replace(RX_REGEXP_REPLACE, '\\\\$&');\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\n\n var toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return isUndefinedOrNull(val) ? '' : isArray(val) || isPlainObject(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n }; // Remove leading white space from a string\n\n var trimLeft = function trimLeft(str) {\n return toString(str).replace(RX_TRIM_LEFT, '');\n }; // Remove Trailing white space from a string\n\n var trim = function trim(str) {\n return toString(str).trim();\n }; // Lower case a string\n\n var lowerCase = function lowerCase(str) {\n return toString(str).toLowerCase();\n }; // Upper case a string\n\n var ELEMENT_PROTO = Element.prototype;\n var TABABLE_SELECTOR = ['button', '[href]:not(.disabled)', 'input', 'select', 'textarea', '[tabindex]', '[contenteditable]'].map(function (s) {\n return \"\".concat(s, \":not(:disabled):not([disabled])\");\n }).join(', '); // --- Normalization utils ---\n // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n /* istanbul ignore next */\n\n var matchesEl = ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n /* istanbul ignore next */\n\n var closestEl = ELEMENT_PROTO.closest || function (sel) {\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n }; // `requestAnimationFrame()` convenience method\n\n /* istanbul ignore next: JSDOM always returns the first option */\n\n var requestAF = (WINDOW.requestAnimationFrame || WINDOW.webkitRequestAnimationFrame || WINDOW.mozRequestAnimationFrame || WINDOW.msRequestAnimationFrame || WINDOW.oRequestAnimationFrame || // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n\n /* istanbul ignore next */\n function (cb) {\n return setTimeout(cb, 16);\n }).bind(WINDOW);\n var MutationObs = WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null; // --- Utils ---\n // Remove a node from DOM\n\n var removeNode = function removeNode(el) {\n return el && el.parentNode && el.parentNode.removeChild(el);\n }; // Determine if an element is an HTML element\n\n var isElement = function isElement(el) {\n return !!(el && el.nodeType === Node.ELEMENT_NODE);\n }; // Get the currently active HTML element\n\n var getActiveElement = function getActiveElement() {\n var excludes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var activeElement = DOCUMENT.activeElement;\n return activeElement && !excludes.some(function (el) {\n return el === activeElement;\n }) ? activeElement : null;\n }; // Returns `true` if a tag's name equals `name`\n\n var isTag = function isTag(tag, name) {\n return toString(tag).toLowerCase() === toString(name).toLowerCase();\n }; // Determine if an HTML element is the currently active element\n\n var isActiveElement = function isActiveElement(el) {\n return isElement(el) && el === getActiveElement();\n }; // Determine if an HTML element is visible - Faster than CSS check\n\n var isVisible = function 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\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\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\n\n var bcr = getBCR(el);\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n }; // Determine if an element is disabled\n\n var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled');\n }; // Cause/wait-for an element to reflow its content (adjusting its height/width)\n\n var reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n }; // Select all elements matching selector. Returns `[]` if none found\n\n var selectAll = function selectAll(selector, root) {\n return from((isElement(root) ? root : DOCUMENT).querySelectorAll(selector));\n }; // Select a single element, returns `null` if not found\n\n var select = function select(selector, root) {\n return (isElement(root) ? root : DOCUMENT).querySelector(selector) || null;\n }; // Determine if an element matches a selector\n\n var matches = function matches(el, selector) {\n return isElement(el) ? matchesEl.call(el, selector) : false;\n }; // Finds closest element matching selector. Returns `null` if not found\n\n var closest = function closest(selector, root) {\n var includeRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // 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\n return includeRoot ? el : el === root ? null : el;\n }; // Returns true if the parent element contains the child element\n\n var contains = function contains(parent, child) {\n return parent && isFunction$1(parent.contains) ? parent.contains(child) : false;\n }; // Get an element given an ID\n\n var getById = function getById(id) {\n return DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n }; // Add a class to an element\n\n var addClass = function 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 }; // Remove a class from an element\n\n var removeClass = function 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 }; // Test if an element has a class\n\n var hasClass = function 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\n return false;\n }; // Set an attribute on an element\n\n var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n }; // Remove an attribute from an element\n\n var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n }; // Get an attribute value from an element\n // Returns `null` if not found\n\n var getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n }; // Determine if an attribute exists on an element\n // Returns `true` or `false`, or `null` if element not found\n\n var hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n }; // Set an style property on an element\n\n var setStyle = function setStyle(el, prop, value) {\n if (prop && isElement(el)) {\n el.style[prop] = value;\n }\n }; // Remove an style property from an element\n\n var removeStyle = function removeStyle(el, prop) {\n if (prop && isElement(el)) {\n el.style[prop] = '';\n }\n }; // Get an style property value from an element\n // Returns `null` if not found\n\n var getStyle = function getStyle(el, prop) {\n return prop && isElement(el) ? el.style[prop] || null : null;\n }; // Return the Bounding Client Rect of an element\n // Returns `null` if not an element\n\n /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\n var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n }; // Get computed style object for an element\n\n /* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\n var getCS = function getCS(el) {\n var getComputedStyle = WINDOW.getComputedStyle;\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {};\n }; // Returns a `Selection` object representing the range of text selected\n // Returns `null` if no window support is given\n\n /* istanbul ignore next: getSelection() doesn't work in JSDOM */\n\n var getSel = function getSel() {\n var getSelection = WINDOW.getSelection;\n return getSelection ? WINDOW.getSelection() : null;\n }; // Return an element's offset with respect to document element\n // https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\n var offset$1 = function offset(el)\n /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n {\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n }; // Return an element's offset with respect to to its offsetParent\n // https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\n var position = function position(el)\n /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n {\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset$1(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset$1(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0);\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0);\n }\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 }; // Find all tabable elements in the given element\n // Assumes users have not used `tabindex` > `0` on elements\n\n var getTabables = function getTabables() {\n var rootEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n return selectAll(TABABLE_SELECTOR, rootEl).filter(isVisible).filter(function (el) {\n return el.tabIndex > -1 && !el.disabled;\n });\n }; // Attempt to focus an element, and return `true` if successful\n\n var attemptFocus = function attemptFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n el.focus(options);\n } catch (_unused) {}\n\n return isActiveElement(el);\n }; // Attempt to blur an element, and return `true` if successful\n\n var attemptBlur = function attemptBlur(el) {\n try {\n el.blur();\n } catch (_unused2) {}\n\n return !isActiveElement(el);\n };\n\n var memoize = function memoize(fn) {\n var cache = create(null);\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n };\n\n var VueProto = Vue__default['default'].prototype; // --- Getter methods ---\n\n var getConfigValue = function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var bvConfig = VueProto[PROP_NAME$2];\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue);\n }; // Method to grab a config value for a particular component\n\n var getComponentConfig = function getComponentConfig(key) {\n var propKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 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(\"\".concat(key, \".\").concat(propKey), defaultValue) : getConfigValue(key, {});\n }; // Get all breakpoint names\n\n var getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints', DEFAULT_BREAKPOINT);\n }; // Private method for caching breakpoint names\n\n var _getBreakpointsCached = memoize(function () {\n return getBreakpoints();\n }); // Get all breakpoint names (cached)\n\n\n var getBreakpointsCached = function getBreakpointsCached() {\n return cloneDeep(_getBreakpointsCached());\n }; // Get breakpoints with the smallest breakpoint set as ''\n // Useful for components that create breakpoint specific props\n\n var getBreakpointsUpCached = memoize(function () {\n var breakpoints = getBreakpointsCached();\n breakpoints[0] = '';\n return breakpoints;\n }); // Get breakpoints with the largest breakpoint set as ''\n\n var prefixPropName = function prefixPropName(prefix, value) {\n return prefix + upperFirst(value);\n }; // Remove a prefix from a property\n\n var unprefixPropName = function unprefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\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\n\n var suffixPropName = function suffixPropName(suffix, value) {\n return value + (suffix ? upperFirst(suffix) : '');\n }; // Generates a prop object\n\n var makeProp = function makeProp() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PROP_TYPE_ANY;\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var requiredOrValidator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;\n var required = requiredOrValidator === true;\n validator = required ? validator : requiredOrValidator;\n return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, type ? {\n type: type\n } : {}), required ? {\n required: required\n } : isUndefined(value) ? {} : {\n default: isObject(value) ? function () {\n return value;\n } : value\n }), isUndefined(validator) ? {} : {\n validator: validator\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\n\n var copyProps = function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n\n if (isArray(props)) {\n return props.map(transformFn);\n }\n\n var copied = {};\n\n for (var 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\n return copied;\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\n\n var pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;\n return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\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\n\n var makePropConfigurable = function makePropConfigurable(prop, key, componentKey) {\n return _objectSpread2$3(_objectSpread2$3({}, cloneDeep(prop)), {}, {\n default: function bvConfigurablePropDefault() {\n var value = getComponentConfig(componentKey, key, prop.default);\n return isFunction$1(value) ? value() : value;\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\n\n var makePropsConfigurable = function makePropsConfigurable(props, componentKey) {\n return keys(props).reduce(function (result, key) {\n return _objectSpread2$3(_objectSpread2$3({}, result), {}, _defineProperty({}, key, makePropConfigurable(props[key], key, componentKey)));\n }, {});\n }; // Get function name we use in `makePropConfigurable()`\n // for the prop default value override to compare\n // against in `hasPropFunction()`\n\n var configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name; // Detect wether the given value is currently a function\n // and isn't the props default function\n\n var hasPropFunction = function hasPropFunction(fn) {\n return isFunction$1(fn) && fn.name && fn.name !== configurablePropDefaultFnName;\n };\n\n var makeModelMixin = function makeModelMixin(prop) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? PROP_TYPE_ANY : _ref$type,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? undefined : _ref$defaultValue,\n _ref$validator = _ref.validator,\n validator = _ref$validator === void 0 ? undefined : _ref$validator,\n _ref$event = _ref.event,\n event = _ref$event === void 0 ? EVENT_NAME_INPUT : _ref$event;\n\n var props = _defineProperty({}, prop, makeProp(type, defaultValue, validator)); // @vue/component\n\n\n var mixin = extend({\n model: {\n prop: prop,\n event: event\n },\n props: props\n });\n return {\n mixin: mixin,\n props: props,\n prop: prop,\n event: event\n };\n };\n\n // Normalize event options based on support of passive option\n // Exported only for testing purposes\n\n var parseEventOptions = function 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 : {\n capture: !!options || false\n };\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options);\n }\n }; // Attach an event listener to an element\n\n var eventOn = function eventOn(el, eventName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n }; // Remove an event listener from an element\n\n var eventOff = function eventOff(el, eventName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options));\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\n\n var eventOnOff = function eventOnOff(on) {\n var method = on ? eventOn : eventOff;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n method.apply(void 0, args);\n }; // Utility method to prevent the default event handling and propagation\n\n var stopEvent = function stopEvent(event) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$preventDefault = _ref.preventDefault,\n preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault,\n _ref$propagation = _ref.propagation,\n propagation = _ref$propagation === void 0 ? true : _ref$propagation,\n _ref$immediatePropaga = _ref.immediatePropagation,\n immediatePropagation = _ref$immediatePropaga === void 0 ? false : _ref$immediatePropaga;\n\n if (preventDefault) {\n event.preventDefault();\n }\n\n if (propagation) {\n event.stopPropagation();\n }\n\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n }; // Helper method to convert a component/directive name to a base event name\n // `getBaseEventName('BNavigationItem')` => 'navigation-item'\n // `getBaseEventName('BVToggle')` => 'toggle'\n\n var getBaseEventName = function getBaseEventName(value) {\n return kebabCase(value.replace(RX_BV_PREFIX, ''));\n }; // Get a root event name by component/directive and event name\n // `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\n\n\n var getRootEventName = function getRootEventName(name, eventName) {\n return [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR);\n }; // Get a root action event name by component/directive and action name\n // `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\n\n var getRootActionEventName = function getRootActionEventName(name, actionName) {\n return [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR);\n };\n\n var props$2l = makePropsConfigurable({\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 }, NAME_BUTTON_CLOSE); // --- Main component ---\n // @vue/component\n\n var BButtonClose = /*#__PURE__*/extend({\n name: NAME_BUTTON_CLOSE,\n functional: true,\n props: props$2l,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(event) {\n // Ensure click on button HTML content is also disabled\n\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 }; // Careful not to override the default slot with innerHTML\n\n if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {\n componentData.domProps = {\n innerHTML: props.content\n };\n }\n\n return h('button', a(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));\n }\n });\n\n var NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n };\n\n var FADE_PROPS = _objectSpread2$3(_objectSpread2$3({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n }); // --- Props ---\n\n\n var props$2k = {\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 }; // --- Main component ---\n // @vue/component\n\n var BVTransition = /*#__PURE__*/extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props$2k,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread2$3(_objectSpread2$3({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread2$3(_objectSpread2$3({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n\n var dataCopy = _objectSpread2$3({}, data);\n\n delete dataCopy.props;\n return h('transition', // Any transition event listeners will get merged here\n a(dataCopy, {\n props: transProps\n }), children);\n }\n });\n\n var _watch$k;\n\n var _makeModelMixin$k = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n }),\n modelMixin$j = _makeModelMixin$k.mixin,\n modelProps$j = _makeModelMixin$k.props,\n MODEL_PROP_NAME$j = _makeModelMixin$k.prop,\n MODEL_EVENT_NAME$j = _makeModelMixin$k.event; // --- Helper methods ---\n // Convert `show` value to a number\n\n\n var parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n }; // Convert `show` value to a boolean\n\n\n var parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n }; // --- Props ---\n\n\n var props$2j = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, modelProps$j), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n })), NAME_ALERT); // --- Main component ---\n // @vue/component\n\n var BAlert = /*#__PURE__*/extend({\n name: NAME_ALERT,\n mixins: [modelMixin$j, normalizeSlotMixin],\n props: props$2j,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME$j])\n };\n },\n watch: (_watch$k = {}, _defineProperty(_watch$k, MODEL_PROP_NAME$j, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch$k, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME$j]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric$1(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME$j, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch$k, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME$j]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric$1(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric$1(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME$j, newValue);\n }\n }), _watch$k),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME$j];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n });\n\n var AlertPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAlert: BAlert\n }\n });\n\n // Math utilty functions\n var mathMin = Math.min;\n var mathMax = Math.max;\n var mathAbs = Math.abs;\n var mathCeil = Math.ceil;\n var mathFloor = Math.floor;\n var mathPow = Math.pow;\n var mathRound = Math.round;\n\n var CLASS_NAME$3 = 'b-aspect'; // --- Props ---\n\n var props$2i = makePropsConfigurable({\n // Accepts a number (i.e. `16 / 9`, `1`, `4 / 3`)\n // Or a string (i.e. '16/9', '16:9', '4:3' '1:1')\n aspect: makeProp(PROP_TYPE_NUMBER_STRING, '1:1'),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }, NAME_ASPECT); // --- Main component ---\n // @vue/component\n\n var BAspect = /*#__PURE__*/extend({\n name: NAME_ASPECT,\n mixins: [normalizeSlotMixin],\n props: props$2i,\n computed: {\n padding: function padding() {\n var aspect = this.aspect;\n var ratio = 1;\n\n if (RX_ASPECT.test(aspect)) {\n // Width and/or Height can be a decimal value below `1`, so\n // we only fallback to `1` if the value is `0` or `NaN`\n var _aspect$split$map = aspect.split(RX_ASPECT_SEPARATOR).map(function (v) {\n return toFloat(v) || 1;\n }),\n _aspect$split$map2 = _slicedToArray(_aspect$split$map, 2),\n width = _aspect$split$map2[0],\n height = _aspect$split$map2[1];\n\n ratio = width / height;\n } else {\n ratio = toFloat(aspect) || 1;\n }\n\n return \"\".concat(100 / mathAbs(ratio), \"%\");\n }\n },\n render: function render(h) {\n var $sizer = h('div', {\n staticClass: \"\".concat(CLASS_NAME$3, \"-sizer flex-grow-1\"),\n style: {\n paddingBottom: this.padding,\n height: 0\n }\n });\n var $content = h('div', {\n staticClass: \"\".concat(CLASS_NAME$3, \"-content flex-grow-1 w-100 mw-100\"),\n style: {\n marginLeft: '-100%'\n }\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: \"\".concat(CLASS_NAME$3, \" d-flex\")\n }, [$sizer, $content]);\n }\n });\n\n var AspectPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAspect: BAspect\n }\n });\n\n function safeVueInstance(target) {\n if (!isVue3) {\n return target;\n }\n\n return new Proxy(target, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : undefined;\n }\n });\n }\n\n var ANCHOR_TAG = 'a'; // Method to replace reserved chars\n\n var encodeReserveReplacer = function encodeReserveReplacer(c) {\n return '%' + c.charCodeAt(0).toString(16);\n }; // Fixed encodeURIComponent which is more conformant to RFC3986:\n // - escapes [!'()*]\n // - preserve commas\n\n\n var encode = function encode(str) {\n return encodeURIComponent(toString(str)).replace(RX_ENCODE_REVERSE, encodeReserveReplacer).replace(RX_ENCODED_COMMA, ',');\n };\n\n var decode = decodeURIComponent; // Stringifies an object of query parameters\n // See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\n\n var stringifyQueryObj = function stringifyQueryObj(obj) {\n if (!isPlainObject(obj)) {\n return '';\n }\n\n var query = keys(obj).map(function (key) {\n var value = obj[key];\n\n if (isUndefined(value)) {\n return '';\n } else if (isNull(value)) {\n return encode(key);\n } else if (isArray(value)) {\n return value.reduce(function (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\n return results;\n }, []).join('&');\n } // Faster than string interpolation\n\n\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(function (x) {\n return x.length > 0;\n }).join('&');\n return query ? \"?\".concat(query) : '';\n };\n var parseQuery = function parseQuery(query) {\n var parsed = {};\n query = toString(query).trim().replace(RX_QUERY_START, '');\n\n if (!query) {\n return parsed;\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(RX_PLUS, ' ').split('=');\n var key = decode(parts.shift());\n var 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 return parsed;\n };\n var isLink$1 = function isLink(props) {\n return !!(props.href || props.to);\n };\n var isRouterLink = function isRouterLink(tag) {\n return !!(tag && !isTag(tag, 'a'));\n };\n var computeTag = function computeTag(_ref, thisOrParent) {\n var to = _ref.to,\n disabled = _ref.disabled,\n routerComponentName = _ref.routerComponentName;\n var hasRouter = !!safeVueInstance(thisOrParent).$router;\n var hasNuxt = !!safeVueInstance(thisOrParent).$nuxt;\n\n if (!hasRouter || hasRouter && (disabled || !to)) {\n return ANCHOR_TAG;\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\n\n return routerComponentName || (hasNuxt ? 'nuxt-link' : 'router-link');\n };\n var computeRel = function computeRel() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n target = _ref2.target,\n rel = _ref2.rel;\n\n return target === '_blank' && isNull(rel) ? 'noopener' : rel || null;\n };\n var computeHref = function computeHref() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n href = _ref3.href,\n to = _ref3.to;\n\n var tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ANCHOR_TAG;\n var fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '#';\n var toFallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n\n // Return `href` when explicitly provided\n if (href) {\n return href;\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\n\n if (isRouterLink(tag)) {\n return null;\n } // Fallback to `to` prop (if `to` is a string)\n\n\n if (isString(to)) {\n return to || toFallback;\n } // Fallback to `to.path' + `to.query` + `to.hash` prop (if `to` is an object)\n\n\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n var path = toString(to.path);\n var query = stringifyQueryObj(to.query);\n var hash = toString(to.hash);\n hash = !hash || hash.charAt(0) === '#' ? hash : \"#\".concat(hash);\n return \"\".concat(path).concat(query).concat(hash) || toFallback;\n } // If nothing is provided return the fallback\n\n\n return fallback;\n };\n\n // Base attributes needed on all icons\n\n var BASE_ATTRS = {\n viewBox: '0 0 16 16',\n width: '1em',\n height: '1em',\n focusable: 'false',\n role: 'img',\n 'aria-label': 'icon'\n }; // Attributes that are nulled out when stacked\n\n var STACKED_ATTRS = {\n width: null,\n height: null,\n focusable: null,\n role: null,\n 'aria-label': null\n }; // --- Props ---\n\n var props$2h = {\n animation: makeProp(PROP_TYPE_STRING),\n content: makeProp(PROP_TYPE_STRING),\n flipH: makeProp(PROP_TYPE_BOOLEAN, false),\n flipV: makeProp(PROP_TYPE_BOOLEAN, false),\n fontScale: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n rotate: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n scale: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n shiftH: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n shiftV: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false),\n title: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n }; // --- Main component ---\n // Shared private base component to reduce bundle/runtime size\n // @vue/component\n\n var BVIconBase = /*#__PURE__*/extend({\n name: NAME_ICON_BASE,\n functional: true,\n props: props$2h,\n render: function render(h, _ref) {\n var _class;\n\n var data = _ref.data,\n props = _ref.props,\n children = _ref.children;\n var animation = props.animation,\n content = props.content,\n flipH = props.flipH,\n flipV = props.flipV,\n stacked = props.stacked,\n title = props.title,\n variant = props.variant;\n var fontScale = mathMax(toFloat(props.fontScale, 1), 0) || 1;\n var scale = mathMax(toFloat(props.scale, 1), 0) || 1;\n var rotate = toFloat(props.rotate, 0);\n var shiftH = toFloat(props.shiftH, 0);\n var shiftV = toFloat(props.shiftV, 0); // Compute the transforms\n // Note that order is important as SVG transforms are applied in order from\n // left to right and we want flipping/scale to occur before rotation\n // Note shifting is applied separately\n // Assumes that the viewbox is `0 0 16 16` (`8 8` is the center)\n\n var hasScale = flipH || flipV || scale !== 1;\n var hasTransforms = hasScale || rotate;\n var hasShift = shiftH || shiftV;\n var hasContent = !isUndefinedOrNull(content);\n var transforms = [hasTransforms ? 'translate(8 8)' : null, hasScale ? \"scale(\".concat((flipH ? -1 : 1) * scale, \" \").concat((flipV ? -1 : 1) * scale, \")\") : null, rotate ? \"rotate(\".concat(rotate, \")\") : null, hasTransforms ? 'translate(-8 -8)' : null].filter(identity); // We wrap the content in a `` for handling the transforms (except shift)\n\n var $inner = h('g', {\n attrs: {\n transform: transforms.join(' ') || null\n },\n domProps: hasContent ? {\n innerHTML: content || ''\n } : {}\n }, children); // If needed, we wrap in an additional `` in order to handle the shifting\n\n if (hasShift) {\n $inner = h('g', {\n attrs: {\n transform: \"translate(\".concat(16 * shiftH / 16, \" \").concat(-16 * shiftV / 16, \")\")\n }\n }, [$inner]);\n } // Wrap in an additional `` for proper animation handling if stacked\n\n\n if (stacked) {\n $inner = h('g', [$inner]);\n }\n\n var $title = title ? h('title', title) : null;\n var $content = [$title, $inner].filter(identity);\n return h('svg', a({\n staticClass: 'b-icon bi',\n class: (_class = {}, _defineProperty(_class, \"text-\".concat(variant), variant), _defineProperty(_class, \"b-icon-animation-\".concat(animation), animation), _class),\n attrs: BASE_ATTRS,\n style: stacked ? {} : {\n fontSize: fontScale === 1 ? null : \"\".concat(fontScale * 100, \"%\")\n }\n }, // Merge in user supplied data\n data, // If icon is stacked, null-out some attrs\n stacked ? {\n attrs: STACKED_ATTRS\n } : {}, // These cannot be overridden by users\n {\n attrs: {\n xmlns: stacked ? null : 'http://www.w3.org/2000/svg',\n fill: 'currentColor'\n }\n }), $content);\n }\n });\n\n var iconProps$1 = omit(props$2h, ['content']);\n /**\n * Icon component generator function\n *\n * @param {string} icon name (minus the leading `BIcon`)\n * @param {string} raw `innerHTML` for SVG\n * @return {VueComponent}\n */\n\n var makeIcon = function makeIcon(name, content) {\n // For performance reason we pre-compute some values, so that\n // they are not computed on each render of the icon component\n var kebabName = kebabCase(name);\n var iconName = \"BIcon\".concat(pascalCase(name));\n var iconNameClass = \"bi-\".concat(kebabName);\n var iconTitle = kebabName.replace(/-/g, ' ');\n var svgContent = trim(content || '');\n return /*#__PURE__*/extend({\n name: iconName,\n functional: true,\n props: iconProps$1,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props;\n return h(BVIconBase, a( // Defaults\n {\n props: {\n title: iconTitle\n },\n attrs: {\n 'aria-label': iconTitle\n }\n }, // User data\n data, // Required data\n {\n staticClass: iconNameClass,\n props: _objectSpread2$3(_objectSpread2$3({}, props), {}, {\n content: svgContent\n })\n }));\n }\n });\n };\n\n // --- BEGIN AUTO-GENERATED FILE ---\n var BIconBlank=/*#__PURE__*/makeIcon('Blank','');// --- Bootstrap Icons ---\n var BIconCalendar=/*#__PURE__*/makeIcon('Calendar','');// eslint-disable-next-line\n var BIconCalendarFill=/*#__PURE__*/makeIcon('CalendarFill','');// eslint-disable-next-line\n var BIconChevronBarLeft=/*#__PURE__*/makeIcon('ChevronBarLeft','');// eslint-disable-next-line\n var BIconChevronDoubleLeft=/*#__PURE__*/makeIcon('ChevronDoubleLeft','');// eslint-disable-next-line\n var BIconChevronDown=/*#__PURE__*/makeIcon('ChevronDown','');// eslint-disable-next-line\n var BIconChevronLeft=/*#__PURE__*/makeIcon('ChevronLeft','');// eslint-disable-next-line\n var BIconChevronUp=/*#__PURE__*/makeIcon('ChevronUp','');// eslint-disable-next-line\n var BIconCircleFill=/*#__PURE__*/makeIcon('CircleFill','');// eslint-disable-next-line\n var BIconClock=/*#__PURE__*/makeIcon('Clock','');// eslint-disable-next-line\n var BIconClockFill=/*#__PURE__*/makeIcon('ClockFill','');// eslint-disable-next-line\n var BIconDash=/*#__PURE__*/makeIcon('Dash','');// eslint-disable-next-line\n var BIconPersonFill=/*#__PURE__*/makeIcon('PersonFill','');// eslint-disable-next-line\n var BIconPlus=/*#__PURE__*/makeIcon('Plus','');// eslint-disable-next-line\n var BIconStar=/*#__PURE__*/makeIcon('Star','');// eslint-disable-next-line\n var BIconStarFill=/*#__PURE__*/makeIcon('StarFill','');// eslint-disable-next-line\n var BIconStarHalf=/*#__PURE__*/makeIcon('StarHalf','');// eslint-disable-next-line\n var BIconX=/*#__PURE__*/makeIcon('X','');// eslint-disable-next-line\n // --- END AUTO-GENERATED FILE ---\n\n var findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return Vue__default['default'].component(iconName);\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components && components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n }; // --- Props ---\n\n\n var iconProps = omit(props$2h, ['content']);\n var props$2g = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, iconProps), {}, {\n icon: makeProp(PROP_TYPE_STRING)\n })), NAME_ICON); // --- Main component ---\n // Helper BIcon component\n // Requires the requested icon component to be installed\n // @vue/component\n\n var BIcon = /*#__PURE__*/extend({\n name: NAME_ICON,\n functional: true,\n props: props$2g,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, a(data, {\n props: pluckProps(iconProps, props)\n }));\n }\n });\n\n var CODE_BACKSPACE = 8;\n var CODE_DELETE = 46;\n var CODE_DOWN = 40;\n var CODE_END = 35;\n var CODE_ENTER = 13;\n var CODE_ESC = 27;\n var CODE_HOME = 36;\n var CODE_LEFT = 37;\n var CODE_PAGEDOWN = 34;\n var CODE_PAGEUP = 33;\n var CODE_RIGHT = 39;\n var CODE_SPACE = 32;\n var CODE_UP = 38;\n\n // Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\n\n var compareArrays = function compareArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var equal = true;\n\n for (var i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n\n return equal;\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 */\n\n\n var looseEqual = function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aValidType = isDate(a);\n var bValidType = isDate(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n\n aValidType = isArray(a);\n bValidType = isArray(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false;\n }\n\n aValidType = isObject(a);\n bValidType = isObject(b);\n\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false;\n }\n\n var aKeysCount = keys(a).length;\n var bKeysCount = keys(b).length;\n\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n\n for (var key in a) {\n var aHasKey = hasOwnProperty(a, key);\n var bHasKey = hasOwnProperty(b, key);\n\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n\n return String(a) === String(b);\n };\n\n var isEmpty = function isEmpty(value) {\n return !value || keys(value).length === 0;\n };\n\n var makePropWatcher = function makePropWatcher(propName) {\n return {\n handler: function handler(newValue, oldValue) {\n if (looseEqual(newValue, oldValue)) {\n return;\n }\n\n if (isEmpty(newValue) || isEmpty(oldValue)) {\n this[propName] = cloneDeep(newValue);\n return;\n }\n\n for (var key in oldValue) {\n if (!hasOwnProperty(newValue, key)) {\n this.$delete(this.$data[propName], key);\n }\n }\n\n for (var _key in newValue) {\n this.$set(this.$data[propName], _key, newValue[_key]);\n }\n }\n };\n };\n var makePropCacheMixin = function makePropCacheMixin(propName, proxyPropName) {\n return extend({\n data: function data() {\n return _defineProperty({}, proxyPropName, cloneDeep(this[propName]));\n },\n watch: _defineProperty({}, propName, makePropWatcher(proxyPropName))\n });\n };\n\n var attrsMixinVue2 = makePropCacheMixin('$attrs', 'bvAttrs');\n var attrsMixinVue3 = extend({\n computed: {\n bvAttrs: function bvAttrs() {\n var bvAttrs = _objectSpread2$3({}, this.$attrs);\n\n Object.keys(bvAttrs).forEach(function (key) {\n if (bvAttrs[key] === undefined) {\n delete bvAttrs[key];\n }\n });\n return bvAttrs;\n }\n }\n });\n var attrsMixin = isVue3 ? attrsMixinVue3 : attrsMixinVue2;\n\n var getEventRoot = function getEventRoot(vm) {\n return vm.$root.$options.bvEventRoot || vm.$root;\n };\n\n var PROP$3 = '$_rootListeners'; // --- Mixin ---\n // @vue/component\n\n var listenOnRootMixin = extend({\n computed: {\n bvEventRoot: function bvEventRoot() {\n return getEventRoot(this);\n }\n },\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP$3] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP$3] || {}).forEach(function (event) {\n _this[PROP$3][event].forEach(function (callback) {\n _this.listenOffRoot(event, callback);\n });\n });\n this[PROP$3] = null;\n },\n methods: {\n registerRootListener: function registerRootListener(event, callback) {\n if (this[PROP$3]) {\n this[PROP$3][event] = this[PROP$3][event] || [];\n\n if (!arrayIncludes(this[PROP$3][event], callback)) {\n this[PROP$3][event].push(callback);\n }\n }\n },\n unregisterRootListener: function unregisterRootListener(event, callback) {\n if (this[PROP$3] && this[PROP$3][event]) {\n this[PROP$3][event] = this[PROP$3][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n\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, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n if (this.bvEventRoot) {\n this.bvEventRoot.$on(event, callback);\n this.registerRootListener(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, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n if (this.bvEventRoot) {\n var _callback = function _callback() {\n _this2.unregisterRootListener(_callback); // eslint-disable-next-line node/no-callback-literal\n\n\n callback.apply(void 0, arguments);\n };\n\n this.bvEventRoot.$once(event, _callback);\n this.registerRootListener(event, _callback);\n }\n },\n\n /**\n * Safely unregister event listeners from the root Vue node\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOffRoot: function listenOffRoot(event, callback) {\n this.unregisterRootListener(event, callback);\n\n if (this.bvEventRoot) {\n this.bvEventRoot.$off(event, callback);\n }\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot: function emitOnRoot(event) {\n if (this.bvEventRoot) {\n var _this$bvEventRoot;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$bvEventRoot = this.bvEventRoot).$emit.apply(_this$bvEventRoot, [event].concat(args));\n }\n }\n }\n });\n\n var listenersMixinVue2 = makePropCacheMixin('$listeners', 'bvListeners');\n var listenersMixinVue3 = extend({\n data: function data() {\n return {\n bvListeners: {}\n };\n },\n created: function created() {\n this.bvListeners = _objectSpread2$3({}, this.$listeners);\n },\n beforeUpdate: function beforeUpdate() {\n this.bvListeners = _objectSpread2$3({}, this.$listeners);\n }\n });\n var listenersMixin = isVue3 ? listenersMixinVue3 : listenersMixinVue2;\n\n var ROOT_EVENT_NAME_CLICKED = getRootEventName(NAME_LINK, 'clicked'); // --- Props ---\n // `` specific props\n\n var routerLinkProps = {\n activeClass: makeProp(PROP_TYPE_STRING),\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n event: makeProp(PROP_TYPE_ARRAY_STRING),\n exact: makeProp(PROP_TYPE_BOOLEAN, false),\n exactActiveClass: makeProp(PROP_TYPE_STRING),\n exactPath: makeProp(PROP_TYPE_BOOLEAN, false),\n exactPathActiveClass: makeProp(PROP_TYPE_STRING),\n replace: makeProp(PROP_TYPE_BOOLEAN, false),\n routerTag: makeProp(PROP_TYPE_STRING),\n to: makeProp(PROP_TYPE_OBJECT_STRING)\n }; // `` specific props\n\n var 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 }; // All `` props\n\n var props$2f = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, nuxtLinkProps), 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 })), NAME_LINK); // --- Main component ---\n // @vue/component\n\n var BLink = /*#__PURE__*/extend({\n name: NAME_LINK,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props$2f,\n computed: {\n computedTag: function computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n disabled = this.disabled,\n routerComponentName = this.routerComponentName;\n return computeTag({\n to: to,\n disabled: disabled,\n routerComponentName: routerComponentName\n }, this);\n },\n isRouterLink: function isRouterLink$1() {\n return isRouterLink(this.computedTag);\n },\n computedRel: function computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var target = this.target,\n rel = this.rel;\n return computeRel({\n target: target,\n rel: rel\n });\n },\n computedHref: function computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n var to = this.to,\n href = this.href;\n return computeHref({\n to: to,\n href: href\n }, this.computedTag);\n },\n computedProps: function computedProps() {\n var event = this.event,\n prefetch = this.prefetch,\n routerTag = this.routerTag;\n return this.isRouterLink ? _objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, pluckProps(omit(_objectSpread2$3(_objectSpread2$3({}, routerLinkProps), this.computedTag === 'nuxt-link' ? nuxtLinkProps : {}), ['event', 'prefetch', 'routerTag']), this)), event ? {\n event: event\n } : {}), isBoolean(prefetch) ? {\n prefetch: prefetch\n } : {}), routerTag ? {\n tag: routerTag\n } : {}) : {};\n },\n computedAttrs: function computedAttrs() {\n var bvAttrs = this.bvAttrs,\n href = this.computedHref,\n rel = this.computedRel,\n disabled = this.disabled,\n target = this.target,\n routerTag = this.routerTag,\n isRouterLink = this.isRouterLink;\n return _objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, bvAttrs), href ? {\n href: href\n } : {}), isRouterLink && routerTag && !isTag(routerTag, 'a') ? {} : {\n rel: rel,\n target: target\n }), {}, {\n tabindex: disabled ? '-1' : isUndefined(bvAttrs.tabindex) ? null : bvAttrs.tabindex,\n 'aria-disabled': disabled ? 'true' : null\n });\n },\n computedListeners: function computedListeners() {\n return _objectSpread2$3(_objectSpread2$3({}, 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: function onClick(event) {\n var _arguments = arguments;\n var eventIsEvent = isEvent(event);\n var isRouterLink = this.isRouterLink;\n var suppliedHandler = this.bvListeners.click;\n\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, {\n immediatePropagation: true\n });\n } else {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', event)` on its Vue instance\n //\n // seems not to be required for Vue3 compat build\n\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink) {\n var _event$currentTarget$;\n\n (_event$currentTarget$ = event.currentTarget.__vue__) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.$emit(EVENT_NAME_CLICK, event);\n } // Call the suppliedHandler(s), if any provided\n\n\n concat(suppliedHandler).filter(function (h) {\n return isFunction$1(h);\n }).forEach(function (handler) {\n handler.apply(void 0, _toConsumableArray$1(_arguments));\n }); // Emit the global `$root` click event\n\n this.emitOnRoot(ROOT_EVENT_NAME_CLICKED, event); // TODO: Remove deprecated 'clicked::link' event with next major release\n\n this.emitOnRoot('clicked::link', event);\n } // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n\n\n if (eventIsEvent && !isRouterLink && this.computedHref === '#') {\n stopEvent(event, {\n propagation: false\n });\n }\n },\n focus: function focus() {\n attemptFocus(this.$el);\n },\n blur: function blur() {\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n var active = this.active,\n disabled = this.disabled;\n return h(this.computedTag, _defineProperty({\n class: {\n active: active,\n disabled: disabled\n },\n attrs: this.computedAttrs,\n props: this.computedProps\n }, this.isRouterLink ? 'nativeOn' : 'on', this.computedListeners), this.normalizeSlot());\n }\n });\n\n var linkProps$7 = omit(props$2f, ['event', 'routerTag']);\n delete linkProps$7.href.default;\n delete linkProps$7.to.default;\n var props$2e = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, linkProps$7), {}, {\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 })), NAME_BUTTON); // --- Helper methods ---\n // Focus handler for toggle buttons\n // Needs class of 'focus' when focused\n\n var handleFocus = function 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 }; // Is the requested button a link?\n // If tag prop is set to `a`, we use a to get proper disabled handling\n\n\n var isLink = function isLink(props) {\n return isLink$1(props) || isTag(props.tag, 'a');\n }; // Is the button to be a toggle button?\n\n\n var isToggle = function isToggle(props) {\n return isBoolean(props.pressed);\n }; // Is the button \"really\" a button?\n\n\n var isButton = function isButton(props) {\n return !(isLink(props) || props.tag && !isTag(props.tag, 'button'));\n }; // Is the requested tag not a button or link?\n\n\n var isNonStandardTag$1 = function isNonStandardTag(props) {\n return !isLink(props) && !isButton(props);\n }; // Compute required classes (non static classes)\n\n\n var computeClass = function computeClass(props) {\n var _ref;\n\n return [\"btn-\".concat(props.variant || 'secondary'), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(props.size), props.size), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, \"disabled\", props.disabled), _defineProperty(_ref, \"active\", props.pressed), _ref)];\n }; // Compute the link props to pass to b-link (if required)\n\n\n var computeLinkProps = function computeLinkProps(props) {\n return isLink(props) ? pluckProps(linkProps$7, props) : {};\n }; // Compute the attributes for a button\n\n\n var computeAttrs = function computeAttrs(props, data) {\n var button = isButton(props);\n var link = isLink(props);\n var toggle = isToggle(props);\n var nonStandardTag = isNonStandardTag$1(props);\n var hashLink = link && props.href === '#';\n var role = data.attrs && data.attrs.role ? data.attrs.role : null;\n var tabindex = data.attrs ? data.attrs.tabindex : null;\n\n if (nonStandardTag || hashLink) {\n tabindex = '0';\n }\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 }; // --- Main component ---\n // @vue/component\n\n\n var BButton = /*#__PURE__*/extend({\n name: NAME_BUTTON,\n functional: true,\n props: props$2e,\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n listeners = _ref2.listeners,\n children = _ref2.children;\n var toggle = isToggle(props);\n var link = isLink(props);\n var nonStandardTag = isNonStandardTag$1(props);\n var hashLink = link && props.href === '#';\n var on = {\n keydown: function 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\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return;\n }\n\n var keyCode = event.keyCode; // Add CODE_SPACE handler for `href=\"#\"` and CODE_ENTER handler for non-standard tags\n\n if (keyCode === CODE_SPACE || keyCode === CODE_ENTER && nonStandardTag) {\n var target = event.currentTarget || event.target;\n stopEvent(event, {\n propagation: false\n });\n target.click();\n }\n },\n click: function 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(function (fn) {\n if (isFunction$1(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 var componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on: on\n };\n return h(link ? BLink : props.tag, a(_objectSpread2$3(_objectSpread2$3({}, data), {}, {\n props: undefined\n }), componentData), children);\n }\n });\n\n var CLASS_NAME$2 = 'b-avatar';\n var SIZES = ['sm', null, 'lg'];\n var FONT_SIZE_SCALE = 0.4;\n var BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\n var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric$1(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n }; // --- Props ---\n\n var linkProps$6 = omit(props$2f, ['active', 'event', 'routerTag']);\n var props$2d = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, linkProps$6), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n })), NAME_AVATAR); // --- Main component ---\n // @vue/component\n\n var BAvatar = /*#__PURE__*/extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n getBvAvatarGroup: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n props: props$2d,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n bvAvatarGroup: function bvAvatarGroup() {\n return this.getBvAvatarGroup();\n },\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink$1(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME$2,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME$2, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread2$3(_objectSpread2$3({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps$6, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n });\n\n var props$2c = makePropsConfigurable({\n overlap: makeProp(PROP_TYPE_NUMBER_STRING, 0.3),\n // Child avatars will prefer this prop (if set) over their own\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n // Child avatars will always use this over their own size\n size: makeProp(PROP_TYPE_STRING),\n // Child avatars will prefer this prop (if set) over their own\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n // Child avatars will prefer this variant over their own\n variant: makeProp(PROP_TYPE_STRING)\n }, NAME_AVATAR_GROUP); // --- Main component ---\n // @vue/component\n\n var BAvatarGroup = /*#__PURE__*/extend({\n name: NAME_AVATAR_GROUP,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvAvatarGroup: function getBvAvatarGroup() {\n return _this;\n }\n };\n },\n props: props$2c,\n computed: {\n computedSize: function computedSize() {\n return computeSize(this.size);\n },\n overlapScale: function overlapScale() {\n return mathMin(mathMax(toFloat(this.overlap, 0), 0), 1) / 2;\n },\n paddingStyle: function paddingStyle() {\n var value = this.computedSize;\n value = value ? \"calc(\".concat(value, \" * \").concat(this.overlapScale, \")\") : null;\n return value ? {\n paddingLeft: value,\n paddingRight: value\n } : {};\n }\n },\n render: function render(h) {\n var $inner = h('div', {\n staticClass: 'b-avatar-group-inner',\n style: this.paddingStyle\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: 'b-avatar-group',\n attrs: {\n role: 'group'\n }\n }, [$inner]);\n }\n });\n\n var AvatarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BAvatar: BAvatar,\n BAvatarGroup: BAvatarGroup\n }\n });\n\n var linkProps$5 = omit(props$2f, ['event', 'routerTag']);\n delete linkProps$5.href.default;\n delete linkProps$5.to.default;\n var props$2b = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, linkProps$5), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n })), NAME_BADGE); // --- Main component ---\n // @vue/component\n\n var BBadge = /*#__PURE__*/extend({\n name: NAME_BADGE,\n functional: true,\n props: props$2b,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = props.active,\n disabled = props.disabled;\n var link = isLink$1(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, a(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps$5, props) : {}\n }), children);\n }\n });\n\n var BadgePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BBadge: BBadge\n }\n });\n\n var stripTags = function stripTags() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(text).replace(RX_HTML_TAGS, '');\n }; // Generate a `domProps` object for either `innerHTML`, `textContent` or an empty object\n\n var htmlOrText = function htmlOrText(innerHTML, textContent) {\n return innerHTML ? {\n innerHTML: innerHTML\n } : textContent ? {\n textContent: textContent\n } : {};\n };\n\n var props$2a = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, omit(props$2f, ['event', 'routerTag'])), {}, {\n ariaCurrent: makeProp(PROP_TYPE_STRING, 'location'),\n html: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING)\n })), NAME_BREADCRUMB_LINK); // --- Main component ---\n // @vue/component\n\n var BBreadcrumbLink = /*#__PURE__*/extend({\n name: NAME_BREADCRUMB_LINK,\n functional: true,\n props: props$2a,\n render: function render(h, _ref) {\n var suppliedProps = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = suppliedProps.active;\n var tag = active ? 'span' : BLink;\n var componentData = {\n attrs: {\n 'aria-current': active ? suppliedProps.ariaCurrent : null\n },\n props: pluckProps(props$2a, suppliedProps)\n };\n\n if (!children) {\n componentData.domProps = htmlOrText(suppliedProps.html, suppliedProps.text);\n }\n\n return h(tag, a(data, componentData), children);\n }\n });\n\n var props$29 = makePropsConfigurable(props$2a, NAME_BREADCRUMB_ITEM); // --- Main component ---\n // @vue/component\n\n var BBreadcrumbItem = /*#__PURE__*/extend({\n name: NAME_BREADCRUMB_ITEM,\n functional: true,\n props: props$29,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', a(data, {\n staticClass: 'breadcrumb-item',\n class: {\n active: props.active\n }\n }), [h(BBreadcrumbLink, {\n props: props\n }, children)]);\n }\n });\n\n var props$28 = makePropsConfigurable({\n items: makeProp(PROP_TYPE_ARRAY)\n }, NAME_BREADCRUMB); // --- Main component ---\n // @vue/component\n\n var BBreadcrumb = /*#__PURE__*/extend({\n name: NAME_BREADCRUMB,\n functional: true,\n props: props$28,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var items = props.items; // Build child nodes from items, if given\n\n var childNodes = children;\n\n if (isArray(items)) {\n var activeDefined = false;\n childNodes = items.map(function (item, idx) {\n if (!isObject(item)) {\n item = {\n text: toString(item)\n };\n } // Copy the value here so we can normalize it\n\n\n var _item = item,\n active = _item.active;\n\n if (active) {\n activeDefined = true;\n } // Auto-detect active by position in list\n\n\n if (!active && !activeDefined) {\n active = idx + 1 === items.length;\n }\n\n return h(BBreadcrumbItem, {\n props: _objectSpread2$3(_objectSpread2$3({}, item), {}, {\n active: active\n })\n });\n });\n }\n\n return h('ol', a(data, {\n staticClass: 'breadcrumb'\n }), childNodes);\n }\n });\n\n var BreadcrumbPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BBreadcrumb: BBreadcrumb,\n BBreadcrumbItem: BBreadcrumbItem,\n BBreadcrumbLink: BBreadcrumbLink\n }\n });\n\n var ButtonPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButton: BButton,\n BBtn: BButton,\n BButtonClose: BButtonClose,\n BBtnClose: BButtonClose\n }\n });\n\n var props$27 = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, pick$1(props$2e, ['size'])), {}, {\n ariaRole: makeProp(PROP_TYPE_STRING, 'group'),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_BUTTON_GROUP); // --- Main component ---\n // @vue/component\n\n var BButtonGroup = /*#__PURE__*/extend({\n name: NAME_BUTTON_GROUP,\n functional: true,\n props: props$27,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, a(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), props.size),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n });\n\n var ButtonGroupPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonGroup: BButtonGroup,\n BBtnGroup: BButtonGroup\n }\n });\n\n var ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // --- Props ---\n\n var props$26 = makePropsConfigurable({\n justify: makeProp(PROP_TYPE_BOOLEAN, false),\n keyNav: makeProp(PROP_TYPE_BOOLEAN, false)\n }, NAME_BUTTON_TOOLBAR); // --- Main component ---\n // @vue/component\n\n var BButtonToolbar = /*#__PURE__*/extend({\n name: NAME_BUTTON_TOOLBAR,\n mixins: [normalizeSlotMixin],\n props: props$26,\n mounted: function mounted() {\n // Pre-set the tabindexes if the markup does not include\n // `tabindex=\"-1\"` on the toolbar items\n if (this.keyNav) {\n this.getItems();\n }\n },\n methods: {\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el); // Ensure `tabindex=\"-1\"` is set on every item\n\n items.forEach(function (item) {\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n },\n focusFirst: function focusFirst() {\n var items = this.getItems();\n attemptFocus(items[0]);\n },\n focusPrev: function focusPrev(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n attemptFocus(items[0]);\n }\n },\n focusNext: function focusNext(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n attemptFocus(items[0]);\n }\n },\n focusLast: function focusLast() {\n var items = this.getItems().reverse();\n attemptFocus(items[0]);\n },\n onFocusin: function onFocusin(event) {\n var $el = this.$el;\n\n if (event.target === $el && !contains($el, event.relatedTarget)) {\n stopEvent(event);\n this.focusFirst(event);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (keyCode === CODE_UP || keyCode === CODE_LEFT) {\n stopEvent(event);\n shiftKey ? this.focusFirst(event) : this.focusPrev(event);\n } else if (keyCode === CODE_DOWN || keyCode === CODE_RIGHT) {\n stopEvent(event);\n shiftKey ? this.focusLast(event) : this.focusNext(event);\n }\n }\n },\n render: function render(h) {\n var keyNav = this.keyNav;\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: keyNav ? '0' : null\n },\n on: keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot()]);\n }\n });\n\n var ButtonToolbarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BButtonToolbar: BButtonToolbar,\n BBtnToolbar: BButtonToolbar\n }\n });\n\n var CALENDAR_GREGORY = 'gregory';\n var CALENDAR_LONG = 'long';\n var CALENDAR_NARROW = 'narrow';\n var CALENDAR_SHORT = 'short';\n var DATE_FORMAT_2_DIGIT = '2-digit';\n var DATE_FORMAT_NUMERIC = 'numeric';\n\n // Create or clone a date (`new Date(...)` shortcut)\n\n var createDate = function createDate() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(Date, args);\n }; // Parse a date sting, or Date object, into a Date object (with no time information)\n\n var parseYMD = function parseYMD(date) {\n if (isString(date) && RX_DATE.test(date.trim())) {\n var _date$split$map = date.split(RX_DATE_SPLIT).map(function (v) {\n return toInteger(v, 1);\n }),\n _date$split$map2 = _slicedToArray(_date$split$map, 3),\n year = _date$split$map2[0],\n month = _date$split$map2[1],\n day = _date$split$map2[2];\n\n return createDate(year, month - 1, day);\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n return null;\n }; // Format a date object as `YYYY-MM-DD` format\n\n var formatYMD = function formatYMD(date) {\n date = parseYMD(date);\n\n if (!date) {\n return null;\n }\n\n var year = date.getFullYear();\n var month = \"0\".concat(date.getMonth() + 1).slice(-2);\n var day = \"0\".concat(date.getDate()).slice(-2);\n return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n }; // Given a locale (or locales), resolve the browser available locale\n\n var resolveLocale = function resolveLocale(locales)\n /* istanbul ignore next */\n {\n var calendar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CALENDAR_GREGORY;\n locales = concat(locales).filter(identity);\n var fmt = new Intl.DateTimeFormat(locales, {\n calendar: calendar\n });\n return fmt.resolvedOptions().locale;\n }; // Create a `Intl.DateTimeFormat` formatter function\n\n var createDateFormatter = function createDateFormatter(locale, options)\n /* istanbul ignore next */\n {\n var dtf = new Intl.DateTimeFormat(locale, options);\n return dtf.format;\n }; // Determine if two dates are the same date (ignoring time portion)\n\n var datesEqual = function datesEqual(date1, date2) {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2);\n }; // --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\n var firstDateOfMonth = function firstDateOfMonth(date) {\n date = createDate(date);\n date.setDate(1);\n return date;\n };\n var lastDateOfMonth = function lastDateOfMonth(date) {\n date = createDate(date);\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n return date;\n };\n var addYears = function addYears(date, numberOfYears) {\n date = createDate(date);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear() + numberOfYears); // Handle Feb 29th for leap years\n\n if (date.getMonth() !== month) {\n date.setDate(0);\n }\n\n return date;\n };\n var oneMonthAgo = function oneMonthAgo(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month - 1); // Handle when days in month are different\n\n if (date.getMonth() === month) {\n date.setDate(0);\n }\n\n return date;\n };\n var oneMonthAhead = function oneMonthAhead(date) {\n date = createDate(date);\n var month = date.getMonth();\n date.setMonth(month + 1); // Handle when days in month are different\n\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0);\n }\n\n return date;\n };\n var oneYearAgo = function oneYearAgo(date) {\n return addYears(date, -1);\n };\n var oneYearAhead = function oneYearAhead(date) {\n return addYears(date, 1);\n };\n var oneDecadeAgo = function oneDecadeAgo(date) {\n return addYears(date, -10);\n };\n var oneDecadeAhead = function oneDecadeAhead(date) {\n return addYears(date, 10);\n }; // Helper function to constrain a date between two values\n // Always returns a `Date` object or `null` if no date passed\n\n var constrainDate = function constrainDate(date) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date);\n min = parseYMD(min) || date;\n max = parseYMD(max) || date; // Return a new `Date` object (or `null`)\n\n return date ? date < min ? min : date > max ? max : date : null;\n };\n\n // Localization utilities\n\n var RTL_LANGS = ['ar', 'az', 'ckb', 'fa', 'he', 'ks', 'lrc', 'mzn', 'ps', 'sd', 'te', 'ug', 'ur', 'yi'].map(function (locale) {\n return locale.toLowerCase();\n }); // Returns true if the locale is RTL\n\n var isLocaleRTL = function isLocaleRTL(locale) {\n // Determines if the locale is RTL (only single locale supported)\n var parts = toString(locale).toLowerCase().replace(RX_STRIP_LOCALE_MODS, '').split('-');\n var locale1 = parts.slice(0, 2).join('-');\n var locale2 = parts[0];\n return arrayIncludes(RTL_LANGS, locale1) || arrayIncludes(RTL_LANGS, locale2);\n };\n\n // SSR safe client-side ID attribute generation\n\n var props$25 = {\n id: makeProp(PROP_TYPE_STRING)\n }; // --- Mixin ---\n // @vue/component\n\n var idMixin = extend({\n props: props$25,\n data: function data() {\n return {\n localId_: null\n };\n },\n computed: {\n safeId: function 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 var id = this.id || this.localId_; // 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\n var fn = function fn(suffix) {\n if (!id) {\n return null;\n }\n\n suffix = String(suffix || '').replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n };\n\n return fn;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // `mounted()` only occurs client-side\n this.$nextTick(function () {\n // Update DOM with auto-generated ID after mount\n // to prevent SSR hydration errors\n _this.localId_ = \"__BVID__\".concat(_this[COMPONENT_UID_KEY]);\n });\n }\n });\n\n var _watch$j;\n\n var _makeModelMixin$j = makeModelMixin('value', {\n type: PROP_TYPE_DATE_STRING\n }),\n modelMixin$i = _makeModelMixin$j.mixin,\n modelProps$i = _makeModelMixin$j.props,\n MODEL_PROP_NAME$i = _makeModelMixin$j.prop,\n MODEL_EVENT_NAME$i = _makeModelMixin$j.event; // --- Props ---\n\n\n var props$24 = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$25), modelProps$i), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n // Makes calendar the full width of its parent container\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n dateDisabledFn: makeProp(PROP_TYPE_FUNCTION),\n // `Intl.DateTimeFormat` object\n dateFormatOptions: makeProp(PROP_TYPE_OBJECT, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n day: DATE_FORMAT_NUMERIC,\n weekday: CALENDAR_LONG\n }),\n // Function to set a class of (classes) on the date cell\n // if passed a string or an array\n // TODO:\n // If the function returns an object, look for class prop for classes,\n // and other props for handling events/details/descriptions\n dateInfoFn: makeProp(PROP_TYPE_FUNCTION),\n // 'ltr', 'rtl', or `null` (for auto detect)\n direction: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n // When `true`, renders a comment node, but keeps the component instance active\n // Mainly for , so that we can get the component's value and locale\n // But we might just use separate date formatters, using the resolved locale\n // (adjusted for the gregorian calendar)\n hidden: makeProp(PROP_TYPE_BOOLEAN, false),\n // When `true` makes the selected date header `sr-only`\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`max`)\n initialDate: makeProp(PROP_TYPE_DATE_STRING),\n // Labels for buttons and keyboard shortcuts\n labelCalendar: makeProp(PROP_TYPE_STRING, 'Calendar'),\n labelCurrentMonth: makeProp(PROP_TYPE_STRING, 'Current month'),\n labelHelp: makeProp(PROP_TYPE_STRING, 'Use cursor keys to navigate calendar dates'),\n labelNav: makeProp(PROP_TYPE_STRING, 'Calendar navigation'),\n labelNextDecade: makeProp(PROP_TYPE_STRING, 'Next decade'),\n labelNextMonth: makeProp(PROP_TYPE_STRING, 'Next month'),\n labelNextYear: makeProp(PROP_TYPE_STRING, 'Next year'),\n labelNoDateSelected: makeProp(PROP_TYPE_STRING, 'No date selected'),\n labelPrevDecade: makeProp(PROP_TYPE_STRING, 'Previous decade'),\n labelPrevMonth: makeProp(PROP_TYPE_STRING, 'Previous month'),\n labelPrevYear: makeProp(PROP_TYPE_STRING, 'Previous year'),\n labelSelected: makeProp(PROP_TYPE_STRING, 'Selected date'),\n labelToday: makeProp(PROP_TYPE_STRING, 'Today'),\n // Locale(s) to use\n // Default is to use page/browser default setting\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_DATE_STRING),\n min: makeProp(PROP_TYPE_DATE_STRING),\n // Variant color to use for the navigation buttons\n navButtonVariant: makeProp(PROP_TYPE_STRING, 'secondary'),\n // Disable highlighting today's date\n noHighlightToday: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n roleDescription: makeProp(PROP_TYPE_STRING),\n // Variant color to use for the selected date\n selectedVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n // When `true` enables the decade navigation buttons\n showDecadeNav: makeProp(PROP_TYPE_BOOLEAN, false),\n // Day of week to start calendar on\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n startWeekday: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n // Variant color to use for today's date (defaults to `selectedVariant`)\n todayVariant: makeProp(PROP_TYPE_STRING),\n // Always return the `v-model` value as a date object\n valueAsDate: makeProp(PROP_TYPE_BOOLEAN, false),\n // Format of the weekday names at the top of the calendar\n // `short` is typically a 3 letter abbreviation,\n // `narrow` is typically a single letter\n // `long` is the full week day name\n // Although some locales may override this (i.e `ar`, etc.)\n weekdayHeaderFormat: makeProp(PROP_TYPE_STRING, CALENDAR_SHORT, function (value) {\n return arrayIncludes([CALENDAR_LONG, CALENDAR_SHORT, CALENDAR_NARROW], value);\n }),\n // Has no effect if prop `block` is set\n width: makeProp(PROP_TYPE_STRING, '270px')\n })), NAME_CALENDAR); // --- Main component ---\n // @vue/component\n\n var BCalendar = extend({\n name: NAME_CALENDAR,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin$i, normalizeSlotMixin],\n props: props$24,\n data: function data() {\n var selected = formatYMD(this[MODEL_PROP_NAME$i]) || '';\n return {\n // Selected date\n selectedYMD: selected,\n // Date in calendar grid that has `tabindex` of `0`\n activeYMD: selected || formatYMD(constrainDate(this.initialDate || this.getToday()), this.min, this.max),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n };\n },\n computed: {\n valueId: function valueId() {\n return this.safeId();\n },\n widgetId: function widgetId() {\n return this.safeId('_calendar-wrapper_');\n },\n navId: function navId() {\n return this.safeId('_calendar-nav_');\n },\n gridId: function gridId() {\n return this.safeId('_calendar-grid_');\n },\n gridCaptionId: function gridCaptionId() {\n return this.safeId('_calendar-grid-caption_');\n },\n gridHelpId: function gridHelpId() {\n return this.safeId('_calendar-grid-help_');\n },\n activeId: function activeId() {\n return this.activeYMD ? this.safeId(\"_cell-\".concat(this.activeYMD, \"_\")) : null;\n },\n // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object\n selectedDate: function selectedDate() {\n // Selected as a `Date` object\n return parseYMD(this.selectedYMD);\n },\n activeDate: function activeDate() {\n // Active as a `Date` object\n return parseYMD(this.activeYMD);\n },\n computedMin: function computedMin() {\n return parseYMD(this.min);\n },\n computedMax: function computedMax() {\n return parseYMD(this.max);\n },\n computedWeekStarts: function computedWeekStarts() {\n // `startWeekday` is a prop (constrained to `0` through `6`)\n return mathMax(toInteger(this.startWeekday, 0), 0) % 7;\n },\n computedLocale: function computedLocale() {\n // Returns the resolved locale used by the calendar\n return resolveLocale(concat(this.locale).filter(identity), CALENDAR_GREGORY);\n },\n computedDateDisabledFn: function computedDateDisabledFn() {\n var dateDisabledFn = this.dateDisabledFn;\n return hasPropFunction(dateDisabledFn) ? dateDisabledFn : function () {\n return false;\n };\n },\n // TODO: Change `dateInfoFn` to handle events and notes as well as classes\n computedDateInfoFn: function computedDateInfoFn() {\n var dateInfoFn = this.dateInfoFn;\n return hasPropFunction(dateInfoFn) ? dateInfoFn : function () {\n return {};\n };\n },\n calendarLocale: function calendarLocale() {\n // This locale enforces the gregorian calendar (for use in formatter functions)\n // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar\n // and IE 11 (and some other browsers) do not support the `calendar` option\n // And we currently only support the gregorian calendar\n var fmt = new Intl.DateTimeFormat(this.computedLocale, {\n calendar: CALENDAR_GREGORY\n });\n var calendar = fmt.resolvedOptions().calendar;\n var locale = fmt.resolvedOptions().locale;\n /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */\n\n if (calendar !== CALENDAR_GREGORY) {\n // Ensure the locale requests the gregorian calendar\n // Mainly for IE 11, and currently we can't handle non-gregorian calendars\n // TODO: Should we always return this value?\n locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory');\n }\n\n return locale;\n },\n calendarYear: function calendarYear() {\n return this.activeDate.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.activeDate.getMonth();\n },\n calendarFirstDay: function calendarFirstDay() {\n // We set the time for this date to 12pm to work around\n // date formatting issues in Firefox and Safari\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/5818\n return createDate(this.calendarYear, this.calendarMonth, 1, 12);\n },\n calendarDaysInMonth: function calendarDaysInMonth() {\n // We create a new date as to not mutate the original\n var date = createDate(this.calendarFirstDay);\n date.setMonth(date.getMonth() + 1, 0);\n return date.getDate();\n },\n computedVariant: function computedVariant() {\n return \"btn-\".concat(this.selectedVariant || 'primary');\n },\n computedTodayVariant: function computedTodayVariant() {\n return \"btn-outline-\".concat(this.todayVariant || this.selectedVariant || 'primary');\n },\n computedNavButtonVariant: function computedNavButtonVariant() {\n return \"btn-outline-\".concat(this.navButtonVariant || 'primary');\n },\n isRTL: function isRTL() {\n // `true` if the language requested is RTL\n var dir = toString(this.direction).toLowerCase();\n\n if (dir === 'rtl') {\n /* istanbul ignore next */\n return true;\n } else if (dir === 'ltr') {\n /* istanbul ignore next */\n return false;\n }\n\n return isLocaleRTL(this.computedLocale);\n },\n context: function context() {\n var selectedYMD = this.selectedYMD,\n activeYMD = this.activeYMD;\n var selectedDate = parseYMD(selectedYMD);\n var activeDate = parseYMD(activeYMD);\n return {\n // The current value of the `v-model`\n selectedYMD: selectedYMD,\n selectedDate: selectedDate,\n selectedFormatted: selectedDate ? this.formatDateString(selectedDate) : this.labelNoDateSelected,\n // Which date cell is considered active due to navigation\n activeYMD: activeYMD,\n activeDate: activeDate,\n activeFormatted: activeDate ? this.formatDateString(activeDate) : '',\n // `true` if the date is disabled (when using keyboard navigation)\n disabled: this.dateDisabled(activeDate),\n // Locales used in formatting dates\n locale: this.computedLocale,\n calendarLocale: this.calendarLocale,\n rtl: this.isRTL\n };\n },\n // Computed props that return a function reference\n dateOutOfRange: function dateOutOfRange() {\n // Check whether a date is within the min/max range\n // Returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var min = this.computedMin,\n max = this.computedMax;\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n return min && date < min || max && date > max;\n };\n },\n dateDisabled: function dateDisabled() {\n var _this = this;\n\n // Returns a function for validating if a date is within range\n // We grab this variables first to ensure a new function ref\n // is generated when the props value changes\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n var rangeFn = this.dateOutOfRange; // Return the function ref\n\n return function (date) {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date);\n var ymd = formatYMD(date);\n return !!(rangeFn(date) || _this.computedDateDisabledFn(ymd, date));\n };\n },\n // Computed props that return date formatter functions\n formatDateString: function formatDateString() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, _objectSpread2$3(_objectSpread2$3({\n // Ensure we have year, month, day shown for screen readers/ARIA\n // If users really want to leave one of these out, they can\n // pass `undefined` for the property value\n year: DATE_FORMAT_NUMERIC,\n month: DATE_FORMAT_2_DIGIT,\n day: DATE_FORMAT_2_DIGIT\n }, this.dateFormatOptions), {}, {\n // Ensure hours/minutes/seconds are not shown\n // As we do not support the time portion (yet)\n hour: undefined,\n minute: undefined,\n second: undefined,\n // Ensure calendar is gregorian\n calendar: CALENDAR_GREGORY\n }));\n },\n formatYearMonth: function formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: DATE_FORMAT_NUMERIC,\n month: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayName: function formatWeekdayName() {\n // Long weekday name for weekday header aria-label\n return createDateFormatter(this.calendarLocale, {\n weekday: CALENDAR_LONG,\n calendar: CALENDAR_GREGORY\n });\n },\n formatWeekdayNameShort: function formatWeekdayNameShort() {\n // Weekday header cell format\n // defaults to 'short' 3 letter days, where possible\n return createDateFormatter(this.calendarLocale, {\n weekday: this.weekdayHeaderFormat || CALENDAR_SHORT,\n calendar: CALENDAR_GREGORY\n });\n },\n formatDay: function formatDay() {\n // Calendar grid day number formatter\n // We don't use DateTimeFormatter here as it can place extra\n // character(s) after the number (i.e the `zh` locale)\n var nf = new Intl.NumberFormat([this.computedLocale], {\n style: 'decimal',\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n }); // Return a formatter function instance\n\n return function (date) {\n return nf.format(date.getDate());\n };\n },\n // Disabled states for the nav buttons\n prevDecadeDisabled: function prevDecadeDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneDecadeAgo(this.activeDate)) < min;\n },\n prevYearDisabled: function prevYearDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneYearAgo(this.activeDate)) < min;\n },\n prevMonthDisabled: function prevMonthDisabled() {\n var min = this.computedMin;\n return this.disabled || min && lastDateOfMonth(oneMonthAgo(this.activeDate)) < min;\n },\n thisMonthDisabled: function thisMonthDisabled() {\n // TODO: We could/should check if today is out of range\n return this.disabled;\n },\n nextMonthDisabled: function nextMonthDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneMonthAhead(this.activeDate)) > max;\n },\n nextYearDisabled: function nextYearDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneYearAhead(this.activeDate)) > max;\n },\n nextDecadeDisabled: function nextDecadeDisabled() {\n var max = this.computedMax;\n return this.disabled || max && firstDateOfMonth(oneDecadeAhead(this.activeDate)) > max;\n },\n // Calendar dates generation\n calendar: function calendar() {\n var matrix = [];\n var firstDay = this.calendarFirstDay;\n var calendarYear = firstDay.getFullYear();\n var calendarMonth = firstDay.getMonth();\n var daysInMonth = this.calendarDaysInMonth;\n var startIndex = firstDay.getDay(); // `0`..`6`\n\n var weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts; // Build the calendar matrix\n\n var currentDay = 0 - weekOffset - startIndex;\n\n for (var week = 0; week < 6 && currentDay < daysInMonth; week++) {\n // For each week\n matrix[week] = []; // The following could be a map function\n\n for (var j = 0; j < 7; j++) {\n // For each day in week\n currentDay++;\n var date = createDate(calendarYear, calendarMonth, currentDay);\n var month = date.getMonth();\n var dayYMD = formatYMD(date);\n var dayDisabled = this.dateDisabled(date); // TODO: This could be a normalizer method\n\n var dateInfo = this.computedDateInfoFn(dayYMD, parseYMD(dayYMD));\n dateInfo = isString(dateInfo) || isArray(dateInfo) ?\n /* istanbul ignore next */\n {\n class: dateInfo\n } : isPlainObject(dateInfo) ? _objectSpread2$3({\n class: ''\n }, dateInfo) :\n /* istanbul ignore next */\n {\n class: ''\n };\n matrix[week].push({\n ymd: dayYMD,\n // Cell content\n day: this.formatDay(date),\n label: this.formatDateString(date),\n // Flags for styling\n isThisMonth: month === calendarMonth,\n isDisabled: dayDisabled,\n // TODO: Handle other dateInfo properties such as notes/events\n info: dateInfo\n });\n }\n }\n\n return matrix;\n },\n calendarHeadings: function calendarHeadings() {\n var _this2 = this;\n\n return this.calendar[0].map(function (d) {\n return {\n text: _this2.formatWeekdayNameShort(parseYMD(d.ymd)),\n label: _this2.formatWeekdayName(parseYMD(d.ymd))\n };\n });\n }\n },\n watch: (_watch$j = {}, _defineProperty(_watch$j, MODEL_PROP_NAME$i, function (newValue, oldValue) {\n var selected = formatYMD(newValue) || '';\n var old = formatYMD(oldValue) || '';\n\n if (!datesEqual(selected, old)) {\n this.activeYMD = selected || this.activeYMD;\n this.selectedYMD = selected;\n }\n }), _defineProperty(_watch$j, \"selectedYMD\", function selectedYMD(newYMD, oldYMD) {\n // TODO:\n // Should we compare to `formatYMD(this.value)` and emit\n // only if they are different?\n if (newYMD !== oldYMD) {\n this.$emit(MODEL_EVENT_NAME$i, this.valueAsDate ? parseYMD(newYMD) || null : newYMD || '');\n }\n }), _defineProperty(_watch$j, \"context\", function context(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT, newValue);\n }\n }), _defineProperty(_watch$j, \"hidden\", function hidden(newValue) {\n // Reset the active focused day when hidden\n this.activeYMD = this.selectedYMD || formatYMD(this[MODEL_PROP_NAME$i] || this.constrainDate(this.initialDate || this.getToday())); // Enable/disable the live regions\n\n this.setLive(!newValue);\n }), _watch$j),\n created: function created() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.$emit(EVENT_NAME_CONTEXT, _this3.context);\n });\n },\n mounted: function mounted() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.setLive(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setLive(false);\n },\n methods: {\n // Public method(s)\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.grid);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.grid);\n }\n },\n // Private methods\n setLive: function setLive(on) {\n var _this4 = this;\n\n if (on) {\n this.$nextTick(function () {\n requestAF(function () {\n _this4.isLive = true;\n });\n });\n } else {\n this.isLive = false;\n }\n },\n getToday: function getToday() {\n return parseYMD(createDate());\n },\n constrainDate: function constrainDate$1(date) {\n // Constrains a date between min and max\n // returns a new `Date` object instance\n return constrainDate(date, this.computedMin, this.computedMax);\n },\n emitSelected: function emitSelected(date) {\n var _this5 = this;\n\n // Performed in a `$nextTick()` to (probably) ensure\n // the input event has emitted first\n this.$nextTick(function () {\n _this5.$emit(EVENT_NAME_SELECTED, formatYMD(date) || '', parseYMD(date) || null);\n });\n },\n // Event handlers\n setGridFocusFlag: function setGridFocusFlag(event) {\n // Sets the gridHasFocus flag to make date \"button\" look focused\n this.gridHasFocus = !this.disabled && event.type === 'focus';\n },\n onKeydownWrapper: function onKeydownWrapper(event) {\n // Calendar keyboard navigation\n // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN\n // Focuses grid after updating\n if (this.noKeyNav) {\n /* istanbul ignore next */\n return;\n }\n\n var altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n keyCode = event.keyCode;\n\n if (!arrayIncludes([CODE_PAGEUP, CODE_PAGEDOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_UP, CODE_RIGHT, CODE_DOWN], keyCode)) {\n /* istanbul ignore next */\n return;\n }\n\n stopEvent(event);\n var activeDate = createDate(this.activeDate);\n var checkDate = createDate(this.activeDate);\n var day = activeDate.getDate();\n var constrainedToday = this.constrainDate(this.getToday());\n var isRTL = this.isRTL;\n\n if (keyCode === CODE_PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAgo : oneYearAgo : oneMonthAgo)(activeDate); // We check the first day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setDate(1);\n } else if (keyCode === CODE_PAGEDOWN) {\n // PAGEDOWN - Next month/year\n activeDate = (altKey ? ctrlKey ? oneDecadeAhead : oneYearAhead : oneMonthAhead)(activeDate); // We check the last day of month to be in rage\n\n checkDate = createDate(activeDate);\n checkDate.setMonth(checkDate.getMonth() + 1);\n checkDate.setDate(0);\n } else if (keyCode === CODE_LEFT) {\n // LEFT - Previous day (or next day for RTL)\n activeDate.setDate(day + (isRTL ? 1 : -1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_RIGHT) {\n // RIGHT - Next day (or previous day for RTL)\n activeDate.setDate(day + (isRTL ? -1 : 1));\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_UP) {\n // UP - Previous week\n activeDate.setDate(day - 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7);\n activeDate = this.constrainDate(activeDate);\n checkDate = activeDate;\n } else if (keyCode === CODE_HOME) {\n // HOME - Today\n activeDate = constrainedToday;\n checkDate = activeDate;\n } else if (keyCode === CODE_END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || constrainedToday;\n checkDate = activeDate;\n }\n\n if (!this.dateOutOfRange(checkDate) && !datesEqual(activeDate, this.activeDate)) {\n // We only jump to date if within min/max\n // We don't check for individual disabled dates though (via user function)\n this.activeYMD = formatYMD(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n },\n onKeydownGrid: function onKeydownGrid(event) {\n // Pressing enter/space on grid to select active date\n var keyCode = event.keyCode;\n var activeDate = this.activeDate;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n stopEvent(event);\n\n if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) {\n this.selectedYMD = formatYMD(activeDate);\n this.emitSelected(activeDate);\n } // Ensure grid is focused\n\n\n this.focus();\n }\n },\n onClickDay: function onClickDay(day) {\n // Clicking on a date \"button\" to select it\n var selectedDate = this.selectedDate,\n activeDate = this.activeDate;\n var clickedDate = parseYMD(day.ymd);\n\n if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) {\n if (!this.readonly) {\n // If readonly mode, we don't set the selected date, just the active date\n // If the clicked date is equal to the already selected date, we don't update the model\n this.selectedYMD = formatYMD(datesEqual(clickedDate, selectedDate) ? selectedDate : clickedDate);\n this.emitSelected(clickedDate);\n }\n\n this.activeYMD = formatYMD(datesEqual(clickedDate, activeDate) ? activeDate : createDate(clickedDate)); // Ensure grid is focused\n\n this.focus();\n }\n },\n gotoPrevDecade: function gotoPrevDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAgo(this.activeDate)));\n },\n gotoPrevYear: function gotoPrevYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAgo(this.activeDate)));\n },\n gotoPrevMonth: function gotoPrevMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAgo(this.activeDate)));\n },\n gotoCurrentMonth: function gotoCurrentMonth() {\n // TODO: Maybe this goto date should be configurable?\n this.activeYMD = formatYMD(this.constrainDate(this.getToday()));\n },\n gotoNextMonth: function gotoNextMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAhead(this.activeDate)));\n },\n gotoNextYear: function gotoNextYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAhead(this.activeDate)));\n },\n gotoNextDecade: function gotoNextDecade() {\n this.activeYMD = formatYMD(this.constrainDate(oneDecadeAhead(this.activeDate)));\n },\n onHeaderClick: function onHeaderClick() {\n if (!this.disabled) {\n this.activeYMD = this.selectedYMD || formatYMD(this.getToday());\n this.focus();\n }\n }\n },\n render: function render(h) {\n var _this6 = this;\n\n // If `hidden` prop is set, render just a placeholder node\n if (this.hidden) {\n return h();\n }\n\n var valueId = this.valueId,\n widgetId = this.widgetId,\n navId = this.navId,\n gridId = this.gridId,\n gridCaptionId = this.gridCaptionId,\n gridHelpId = this.gridHelpId,\n activeId = this.activeId,\n disabled = this.disabled,\n noKeyNav = this.noKeyNav,\n isLive = this.isLive,\n isRTL = this.isRTL,\n activeYMD = this.activeYMD,\n selectedYMD = this.selectedYMD,\n safeId = this.safeId;\n var hideDecadeNav = !this.showDecadeNav;\n var todayYMD = formatYMD(this.getToday());\n var highlightToday = !this.noHighlightToday; // Header showing current selected date\n\n var $header = h('output', {\n staticClass: 'form-control form-control-sm text-center',\n class: {\n 'text-muted': disabled,\n readonly: this.readonly || disabled\n },\n attrs: {\n id: valueId,\n for: gridId,\n role: 'status',\n tabindex: disabled ? null : '-1',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n },\n on: {\n // Transfer focus/click to focus grid\n // and focus active date (or today if no selection)\n click: this.onHeaderClick,\n focus: this.onHeaderClick\n }\n }, this.selectedDate ? [// We use `bdi` elements here in case the label doesn't match the locale\n // Although IE 11 does not deal with at all (equivalent to a span)\n h('bdi', {\n staticClass: 'sr-only'\n }, \" (\".concat(toString(this.labelSelected), \") \")), h('bdi', this.formatDateString(this.selectedDate))] : this.labelNoDateSelected || \"\\xA0\" // ' '\n );\n $header = h(this.headerTag, {\n staticClass: 'b-calendar-header',\n class: {\n 'sr-only': this.hideHeader\n },\n attrs: {\n title: this.selectedDate ? this.labelSelected || null : null\n }\n }, [$header]); // Content for the date navigation buttons\n\n var navScope = {\n isRTL: isRTL\n };\n var navProps = {\n shiftV: 0.5\n };\n\n var navPrevProps = _objectSpread2$3(_objectSpread2$3({}, navProps), {}, {\n flipH: isRTL\n });\n\n var navNextProps = _objectSpread2$3(_objectSpread2$3({}, navProps), {}, {\n flipH: !isRTL\n });\n\n var $prevDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navPrevProps\n });\n var $prevYearIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navPrevProps\n });\n var $prevMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_PEV_MONTH, navScope) || h(BIconChevronLeft, {\n props: navPrevProps\n });\n var $thisMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_THIS_MONTH, navScope) || h(BIconCircleFill, {\n props: navProps\n });\n var $nextMonthIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_MONTH, navScope) || h(BIconChevronLeft, {\n props: navNextProps\n });\n var $nextYearIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_YEAR, navScope) || h(BIconChevronDoubleLeft, {\n props: navNextProps\n });\n var $nextDecadeIcon = this.normalizeSlot(SLOT_NAME_NAV_NEXT_DECADE, navScope) || h(BIconChevronBarLeft, {\n props: navNextProps\n }); // Utility to create the date navigation buttons\n\n var makeNavBtn = function makeNavBtn(content, label, handler, btnDisabled, shortcut) {\n return h('button', {\n staticClass: 'btn btn-sm border-0 flex-fill',\n class: [_this6.computedNavButtonVariant, {\n disabled: btnDisabled\n }],\n attrs: {\n title: label || null,\n type: 'button',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-label': label || null,\n 'aria-disabled': btnDisabled ? 'true' : null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: btnDisabled ? {} : {\n click: handler\n }\n }, [h('div', {\n attrs: {\n 'aria-hidden': 'true'\n }\n }, [content])]);\n }; // Generate the date navigation buttons\n\n\n var $nav = h('div', {\n staticClass: 'b-calendar-nav d-flex',\n attrs: {\n id: navId,\n role: 'group',\n tabindex: noKeyNav ? '-1' : null,\n 'aria-hidden': disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': gridId\n }\n }, [hideDecadeNav ? h() : makeNavBtn($prevDecadeIcon, this.labelPrevDecade, this.gotoPrevDecade, this.prevDecadeDisabled, 'Ctrl+Alt+PageDown'), makeNavBtn($prevYearIcon, this.labelPrevYear, this.gotoPrevYear, this.prevYearDisabled, 'Alt+PageDown'), makeNavBtn($prevMonthIcon, this.labelPrevMonth, this.gotoPrevMonth, this.prevMonthDisabled, 'PageDown'), makeNavBtn($thisMonthIcon, this.labelCurrentMonth, this.gotoCurrentMonth, this.thisMonthDisabled, 'Home'), makeNavBtn($nextMonthIcon, this.labelNextMonth, this.gotoNextMonth, this.nextMonthDisabled, 'PageUp'), makeNavBtn($nextYearIcon, this.labelNextYear, this.gotoNextYear, this.nextYearDisabled, 'Alt+PageUp'), hideDecadeNav ? h() : makeNavBtn($nextDecadeIcon, this.labelNextDecade, this.gotoNextDecade, this.nextDecadeDisabled, 'Ctrl+Alt+PageUp')]); // Caption for calendar grid\n\n var $gridCaption = h('div', {\n staticClass: 'b-calendar-grid-caption text-center font-weight-bold',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n id: gridCaptionId,\n 'aria-live': isLive ? 'polite' : null,\n 'aria-atomic': isLive ? 'true' : null\n },\n key: 'grid-caption'\n }, this.formatYearMonth(this.calendarFirstDay)); // Calendar weekday headings\n\n var $gridWeekDays = h('div', {\n staticClass: 'b-calendar-grid-weekdays row no-gutters border-bottom',\n attrs: {\n 'aria-hidden': 'true'\n }\n }, this.calendarHeadings.map(function (d, idx) {\n return h('small', {\n staticClass: 'col text-truncate',\n class: {\n 'text-muted': disabled\n },\n attrs: {\n title: d.label === d.text ? null : d.label,\n 'aria-label': d.label\n },\n key: idx\n }, d.text);\n })); // Calendar day grid\n\n var $gridBody = this.calendar.map(function (week) {\n var $cells = week.map(function (day, dIndex) {\n var _class;\n\n var isSelected = day.ymd === selectedYMD;\n var isActive = day.ymd === activeYMD;\n var isToday = day.ymd === todayYMD;\n var idCell = safeId(\"_cell-\".concat(day.ymd, \"_\")); // \"fake\" button\n\n var $btn = h('span', {\n staticClass: 'btn border-0 rounded-circle text-nowrap',\n // Should we add some classes to signify if today/selected/etc?\n class: (_class = {\n // Give the fake button a focus ring\n focus: isActive && _this6.gridHasFocus,\n // Styling\n disabled: day.isDisabled || disabled,\n active: isSelected\n }, _defineProperty(_class, _this6.computedVariant, isSelected), _defineProperty(_class, _this6.computedTodayVariant, isToday && highlightToday && !isSelected && day.isThisMonth), _defineProperty(_class, 'btn-outline-light', !(isToday && highlightToday) && !isSelected && !isActive), _defineProperty(_class, 'btn-light', !(isToday && highlightToday) && !isSelected && isActive), _defineProperty(_class, 'text-muted', !day.isThisMonth && !isSelected), _defineProperty(_class, 'text-dark', !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth), _defineProperty(_class, 'font-weight-bold', (isSelected || day.isThisMonth) && !day.isDisabled), _class),\n on: {\n click: function click() {\n return _this6.onClickDay(day);\n }\n }\n }, day.day);\n return h('div', // Cell with button\n {\n staticClass: 'col p-0',\n class: day.isDisabled ? 'bg-light' : day.info.class || '',\n attrs: {\n id: idCell,\n role: 'button',\n 'data-date': day.ymd,\n // Primarily for testing purposes\n // Only days in the month are presented as buttons to screen readers\n 'aria-hidden': day.isThisMonth ? null : 'true',\n 'aria-disabled': day.isDisabled || disabled ? 'true' : null,\n 'aria-label': [day.label, isSelected ? \"(\".concat(_this6.labelSelected, \")\") : null, isToday ? \"(\".concat(_this6.labelToday, \")\") : null].filter(identity).join(' '),\n // NVDA doesn't convey `aria-selected`, but does `aria-current`,\n // ChromeVox doesn't convey `aria-current`, but does `aria-selected`,\n // so we set both attributes for robustness\n 'aria-selected': isSelected ? 'true' : null,\n 'aria-current': isSelected ? 'date' : null\n },\n key: dIndex\n }, [$btn]);\n }); // Return the week \"row\"\n // We use the first day of the weeks YMD value as a\n // key for efficient DOM patching / element re-use\n\n return h('div', {\n staticClass: 'row no-gutters',\n key: week[0].ymd\n }, $cells);\n });\n $gridBody = h('div', {\n // A key is only required on the body if we add in transition support\n staticClass: 'b-calendar-grid-body',\n style: disabled ? {\n pointerEvents: 'none'\n } : {} // key: this.activeYMD.slice(0, -3)\n\n }, $gridBody);\n var $gridHelp = h('div', {\n staticClass: 'b-calendar-grid-help border-top small text-muted text-center bg-light',\n attrs: {\n id: gridHelpId\n }\n }, [h('div', {\n staticClass: 'small'\n }, this.labelHelp)]);\n var $grid = h('div', {\n staticClass: 'b-calendar-grid form-control h-auto text-center',\n attrs: {\n id: gridId,\n role: 'application',\n tabindex: noKeyNav ? '-1' : disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3),\n // `YYYY-MM`, mainly for testing\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': gridCaptionId,\n 'aria-describedby': gridHelpId,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !disabled ? 'true' : null,\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-activedescendant': activeId\n },\n on: {\n keydown: this.onKeydownGrid,\n focus: this.setGridFocusFlag,\n blur: this.setGridFocusFlag\n },\n ref: 'grid'\n }, [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]); // Optional bottom slot\n\n var $slot = this.normalizeSlot();\n $slot = $slot ? h('footer', {\n staticClass: 'b-calendar-footer'\n }, $slot) : h();\n var $widget = h('div', {\n staticClass: 'b-calendar-inner',\n style: this.block ? {} : {\n width: this.width\n },\n attrs: {\n id: widgetId,\n dir: isRTL ? 'rtl' : 'ltr',\n lang: this.computedLocale || null,\n role: 'group',\n 'aria-disabled': disabled ? 'true' : null,\n // If datepicker controls an input, this will specify the ID of the input\n 'aria-controls': this.ariaControls || null,\n // This should be a prop (so it can be changed to Date picker, etc, localized\n 'aria-roledescription': this.roleDescription || null,\n 'aria-describedby': [// Should the attr (if present) go last?\n // Or should this attr be a prop?\n this.bvAttrs['aria-describedby'], valueId, gridHelpId].filter(identity).join(' ')\n },\n on: {\n keydown: this.onKeydownWrapper\n }\n }, [$header, $nav, $grid, $slot]); // Wrap in an outer div that can be styled\n\n return h('div', {\n staticClass: 'b-calendar',\n class: {\n 'd-block': this.block\n }\n }, [$widget]);\n }\n });\n\n var CalendarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCalendar: BCalendar\n }\n });\n\n var props$23 = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n }, NAME_CARD); // --- Mixin ---\n // @vue/component\n\n extend({\n props: props$23\n });\n\n var props$22 = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n }, NAME_CARD_TITLE); // --- Main component ---\n // @vue/component\n\n var BCardTitle = /*#__PURE__*/extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props$22,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, a(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n });\n\n var props$21 = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n }, NAME_CARD_SUB_TITLE); // --- Main component ---\n // @vue/component\n\n var BCardSubTitle = /*#__PURE__*/extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props$21,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, a(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n });\n\n var props$20 = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$22), props$21), copyProps(props$23, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_CARD_BODY); // --- Main component ---\n // @vue/component\n\n var BCardBody = /*#__PURE__*/extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props$20,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(props$22, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(props$21, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, a(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n });\n\n var props$1$ = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, copyProps(props$23, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n })), NAME_CARD_HEADER); // --- Main component ---\n // @vue/component\n\n var BCardHeader = /*#__PURE__*/extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props$1$,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, a(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n });\n\n var props$1_ = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, copyProps(props$23, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n })), NAME_CARD_FOOTER); // --- Main component ---\n // @vue/component\n\n var BCardFooter = /*#__PURE__*/extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props$1_,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, a(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n });\n\n // Blank image with fill template\n\n var BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\n var makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n }; // --- Props ---\n\n\n var props$1Z = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n }, NAME_IMG); // --- Main component ---\n // @vue/component\n\n var BImg = /*#__PURE__*/extend({\n name: NAME_IMG,\n functional: true,\n props: props$1Z,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', a(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n });\n\n var props$1Y = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, pick$1(props$1Z, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_CARD_IMG); // --- Main component ---\n // @vue/component\n\n var BCardImg = /*#__PURE__*/extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props$1Y,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', a(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n });\n\n var cardImgProps = copyProps(props$1Y, prefixPropName.bind(null, 'img'));\n cardImgProps.imgSrc.required = false;\n var props$1X = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$20), props$1$), props$1_), cardImgProps), props$23), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_CARD); // --- Main component ---\n // @vue/component\n\n var BCard = /*#__PURE__*/extend({\n name: NAME_CARD,\n functional: true,\n props: props$1X,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(props$1$, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(props$20, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(props$1_, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, a(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n });\n\n var OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\n var VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver();\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver() {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction$1(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n }();\n\n var destroy$1 = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n };\n\n var bind$1 = function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy$1(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n }; // When the directive options may have been updated (or element)\n\n\n var componentUpdated$1 = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind$1(el, {\n value: value,\n modifiers: modifiers\n });\n }\n }; // When directive un-binds from element\n\n\n var unbind$1 = function unbind(el) {\n // Remove the observer\n destroy$1(el);\n }; // Export the directive\n\n\n var VBVisible = {\n bind: bind$1,\n componentUpdated: componentUpdated$1,\n unbind: unbind$1\n };\n\n var _watch$i;\n\n var MODEL_PROP_NAME_SHOW$1 = 'show';\n var MODEL_EVENT_NAME_SHOW$1 = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW$1; // --- Props ---\n\n var imgProps$1 = omit(props$1Z, ['blank']);\n var props$1W = makePropsConfigurable(_objectSpread2$3(_objectSpread2$3({}, imgProps$1), {}, _defineProperty({\n blankHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // If `null`, a blank image is generated\n blankSrc: makeProp(PROP_TYPE_STRING, null),\n blankWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n // Distance away from viewport (in pixels)\n // before being considered \"visible\"\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 360)\n }, MODEL_PROP_NAME_SHOW$1, makeProp(PROP_TYPE_BOOLEAN, false))), NAME_IMG_LAZY); // --- Main component ---\n // @vue/component\n\n var BImgLazy = /*#__PURE__*/extend({\n name: NAME_IMG_LAZY,\n directives: {\n 'b-visible': VBVisible\n },\n props: props$1W,\n data: function data() {\n return {\n isShown: this[MODEL_PROP_NAME_SHOW$1]\n };\n },\n computed: {\n computedSrc: function computedSrc() {\n var blankSrc = this.blankSrc;\n return !blankSrc || this.isShown ? this.src : blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n var width = this.width;\n return this.isShown ? width : this.blankWidth || width;\n },\n computedHeight: function computedHeight() {\n var height = this.height;\n return this.isShown ? height : this.blankHeight || height;\n },\n computedSrcset: function computedSrcset() {\n var srcset = concat(this.srcset).filter(identity).join(',');\n return srcset && (!this.blankSrc || this.isShown) ? srcset : null;\n },\n computedSizes: function computedSizes() {\n var sizes = concat(this.sizes).filter(identity).join(',');\n return sizes && (!this.blankSrc || this.isShown) ? sizes : null;\n }\n },\n watch: (_watch$i = {}, _defineProperty(_watch$i, MODEL_PROP_NAME_SHOW$1, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n // If `IntersectionObserver` support is not available, image is always shown\n var visible = HAS_INTERACTION_OBSERVER_SUPPORT ? newValue : true;\n this.isShown = visible; // Ensure the show prop is synced (when no `IntersectionObserver`)\n\n if (newValue !== visible) {\n this.$nextTick(this.updateShowProp);\n }\n }\n }), _defineProperty(_watch$i, \"isShown\", function isShown(newValue, oldValue) {\n // Update synched show prop\n if (newValue !== oldValue) {\n this.updateShowProp();\n }\n }), _watch$i),\n mounted: function mounted() {\n var _this = this;\n\n // If `IntersectionObserver` is not available, image is always shown\n this.$nextTick(function () {\n _this.isShown = HAS_INTERACTION_OBSERVER_SUPPORT ? _this[MODEL_PROP_NAME_SHOW$1] : true;\n });\n },\n methods: {\n updateShowProp: function updateShowProp() {\n this.$emit(MODEL_EVENT_NAME_SHOW$1, this.isShown);\n },\n doShow: function doShow(visible) {\n var _this2 = this;\n\n // If IntersectionObserver is not supported, the callback\n // will be called with `null` rather than `true` or `false`\n if ((visible || visible === null) && !this.isShown) {\n // In a `requestAF()` to render the `blank` placeholder properly\n // for fast loading images in some browsers (i.e. Firefox)\n requestAF(function () {\n _this2.isShown = true;\n });\n }\n }\n },\n render: function render(h) {\n var directives = [];\n\n if (!this.isShown) {\n var _modifiers;\n\n // We only add the visible directive if we are not shown\n directives.push({\n // Visible directive will silently do nothing if\n // `IntersectionObserver` is not supported\n name: 'b-visible',\n // Value expects a callback (passed one arg of `visible` = `true` or `false`)\n value: this.doShow,\n modifiers: (_modifiers = {}, _defineProperty(_modifiers, \"\".concat(toInteger(this.offset, 0)), true), _defineProperty(_modifiers, \"once\", true), _modifiers)\n });\n }\n\n return h(BImg, {\n directives: directives,\n props: _objectSpread2$3(_objectSpread2$3({}, pluckProps(imgProps$1, this.$props)), {}, {\n // Computed value props\n src: this.computedSrc,\n blank: this.computedBlank,\n width: this.computedWidth,\n height: this.computedHeight,\n srcset: this.computedSrcset,\n sizes: this.computedSizes\n })\n });\n }\n });\n\n var props$1V = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, omit(props$1W, keys(props$1Z))), omit(props$1Y, ['src', 'alt', 'width', 'height']))), NAME_CARD_IMG_LAZY); // --- Main component ---\n // @vue/component\n\n var BCardImgLazy = /*#__PURE__*/extend({\n name: NAME_CARD_IMG_LAZY,\n functional: true,\n props: props$1V,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h(BImgLazy, a(data, {\n class: [baseClass],\n // Exclude `left` and `right` props before passing to ``\n props: omit(props, ['left', 'right'])\n }));\n }\n });\n\n var props$1U = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n }, NAME_CARD_TEXT); // --- Main component ---\n // @vue/component\n\n var BCardText = /*#__PURE__*/extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props$1U,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, a(data, {\n staticClass: 'card-text'\n }), children);\n }\n });\n\n var props$1T = makePropsConfigurable({\n columns: makeProp(PROP_TYPE_BOOLEAN, false),\n deck: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n }, NAME_CARD_GROUP); // --- Main component ---\n // @vue/component\n\n var BCardGroup = /*#__PURE__*/extend({\n name: NAME_CARD_GROUP,\n functional: true,\n props: props$1T,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, a(data, {\n class: props.deck ? 'card-deck' : props.columns ? 'card-columns' : 'card-group'\n }), children);\n }\n });\n\n var CardPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCard: BCard,\n BCardHeader: BCardHeader,\n BCardBody: BCardBody,\n BCardTitle: BCardTitle,\n BCardSubTitle: BCardSubTitle,\n BCardFooter: BCardFooter,\n BCardImg: BCardImg,\n BCardImgLazy: BCardImgLazy,\n BCardText: BCardText,\n BCardGroup: BCardGroup\n }\n });\n\n var noop = function noop() {};\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 */\n\n var observeDom = function observeDom(el, callback, options)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!isElement(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if (warnNoMutationObserverSupport('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new MutationObs(function (mutations) {\n var changed = false; // 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\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\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 (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truly happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread2$3({\n childList: true,\n subtree: true\n }, options)); // 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\n return obs;\n };\n\n var _watch$h;\n\n var _makeModelMixin$i = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER,\n defaultValue: 0\n }),\n modelMixin$h = _makeModelMixin$i.mixin,\n modelProps$h = _makeModelMixin$i.props,\n MODEL_PROP_NAME$h = _makeModelMixin$i.prop,\n MODEL_EVENT_NAME$h = _makeModelMixin$i.event; // Slide directional classes\n\n\n var DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n }; // Fallback Transition duration (with a little buffer) in ms\n\n var TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\n var TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\n var SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n }; // Transition Event names\n\n var TransitionEndEvents$1 = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n }; // --- Helper methods ---\n // Return the browser specific transitionEnd event name\n\n var getTransitionEndEvent = function getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents$1) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents$1[name];\n }\n } // Fallback\n\n /* istanbul ignore next */\n\n\n return null;\n }; // --- Props ---\n\n\n var props$1S = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$25), modelProps$h), {}, {\n background: makeProp(PROP_TYPE_STRING),\n controls: makeProp(PROP_TYPE_BOOLEAN, false),\n // Enable cross-fade animation instead of slide animation\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n // Sniffed by carousel-slide\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING),\n indicators: makeProp(PROP_TYPE_BOOLEAN, false),\n interval: makeProp(PROP_TYPE_NUMBER, 5000),\n labelGotoSlide: makeProp(PROP_TYPE_STRING, 'Goto slide'),\n labelIndicators: makeProp(PROP_TYPE_STRING, 'Select a slide to display'),\n labelNext: makeProp(PROP_TYPE_STRING, 'Next slide'),\n labelPrev: makeProp(PROP_TYPE_STRING, 'Previous slide'),\n // Disable slide/fade animation\n noAnimation: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable pause on hover\n noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),\n // Sniffed by carousel-slide\n noTouch: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable wrapping/looping when start/end is reached\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_CAROUSEL); // --- Main component ---\n // @vue/component\n\n var BCarousel = /*#__PURE__*/extend({\n name: NAME_CAROUSEL,\n mixins: [idMixin, modelMixin$h, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvCarousel: function getBvCarousel() {\n return _this;\n }\n };\n },\n props: props$1S,\n data: function data() {\n return {\n index: this[MODEL_PROP_NAME$h] || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval, 0) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n computed: {\n numSlides: function numSlides() {\n return this.slides.length;\n }\n },\n watch: (_watch$h = {}, _defineProperty(_watch$h, MODEL_PROP_NAME$h, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.setSlide(toInteger(newValue, 0));\n }\n }), _defineProperty(_watch$h, \"interval\", function interval(newValue, oldValue) {\n /* istanbul ignore next */\n if (newValue === oldValue) {\n return;\n }\n\n if (!newValue) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n }), _defineProperty(_watch$h, \"isPaused\", function isPaused(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(newValue ? EVENT_NAME_PAUSED : EVENT_NAME_UNPAUSED);\n }\n }), _defineProperty(_watch$h, \"index\", function index(to, from) {\n /* istanbul ignore next */\n if (to === from || this.isSliding) {\n return;\n }\n\n this.doSlide(to, from);\n }), _watch$h),\n created: function created() {\n // Create private non-reactive props\n this.$_interval = null;\n this.$_animationTimeout = null;\n this.$_touchTimeout = null;\n this.$_observer = null; // Set initial paused state\n\n this.isPaused = !(toInteger(this.interval, 0) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearInterval();\n this.clearAnimationTimeout();\n this.clearTouchTimeout();\n this.setObserver(false);\n },\n methods: {\n clearInterval: function (_clearInterval) {\n function clearInterval() {\n return _clearInterval.apply(this, arguments);\n }\n\n clearInterval.toString = function () {\n return _clearInterval.toString();\n };\n\n return clearInterval;\n }(function () {\n clearInterval(this.$_interval);\n this.$_interval = null;\n }),\n clearAnimationTimeout: function clearAnimationTimeout() {\n clearTimeout(this.$_animationTimeout);\n this.$_animationTimeout = null;\n },\n clearTouchTimeout: function clearTouchTimeout() {\n clearTimeout(this.$_touchTimeout);\n this.$_touchTimeout = null;\n },\n setObserver: function setObserver() {\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n this.$_observer = observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n // Set slide\n setSlide: function setSlide(slide) {\n var _this2 = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (IS_BROWSER && document.visibilityState && document.hidden) {\n return;\n }\n\n var noWrap = this.noWrap;\n var numSlides = this.numSlides; // Make sure we have an integer (you never know!)\n\n slide = mathFloor(slide); // Don't do anything if nothing to slide to\n\n if (numSlides === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once(EVENT_NAME_SLIDING_END, function () {\n // Wrap in `requestAF()` to allow the slide to properly finish to avoid glitching\n requestAF(function () {\n return _this2.setSlide(slide, direction);\n });\n });\n return;\n }\n\n this.direction = direction; // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n\n this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n\n if (noWrap && this.index !== slide && this.index !== this[MODEL_PROP_NAME$h]) {\n this.$emit(MODEL_EVENT_NAME$h, this.index);\n }\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(event) {\n if (!event) {\n this.isPaused = true;\n }\n\n this.clearInterval();\n },\n // Start auto rotate slides\n start: function start(event) {\n if (!event) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n this.clearInterval(); // Don't start if no interval, or less than 2 slides\n\n if (this.interval && this.numSlides > 1) {\n this.$_interval = setInterval(this.next, mathMax(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n\n /* istanbul ignore next */\n restart: function restart() {\n if (!this.$el.contains(getActiveElement())) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this3 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit(EVENT_NAME_SLIDING_START, to); // Update v-model\n\n this.$emit(MODEL_EVENT_NAME$h, this.index);\n\n if (this.noAnimation) {\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this3.$emit(EVENT_NAME_SLIDING_END, to);\n });\n } else {\n addClass(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n reflow(nextSlide);\n addClass(currentSlide, dirClass);\n addClass(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd() {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this3.transitionEndEvent) {\n var events = _this3.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (event) {\n return eventOff(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n }\n\n _this3.clearAnimationTimeout();\n\n removeClass(nextSlide, dirClass);\n removeClass(nextSlide, overlayClass);\n addClass(nextSlide, 'active');\n removeClass(currentSlide, 'active');\n removeClass(currentSlide, dirClass);\n removeClass(currentSlide, overlayClass);\n setAttr(currentSlide, 'aria-current', 'false');\n setAttr(nextSlide, 'aria-current', 'true');\n setAttr(currentSlide, 'aria-hidden', 'true');\n setAttr(nextSlide, 'aria-hidden', 'false');\n _this3.isSliding = false;\n _this3.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this3.$nextTick(function () {\n return _this3.$emit(EVENT_NAME_SLIDING_END, to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return eventOn(nextSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE);\n });\n } // Fallback to setTimeout()\n\n\n this.$_animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = selectAll('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = mathMax(0, mathMin(mathFloor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n addClass(slide, 'active');\n setAttr(slide, 'aria-current', 'true');\n } else {\n removeClass(slide, 'active');\n setAttr(slide, 'aria-current', 'false');\n }\n\n setAttr(slide, 'aria-posinset', String(n));\n setAttr(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n\n return DIRECTION[direction];\n },\n handleClick: function handleClick(event, fn) {\n var keyCode = event.keyCode;\n\n if (event.type === 'click' || keyCode === CODE_SPACE || keyCode === CODE_ENTER) {\n stopEvent(event);\n fn();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n handleSwipe: function handleSwipe() {\n var absDeltaX = mathAbs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n\n this.touchDeltaX = 0;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchStart: function touchStart(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX;\n } else if (!HAS_POINTER_EVENT_SUPPORT) {\n this.touchStartX = event.touches[0].clientX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchMove: function touchMove(event) {\n // Ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n touchEnd: function touchEnd(event) {\n if (HAS_POINTER_EVENT_SUPPORT && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause(false);\n this.clearTouchTimeout();\n this.$_touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + mathMax(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var indicators = this.indicators,\n background = this.background,\n noAnimation = this.noAnimation,\n noHoverPause = this.noHoverPause,\n noTouch = this.noTouch,\n index = this.index,\n isSliding = this.isSliding,\n pause = this.pause,\n restart = this.restart,\n touchStart = this.touchStart,\n touchEnd = this.touchEnd;\n var idInner = this.safeId('__BV_inner_'); // Wrapper for slides\n\n var $inner = h('div', {\n staticClass: 'carousel-inner',\n attrs: {\n id: idInner,\n role: 'list'\n },\n ref: 'inner'\n }, [this.normalizeSlot()]); // Prev and next controls\n\n var $controls = h();\n\n if (this.controls) {\n var makeControl = function makeControl(direction, label, handler) {\n var handlerWrapper = function handlerWrapper(event) {\n /* istanbul ignore next */\n if (!isSliding) {\n _this4.handleClick(event, handler);\n } else {\n stopEvent(event, {\n propagation: false\n });\n }\n };\n\n return h('a', {\n staticClass: \"carousel-control-\".concat(direction),\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': idInner,\n 'aria-disabled': isSliding ? 'true' : null\n },\n on: {\n click: handlerWrapper,\n keydown: handlerWrapper\n }\n }, [h('span', {\n staticClass: \"carousel-control-\".concat(direction, \"-icon\"),\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: 'sr-only'\n }, [label])]);\n };\n\n $controls = [makeControl('prev', this.labelPrev, this.prev), makeControl('next', this.labelNext, this.next)];\n } // Indicators\n\n\n var $indicators = h('ol', {\n staticClass: 'carousel-indicators',\n directives: [{\n name: 'show',\n value: indicators\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': idInner\n }\n }, this.slides.map(function (slide, i) {\n var handler = function handler(event) {\n _this4.handleClick(event, function () {\n _this4.setSlide(i);\n });\n };\n\n return h('li', {\n class: {\n active: i === index\n },\n attrs: {\n role: 'button',\n id: _this4.safeId(\"__BV_indicator_\".concat(i + 1, \"_\")),\n tabindex: indicators ? '0' : '-1',\n 'aria-current': i === index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this4.labelGotoSlide, \" \").concat(i + 1),\n 'aria-describedby': slide.id || null,\n 'aria-controls': idInner\n },\n on: {\n click: handler,\n keydown: handler\n },\n key: \"slide_\".concat(i)\n });\n }));\n var on = {\n mouseenter: noHoverPause ? noop : pause,\n mouseleave: noHoverPause ? noop : restart,\n focusin: pause,\n focusout: restart,\n keydown: function keydown(event) {\n /* istanbul ignore next */\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_LEFT || keyCode === CODE_RIGHT) {\n stopEvent(event);\n\n _this4[keyCode === CODE_LEFT ? 'prev' : 'next']();\n }\n }\n }; // Touch support event handlers for environment\n\n if (HAS_TOUCH_SUPPORT && !noTouch) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (HAS_POINTER_EVENT_SUPPORT) {\n on['&pointerdown'] = touchStart;\n on['&pointerup'] = touchEnd;\n } else {\n on['&touchstart'] = touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !noAnimation,\n 'carousel-fade': !noAnimation && this.fade,\n 'pointer-event': HAS_TOUCH_SUPPORT && HAS_POINTER_EVENT_SUPPORT && !noTouch\n },\n style: {\n background: background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': isSliding ? 'true' : 'false'\n },\n on: on\n }, [$inner, $controls, $indicators]);\n }\n });\n\n var imgProps = {\n imgAlt: makeProp(PROP_TYPE_STRING),\n imgBlank: makeProp(PROP_TYPE_BOOLEAN, false),\n imgBlankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n imgHeight: makeProp(PROP_TYPE_NUMBER_STRING),\n imgSrc: makeProp(PROP_TYPE_STRING),\n imgWidth: makeProp(PROP_TYPE_NUMBER_STRING)\n };\n var props$1R = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$25), imgProps), {}, {\n background: makeProp(PROP_TYPE_STRING),\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING),\n captionTag: makeProp(PROP_TYPE_STRING, 'h3'),\n contentTag: makeProp(PROP_TYPE_STRING, 'div'),\n contentVisibleUp: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n textHtml: makeProp(PROP_TYPE_STRING),\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n })), NAME_CAROUSEL_SLIDE); // --- Main component ---\n // @vue/component\n\n var BCarouselSlide = /*#__PURE__*/extend({\n name: NAME_CAROUSEL_SLIDE,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n getBvCarousel: {\n // Explicitly disable touch if not a child of carousel\n default: function _default() {\n return function () {\n return {\n noTouch: true\n };\n };\n }\n }\n },\n props: props$1R,\n computed: {\n bvCarousel: function bvCarousel() {\n return this.getBvCarousel();\n },\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var $img = this.normalizeSlot(SLOT_NAME_IMG);\n\n if (!$img && (this.imgSrc || this.imgBlank)) {\n var on = {}; // Touch support event handler\n\n /* istanbul ignore if: difficult to test in JSDOM */\n\n if (!this.bvCarousel.noTouch && HAS_TOUCH_SUPPORT) {\n on.dragstart = function (event) {\n return stopEvent(event, {\n propagation: false\n });\n };\n }\n\n $img = h(BImg, {\n props: _objectSpread2$3(_objectSpread2$3({}, pluckProps(imgProps, this.$props, unprefixPropName.bind(null, 'img'))), {}, {\n width: this.computedWidth,\n height: this.computedHeight,\n fluidGrow: true,\n block: true\n }),\n on: on\n });\n }\n\n var $contentChildren = [// Caption\n this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n }) : false, // Text\n this.text || this.textHtml ? h(this.textTag, {\n domProps: htmlOrText(this.textHtml, this.text)\n }) : false, // Children\n this.normalizeSlot() || false];\n var $content = h();\n\n if ($contentChildren.some(identity)) {\n $content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, $contentChildren.map(function ($child) {\n return $child || h();\n }));\n }\n\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [$img, $content]);\n }\n });\n\n var CarouselPlugin =\n /*#__PURE*/\n pluginFactory({\n components: {\n BCarousel: BCarousel,\n BCarouselSlide: BCarouselSlide\n }\n });\n\n var CLASS_NAME_SHOW = 'show';\n\n // Generic collapse transion helper component\n // Transition event handler helpers\n\n var onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n };\n\n var onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n };\n\n var onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n };\n\n var onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n }; // --- Constants ---\n // Default transition props\n // `appear` will use the enter classes\n\n\n var TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n }; // Default transition handlers\n // `appear` will use the enter handlers\n\n var TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n }; // --- Main component ---\n\n var props$1Q = {\n // // If `true` (and `visible` is `true` on mount), animate initially visible\n appear: makeProp(PROP_TYPE_BOOLEAN, false)\n }; // --- Main component ---\n // @vue/component\n\n var BVCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: props$1Q,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n a(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n });\n\n var _watch$g;\n\n var ROOT_ACTION_EVENT_NAME_TOGGLE$2 = getRootActionEventName(NAME_COLLAPSE, 'toggle');\n var ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2 = getRootActionEventName(NAME_COLLAPSE, 'request-state');\n var ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\n var ROOT_EVENT_NAME_STATE$3 = getRootEventName(NAME_COLLAPSE, 'state');\n var ROOT_EVENT_NAME_SYNC_STATE$3 = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\n var _makeModelMixin$h = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n }),\n modelMixin$g = _makeModelMixin$h.mixin,\n modelProps$g = _makeModelMixin$h.props,\n MODEL_PROP_NAME$g = _makeModelMixin$h.prop,\n MODEL_EVENT_NAME$g = _makeModelMixin$h.event; // --- Props ---\n\n\n var props$1P = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$25), modelProps$g), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_COLLAPSE); // --- Main component ---\n // @vue/component\n\n var BCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin$g, normalizeSlotMixin, listenOnRootMixin],\n props: props$1P,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME$g],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch$g = {}, _defineProperty(_watch$g, MODEL_PROP_NAME$g, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch$g, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch$g),\n created: function created() {\n this.show = this[MODEL_PROP_NAME$g];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME$g]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE$2, this.handleToggleEvent); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvent);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$2, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME$g, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE$3, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE$3, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvent: function handleToggleEvent(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvent: function handleAccordionEvent(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n });\n\n var getInstanceFromDirective = function getInstanceFromDirective(vnode, bindings) {\n return isVue3 ? bindings.instance : vnode.context;\n };\n\n // Classes to apply to trigger element\n\n var CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\n var CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\n var BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\n var BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\n var BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\n var BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\n var BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\n var STRING_FALSE = 'false';\n var STRING_TRUE = 'true'; // Commonly used attribute names\n\n var ATTR_ARIA_CONTROLS = 'aria-controls';\n var ATTR_ARIA_EXPANDED = 'aria-expanded';\n var ATTR_ROLE = 'role';\n var ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\n var STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\n var ROOT_ACTION_EVENT_NAME_TOGGLE$1 = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\n var ROOT_EVENT_NAME_STATE$2 = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n // Gets emitted even if the state of b-collapse has not changed\n // This event is NOT to be documented as people should not be using it\n\n var ROOT_EVENT_NAME_SYNC_STATE$2 = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\n var ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1 = getRootActionEventName(NAME_COLLAPSE, 'request-state');\n var KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\n var isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n };\n\n var getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n };\n\n var removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n };\n\n var addClickListener = function addClickListener(el, instance) {\n removeClickListener(el);\n\n if (instance) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n getEventRoot(instance).$emit(ROOT_ACTION_EVENT_NAME_TOGGLE$1, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n };\n\n var removeRootListeners = function removeRootListeners(el, instance) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && instance) {\n getEventRoot(instance).$off([ROOT_EVENT_NAME_STATE$2, ROOT_EVENT_NAME_SYNC_STATE$2], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n };\n\n var addRootListeners = function addRootListeners(el, instance) {\n removeRootListeners(el, instance);\n\n if (instance) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n getEventRoot(instance).$on([ROOT_EVENT_NAME_STATE$2, ROOT_EVENT_NAME_SYNC_STATE$2], handler);\n }\n };\n\n var setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n }; // Reset and remove a property from the provided element\n\n\n var resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n }; // Handle directive updates\n\n\n var handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !getInstanceFromDirective(vnode, binding)) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, getInstanceFromDirective(vnode, binding));\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n getEventRoot(getInstanceFromDirective(vnode, binding)).$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE$1, target);\n });\n }\n };\n /*\n * Export our directive\n */\n\n\n var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, getInstanceFromDirective(vnode, binding)); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, getInstanceFromDirective(vnode, binding)); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n };\n\n var VBTogglePlugin = /*#__PURE__*/pluginFactory({\n directives: {\n VBToggle: VBToggle\n }\n });\n\n var CollapsePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BCollapse: BCollapse\n },\n plugins: {\n VBTogglePlugin: VBTogglePlugin\n }\n });\n\n /**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\n var timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n }();\n\n function microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n }\n\n function taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n }\n\n var supportsMicroTasks = isBrowser && window.Promise;\n\n /**\n * Create a debounced version of a method, that's asynchronously deferred\n * but called in the minimum time possible.\n *\n * @method\n * @memberof Popper.Utils\n * @argument {Function} fn\n * @returns {Function}\n */\n var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n /**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n\n /**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\n function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n }\n\n /**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\n function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n }\n\n /**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\n function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n }\n\n /**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\n function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n }\n\n var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\n var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n /**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\n function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n }\n\n /**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n }\n\n function isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n }\n\n /**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\n function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n }\n\n /**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\n function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n }\n\n /**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\n function getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n }\n\n /*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\n function includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n }\n\n /*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\n function getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n }\n\n function getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n }\n\n function getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n }\n\n var classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n\n\n\n\n var defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n };\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n /**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\n function getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n }\n\n /**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n function getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n }\n\n function getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n }\n\n function getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n }\n\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n function isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n }\n\n /**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\n function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n }\n\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\n function getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n }\n\n function getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n }\n\n /**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n }\n\n /**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n function getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n }\n\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n function getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n }\n\n /**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n function getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n }\n\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\n function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n }\n\n /**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\n function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n }\n\n /**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\n function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n }\n\n /**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\n function runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n }\n\n /**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\n function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n }\n\n /**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\n function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n }\n\n /**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\n function getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n }\n\n /**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\n function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n }\n\n /**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\n function getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n function attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n }\n\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n function setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n }\n\n /**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\n function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n }\n\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n }\n\n /**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\n function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n }\n\n /**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\n function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n /**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n function setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n }\n\n /**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\n function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n }\n\n /**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\n function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n }\n\n /**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\n function getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n }\n\n var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n }\n\n /**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\n function isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n }\n\n /**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\n function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n }\n\n /**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\n var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n // Get rid of `auto` `auto-start` and `auto-end`\n var validPlacements = placements.slice(3);\n\n /**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\n function clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n }\n\n var BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n };\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n }\n\n /**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\n function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n }\n\n /**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\n function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\n function offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n }\n\n /**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n function inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n }\n\n /**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n /**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\n var modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n };\n\n /**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n /**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\n var Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n };\n\n /**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n /**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n // Utils\n // Methods\n var Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n }();\n\n /**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\n Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n Popper.placements = placements;\n Popper.Defaults = Defaults;\n\n var PLACEMENT_TOP_START = 'top-start';\n var PLACEMENT_TOP_END = 'top-end';\n var PLACEMENT_BOTTOM_START = 'bottom-start';\n var PLACEMENT_BOTTOM_END = 'bottom-end';\n var PLACEMENT_RIGHT_START = 'right-start';\n var PLACEMENT_LEFT_START = 'left-start';\n\n var BvEvent = /*#__PURE__*/function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\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 }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n defineProperty$1(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\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 return BvEvent;\n }();\n\n var clickOutMixin = extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n });\n\n var focusInMixin = extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\n }\n }\n });\n\n var registry = null;\n\n if (isVue3) {\n registry = new WeakMap();\n }\n\n var registerElementToInstance = function registerElementToInstance(element, instance) {\n if (!isVue3) {\n return;\n }\n\n registry.set(element, instance);\n };\n var removeElementToInstance = function removeElementToInstance(element) {\n if (!isVue3) {\n return;\n }\n\n registry.delete(element);\n };\n var getInstanceFromElement = function getInstanceFromElement(element) {\n if (!isVue3) {\n return element.__vue__;\n }\n\n var currentElement = element;\n\n while (currentElement) {\n if (registry.has(currentElement)) {\n /* istanbul ignore next */\n return registry.get(currentElement);\n }\n\n currentElement = currentElement.parentNode;\n }\n\n return null;\n };\n\n var ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\n var ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n }).join(', '); // --- Helper methods ---\n // Return an array of visible items\n\n var filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n }; // --- Props ---\n\n\n var props$1O = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, props$25), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_DROPDOWN); // --- Mixin ---\n // @vue/component\n\n var dropdownMixin = extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvDropdown: function getBvDropdown() {\n return _this;\n }\n };\n },\n inject: {\n getBvNavbar: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n props: props$1O,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n bvNavbar: function bvNavbar() {\n return this.getBvNavbar();\n },\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n },\n hideDelay: function hideDelay() {\n return this.inNavbar ? HAS_TOUCH_SUPPORT ? 300 : 50 : 0;\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n mounted: function mounted() {\n registerElementToInstance(this.$el, this);\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n removeElementToInstance(this.$el);\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this2 = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this2.focusMenu(); // Emit the shown event\n\n\n _this2.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? 'listenOnRoot' : 'listenOffRoot';\n this[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this3 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this3.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this4 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this4.hide();\n }, this.hideDelay);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this5 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this5.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this5.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this6 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this6.toggler);\n });\n }\n }\n });\n\n var props$1N = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3(_objectSpread2$3({}, props$25), props$1O), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n })), NAME_DROPDOWN); // --- Main component ---\n // @vue/component\n\n var BDropdown = /*#__PURE__*/extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props$1N,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread2$3(_objectSpread2$3({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var ariaHasPopupRoles = ['menu', 'listbox', 'tree', 'grid', 'dialog'];\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: _objectSpread2$3(_objectSpread2$3({}, this.toggleAttrs), {}, {\n // Must have attributes\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': ariaHasPopupRoles.includes(role) ? role : 'false',\n 'aria-expanded': toString(visible)\n }),\n props: _objectSpread2$3(_objectSpread2$3({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\n }\n });\n\n var linkProps$4 = omit(props$2f, ['event', 'routerTag']);\n var props$1M = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, linkProps$4), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n })), NAME_DROPDOWN_ITEM); // --- Main component ---\n // @vue/component\n\n var BDropdownItem = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n getBvDropdown: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n inheritAttrs: false,\n props: props$1M,\n computed: {\n bvDropdown: function bvDropdown() {\n return this.getBvDropdown();\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread2$3(_objectSpread2$3({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: pluckProps(linkProps$4, this.$props),\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n });\n\n var props$1L = makePropsConfigurable({\n active: makeProp(PROP_TYPE_BOOLEAN, false),\n activeClass: makeProp(PROP_TYPE_STRING, 'active'),\n buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n }, NAME_DROPDOWN_ITEM_BUTTON); // --- Main component ---\n // @vue/component\n\n var BDropdownItemButton = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_ITEM_BUTTON,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n getBvDropdown: {\n default: function _default() {\n return function () {\n return null;\n };\n }\n }\n },\n inheritAttrs: false,\n props: props$1L,\n computed: {\n bvDropdown: function bvDropdown() {\n return this.getBvDropdown();\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread2$3(_objectSpread2$3({}, this.bvAttrs), {}, {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var _ref;\n\n var active = this.active,\n variant = this.variant,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h('button', {\n staticClass: 'dropdown-item',\n class: [this.buttonClass, (_ref = {}, _defineProperty(_ref, this.activeClass, active), _defineProperty(_ref, \"text-\".concat(variant), variant && !(active || this.disabled)), _ref)],\n attrs: this.computedAttrs,\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.normalizeSlot())]);\n }\n });\n\n var props$1K = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'header'),\n variant: makeProp(PROP_TYPE_STRING)\n }, NAME_DROPDOWN_HEADER); // --- Main component ---\n // @vue/component\n\n var BDropdownHeader = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_HEADER,\n functional: true,\n props: props$1K,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.tag,\n variant = props.variant;\n return h('li', a(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'dropdown-header',\n class: _defineProperty({}, \"text-\".concat(variant), variant),\n attrs: _objectSpread2$3(_objectSpread2$3({}, data.attrs || {}), {}, {\n id: props.id || null,\n role: isTag(tag, 'header') ? null : 'heading'\n }),\n ref: 'header'\n }, children)]);\n }\n });\n\n var props$1J = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n }, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n // @vue/component\n\n var BDropdownDivider = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props$1J,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', a(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread2$3(_objectSpread2$3({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n });\n\n var props$1I = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n }, NAME_FORM); // --- Main component ---\n // @vue/component\n\n var BForm = /*#__PURE__*/extend({\n name: NAME_FORM,\n functional: true,\n props: props$1I,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', a(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n });\n\n var props$1H = makePropsConfigurable(sortKeys(_objectSpread2$3(_objectSpread2$3({}, props$1I), {}, {\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n })), NAME_DROPDOWN_FORM); // --- Main component ---\n // @vue/component\n\n var BDropdownForm = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_FORM,\n functional: true,\n props: props$1H,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n return h('li', a(omit(data, ['attrs', 'on']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(BForm, {\n staticClass: 'b-dropdown-form',\n class: [props.formClass, {\n disabled: props.disabled\n }],\n props: props,\n attrs: _objectSpread2$3(_objectSpread2$3({}, data.attrs || {}), {}, {\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n }),\n on: listeners,\n ref: 'form'\n }, children)]);\n }\n });\n\n var props$1G = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'p'),\n textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n }, NAME_DROPDOWN_TEXT); // --- Main component ---\n // @vue/component\n\n var BDropdownText = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_TEXT,\n functional: true,\n props: props$1G,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.tag,\n textClass = props.textClass,\n variant = props.variant;\n return h('li', a(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'b-dropdown-text',\n class: [textClass, _defineProperty({}, \"text-\".concat(variant), variant)],\n props: props,\n attrs: data.attrs || {},\n ref: 'text'\n }, children)]);\n }\n });\n\n var props$1F = makePropsConfigurable({\n ariaDescribedby: makeProp(PROP_TYPE_STRING),\n header: makeProp(PROP_TYPE_STRING),\n headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n headerVariant: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING)\n }, NAME_DROPDOWN_GROUP); // --- Main component ---\n // @vue/component\n\n var BDropdownGroup = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_GROUP,\n functional: true,\n props: props$1F,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var id = props.id,\n variant = props.variant,\n header = props.header,\n headerTag = props.headerTag;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n var headerId = id ? \"_bv_\".concat(id, \"_group_dd_header\") : null;\n var $header = h();\n\n if (hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots) || header) {\n $header = h(headerTag, {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, _defineProperty({}, \"text-\".concat(variant), variant)],\n attrs: {\n id: headerId,\n role: isTag(headerTag, 'header') ? null : 'heading'\n }\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots) || header);\n }\n\n return h('li', a(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [$header, h('ul', {\n staticClass: 'list-unstyled',\n attrs: _objectSpread2$3(_objectSpread2$3({}, data.attrs || {}), {}, {\n id: id,\n role: 'group',\n 'aria-describedby': [headerId, props.ariaDescribedBy].filter(identity).join(' ').trim() || null\n })\n }, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots))]);\n }\n });\n\n var DropdownPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BDropdown: BDropdown,\n BDd: BDropdown,\n BDropdownItem: BDropdownItem,\n BDdItem: BDropdownItem,\n BDropdownItemButton: BDropdownItemButton,\n BDropdownItemBtn: BDropdownItemButton,\n BDdItemButton: BDropdownItemButton,\n BDdItemBtn: BDropdownItemButton,\n BDropdownHeader: BDropdownHeader,\n BDdHeader: BDropdownHeader,\n BDropdownDivider: BDropdownDivider,\n BDdDivider: BDropdownDivider,\n BDropdownForm: BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText: BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup: BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n });\n\n var TYPES$2 = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\n var props$1E = makePropsConfigurable({\n aspect: makeProp(PROP_TYPE_STRING, '16by9'),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n type: makeProp(PROP_TYPE_STRING, 'iframe', function (value) {\n return arrayIncludes(TYPES$2, value);\n })\n }, NAME_EMBED); // --- Main component ---\n // @vue/component\n\n var BEmbed = /*#__PURE__*/extend({\n name: NAME_EMBED,\n functional: true,\n props: props$1E,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var aspect = props.aspect;\n return h(props.tag, {\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(aspect), aspect),\n ref: data.ref\n }, [h(props.type, a(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n });\n\n var EmbedPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BEmbed: BEmbed\n }\n });\n\n var OPTIONS_OBJECT_DEPRECATED_MSG = 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'; // --- Props ---\n\n var props$1D = makePropsConfigurable({\n disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),\n htmlField: makeProp(PROP_TYPE_STRING, 'html'),\n options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),\n textField: makeProp(PROP_TYPE_STRING, 'text'),\n valueField: makeProp(PROP_TYPE_STRING, 'value')\n }, 'formOptionControls'); // --- Mixin ---\n // @vue/component\n\n var formOptionsMixin = extend({\n props: props$1D,\n computed: {\n formOptions: function formOptions() {\n return this.normalizeOptions(this.options);\n }\n },\n methods: {\n normalizeOption: function normalizeOption(option) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n var value = get(option, this.valueField);\n var text = get(option, this.textField);\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n };\n } // Otherwise create an `