{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/views/pages/profile/Profile.vue?045b","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./src/views/pages/profile/Profile.vue?d4ab","webpack:///./src/views/pages/profile/ProfileHeader.vue?417d","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileHeader.vue?fad0","webpack:///./src/views/pages/profile/ProfileHeader.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?e50d","webpack:///src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileAbout.vue?0cb2","webpack:///./src/views/pages/profile/ProfileAbout.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?2a1b","webpack:///src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue?25c0","webpack:///./src/views/pages/profile/ProfileSuggestedPages.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?381f","webpack:///src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue?e2e2","webpack:///./src/views/pages/profile/ProfileTwitterFeed.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?b74e","webpack:///src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfilePost.vue?cb1e","webpack:///./src/views/pages/profile/ProfilePost.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?b3ed","webpack:///src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue?b7f8","webpack:///./src/views/pages/profile/ProfileLatestPhotos.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?5f75","webpack:///src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfileSuggestion.vue?1571","webpack:///./src/views/pages/profile/ProfileSuggestion.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?73fe","webpack:///src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/ProfilePolls.vue?5dc7","webpack:///./src/views/pages/profile/ProfilePolls.vue","webpack:///./src/views/pages/profile/profileBottom.vue?1578","webpack:///src/views/pages/profile/profileBottom.vue","webpack:///./src/views/pages/profile/profileBottom.vue?3415","webpack:///./src/views/pages/profile/profileBottom.vue","webpack:///src/views/pages/profile/Profile.vue","webpack:///./src/views/pages/profile/Profile.vue?c44f","webpack:///./src/views/pages/profile/Profile.vue","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","label","role","small","tag","type","variant","BSpinner","extend","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","formSelectionMixin","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","target","i","length","source","forEach","getOwnPropertyDescriptors","defineProperties","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","icon","stacked","BIcon","parent","replace","kFormatter","num","toFixed","title","replacer","str","toString","arr","split","capitalizedArray","word","capitalized","charAt","toUpperCase","slice","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","toInteger","requireObjectCoercible","module","exports","repeat","count","String","result","n","Infinity","RangeError","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","$footer","hasFooterSlot","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","INCORRECT_NAME","R","p","rf","f","undefined","unsafe","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","trigger","placement","fallbackPlacement","container","animation","offset","id","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","hide","arg","modifiers","mod","test","selectedTriggers","trim","toLowerCase","applyTooltip","el","context","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","componentUpdated","$nextTick","unbind","overlap","rounded","size","square","BAvatarGroup","mixins","provide","bvAvatarGroup","computedSize","overlapScale","paddingStyle","paddingLeft","paddingRight","$inner","style","normalizeSlot","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","KEYDOWN_KEY_CODES","isNonStandardTag","tagName","getTargets","targets","href","t","index","indexOf","removeClickListener","handler","addClickListener","event","keyCode","$root","$emit","removeRootListeners","$off","addRootListeners","state","setToggleState","resetProp","handleUpdate","binding","VBToggle","updated","classof","TypeError","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","beforeDestroy","clearTimeout","formatValue","force","updateValue","_this","doUpdate","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","$el","linkAttrs","linkClasses","BNavItem","listeners","children","on","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","progressBarProps","animated","max","precision","showProgress","showValue","striped","BProgress","bvProgress","progressHeight","$childNodes","$props","fixRegExpWellKnownSymbolLogic","toObject","toLength","advanceStringIndex","regExpExec","Math","min","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","regexp","res","done","rx","S","functionalReplace","global","fullUnicode","unicode","lastIndex","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","match","ch","capture","_watch","CLASS_NAME_SHOW","scrollHeight","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","appear","Boolean","default","ROOT_EVENT_NAME_ACCORDION","accordion","isNav","BCollapse","transitioning","classObject","collapse","visible","close","oldValue","emitState","_this2","listenOnRoot","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","safeId","emitSync","deactivated","activated","window","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","directives","computeJustifyContent","cardHeader","fill","justified","pills","tabs","vertical","BNav","_vm","_h","$createElement","_c","_self","profileData","userAbout","suggestedPages","twitterFeeds","post","latestPhotos","suggestions","polls","_e","staticRenderFns","headerData","coverImg","avatar","_v","_s","username","designation","_u","fn","proxy","CLASS_NAME","BNavbarToggle","toggleState","handleStateEvt","onClick","expanded","BTabs","BButton","BNavbar","Ripple","component","_l","aboutData","BCardText","pagesData","subtitle","favorite","BAvatar","Array","twitterFeed","imgUrl","desc","tags","posts","postTime","postText","postImg","postVid","youLiked","likes","likedUsers","avatarData","rawName","expression","likedCount","comments","share","detailedComments","comment","ind","commentsLikes","BFormTextarea","BFormGroup","BRow","BLink","BCol","BEmbed","latestImages","img","mutualFriend","pollsData","model","Selected","callback","$$v","votedUser","BOverlay","ProfileHeader","ProfileAbout","ProfileSuggestedPages","ProfileTwitterFeed","ProfilePost","ProfileLatestPhotos","ProfileSuggestion","ProfilePolls","profileBottom","$http","then","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","options","margin","once","observer","doneOnce","createObserver","stop","IntersectionObserver","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","_prevModifiers","VBVisible","stableSort","array","compareFn","a","sort","b","e","POSITION_COVER","bgColor","fixed","noCenter","noWrap","opacity","overlayTag","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","maxRows","noAutoShrink","noResize","rows","wrap","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","computedAttrs","form","computedAriaInvalid","computedListeners","bvListeners","change","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","contentRows","ref","BFormRadio","inject","bvGroup","from","computedLocalChecked","TYPES","aspect","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","plain","formCustomMixin","custom","formSizeMixin","$","thisNumberValue","nativeToFixed","pow","x","acc","log","x2","FORCED","proto","forced","fractionDigits","z","k","fractDigits","sign","multiply","c2","divide","dataToString","s","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","isObject","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolve","resolvedRoute","path","currentRoute","useRouter","vm","getCurrentInstance","reactive","$route","r","toRefs","$router","cloneObject","JSON","parse","stringify","labelHtml","BProgressBar","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","computedValue","computedMax","computedPrecision","computedProgress","computedShowProgress","computedShowValue","$children","hasNormalizedSlot","print","sticky","toggleable","bvNavbar","breakpointClass","xs","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","inheritAttrs","localChecked","isGroup","hasFocus","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedState","computedButtonVariant","buttonClasses","bvAttrs","computedLocalCheckedWatcher","checked","handleChange","handleFocus","$button","for","textTag","SELECTOR","autofocus","formControlMixin","handleAutofocus","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","text","localSrc","fontStyle","fontSize","marginStyle","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","error","$badge","hasBadgeSlot","badgeText","componentData","notDisabled","tab","BVTabButton","bvTabs","controls","noKeyNav","posInSet","setSize","tabIndex","handleEvt","shiftKey","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","active","activeNavItemClass","tabindex","keydown","navProps","activeTabClass","contentClass","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","fade","localNavClass","classes","$tab","activateTab","previousTab","nextTab","updateTabs","$_observer","setObserver","registerTab","unregisterTab","$t","content","childList","subtree","attributes","attributeFilter","getTabs","$tabs","_isTab","order","selector","reverse","find","getButtonForTab","$btn","updateButton","$forceUpdate","tabEvent","cancelable","vueTarget","componentId","deactivateTab","focusButton","_this3","emitTabClick","clickTab","firstTab","currentIndex","lastTab","_this4","$activeTab","$fallbackTab","$buttons","_on","controlledBy","refInFor","$nav","$empty","col","row"],"mappings":"kHAAA,mIAASA,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EASpM,IAAIQ,EAAQ,eAAsB,CACvCC,MAAO,eAAS,QAChBC,KAAM,eAAS,OAAkB,UACjCC,MAAO,eAAS,QAAmB,GACnCC,IAAK,eAAS,OAAkB,QAChCC,KAAM,eAAS,OAAkB,UACjCC,QAAS,eAAS,SACjB,SAGQC,EAAwB,aAAIC,OAAO,CAC5CC,KAAM,QACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAEAd,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZC,EAAQH,EAAKG,MACbC,EAAcJ,EAAKI,YACnBC,EAASF,IACTG,EAAeF,GAAe,GAC9BG,EAAS,eAAc,OAAiB,GAAID,EAAcD,IAAWlB,EAAMC,MAQ/E,OANImB,IACFA,EAASR,EAAE,OAAQ,CACjBS,YAAa,WACZD,IAGER,EAAEZ,EAAMI,IAAK,eAAUW,EAAM,CAClCO,MAAO,CACLpB,KAAMkB,EAASpB,EAAME,MAAQ,SAAW,KACxC,cAAekB,EAAS,KAAO,QAEjCG,OAAQT,EAAS,GAAIvB,EAAgBuB,EAAQ,WAAWU,OAAOxB,EAAMK,MAAOL,EAAMK,MAAOd,EAAgBuB,EAAQ,WAAWU,OAAOxB,EAAMK,KAAM,OAAQL,EAAMG,OAAQZ,EAAgBuB,EAAQ,QAAQU,OAAOxB,EAAMM,SAAUN,EAAMM,SAAUQ,KAC1O,CAACM,GAAUR,U,oCC9CnB,kDAEWa,EAAqB,aAAIjB,OAAO,CACzCkB,SAAU,CACRC,eAAgB,CAEdC,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAML,gBAI1BM,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAML,eAAiBO,IAGtCC,aAAc,CAEZP,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMG,cAI1BF,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAMG,aAAeD,IAGpCE,mBAAoB,CAElBR,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMI,oBAI1BH,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAMI,mBAAqBF,KAI5CG,QAAS,CAEPC,OAAQ,WACN,IAAIC,GAGHA,EAAoBT,KAAKC,MAAMC,OAAOM,OAAOE,MAAMD,EAAmBE,YAIzEC,kBAAmB,WACjB,IAAIC,GAGHA,EAAqBb,KAAKC,MAAMC,OAAOU,kBAAkBF,MAAMG,EAAoBF,YAItFG,aAAc,WACZ,IAAIC,GAGHA,EAAqBf,KAAKC,MAAMC,OAAOY,aAAaJ,MAAMK,EAAoBJ,gB,oCCrErF,uKAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAY3M,IAAIwE,EAAoB,SAASA,EAAkBC,EAAKC,GACtD,IAAKD,EACH,OAAO,KAGT,IAAIE,GAAcF,EAAIG,UAAY,IAAID,WAClCE,EAAgBF,EAAWD,GAC/B,OAAOG,GAAiBL,EAAkBC,EAAIK,QAASJ,IAI9ClE,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAI,eAAK,OAAiB,CAAC,UAAW,aAAc,GAAI,CACpIe,KAAM,eAAS,QACfC,QAAS,eAAS,QAAmB,MAClC,SAKMC,EAAqB,aAAIjE,OAAO,CACzCC,KAAM,QACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIE,EAAOF,EAAKE,KACZf,EAAQa,EAAKb,MACb0E,EAAS7D,EAAK6D,OACdH,EAAO,eAAW,eAAKvE,EAAMuE,MAAQ,KAAKI,QAAQ,OAAgB,IAItE,OAAO/D,EAAE2D,GAAOP,EAAkBU,EAAQ,QAAQlD,OAAO+C,KAAuB,OAAY,eAAUxD,EAAM,CAC1Gf,MAAOwD,EAAcA,EAAc,GAAIxD,GAAQ,GAAI,CACjDuE,KAAM,c,oWC/CDK,EAAa,SAAAC,GAAG,OAAKA,EAAM,IAAN,WAAgBA,EAAM,KAAMC,QAAQ,GAApC,KAA4CD,GAEjEE,EAAQ,SAACrF,GAA0B,IAAnBsF,EAAmB,uDAAR,IACtC,IAAKtF,EAAO,MAAO,GACnB,IAAMuF,EAAMvF,EAAMwF,WAEZC,EAAMF,EAAIG,MAAMJ,GAChBK,EAAmB,GAKzB,OAJAF,EAAItB,SAAQ,SAAAyB,GACV,IAAMC,EAAcD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,MAAM,GAC9DL,EAAiB9B,KAAKgC,MAEjBF,EAAiBM,KAAK,MAGlBC,EAAa,SAAAlG,GACxB,IAAKA,EAAO,MAAO,GACnB,IAAMmG,EAAYnG,EAAM0F,MAAM,KAC9B,OAAOS,EAAUC,KAAI,SAAAR,GAAI,OAAIA,EAAKE,OAAO,GAAGC,iBAAeE,KAAK,KAUrDI,EAAa,SAACrG,GAA4E,IAArEsG,EAAqE,uDAAxD,CAAEC,MAAO,QAASC,IAAK,UAAWC,KAAM,WACrF,OAAKzG,EACE,IAAI0G,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAK7G,IADjDA,GAUR8G,EAAyB,SAAC9G,GAAsC,IAA/B+G,IAA+B,yDACrEC,EAAO,IAAIH,KAAK7G,GAClBsG,EAAa,CAAEC,MAAO,QAASC,IAAK,WAMxC,OAJIO,GAAuBE,eAAQD,KACjCV,EAAa,CAAEY,KAAM,UAAWC,OAAQ,YAGnC,IAAIT,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAK7G,KAIzDoH,EAAa,SAAApH,GAAK,OAAIA,EAAMiF,QAAQ,kBAAmB,M,kCCpDpE,IAAIoC,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QAIrCC,EAAOC,QAAU,GAAGC,QAAU,SAAgBC,GAC5C,IAAInC,EAAMoC,OAAOL,EAAuBlF,OACpCwF,EAAS,GACTC,EAAIR,EAAUK,GAClB,GAAIG,EAAI,GAAKA,GAAKC,IAAU,MAAMC,WAAW,+BAC7C,KAAMF,EAAI,GAAIA,KAAO,KAAOtC,GAAOA,GAAc,EAAJsC,IAAOD,GAAUrC,GAC9D,OAAOqC,I,oCCZT,kDAEWI,EAAoB,aAAIlH,OAAO,CACxCkB,SAAU,CACRiG,SAAU,CAER/F,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAM2F,WAG5BC,kBAAmB,CAEjBhG,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAM4F,oBAG5BC,aAAc,CAEZjG,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAM6F,gBAI9BxF,QAAS,CAEPyF,kBAAmB,WACjB,IAAIvF,EAGJ,OAAQA,EAAoBT,KAAKC,MAAMC,OAAO8F,kBAAkBtF,MAAMD,EAAmBE,YAI3FsF,cAAe,WACb,IAAIpF,EAGJ,OAAQA,EAAqBb,KAAKC,MAAMC,OAAO+F,cAAcvF,MAAMG,EAAoBF,YAIzFuF,eAAgB,WACd,IAAInF,EAGJ,OAAQA,EAAqBf,KAAKC,MAAMC,OAAOgG,eAAexF,MAAMK,EAAoBJ,gB,kPCtD9F,SAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EASpM,IAAI,EAAQ,eAAsB,eAASgE,EAAcA,EAAc,GAAI,eAAK,OAAW,CAAC,MAAO,MAAO,QAAS,SAAU,OAAQ,WAAY,GAAI,CAC1JyE,OAAQ,eAAS,QAAmB,GACpCC,IAAK,eAAS,QAAmB,GACjCC,MAAO,eAAS,QAAmB,GACnCC,IAAK,eAAS,QAAmB,MAC9B,QAGMC,EAAwB,aAAI7H,OAAO,CAC5CC,KAAM,OACNC,YAAY,EACZV,MAAO,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZuH,EAAMtI,EAAMsI,IACZC,EAAMvI,EAAMuI,IACZC,EAAQxI,EAAMwI,MACdC,EAASzI,EAAMyI,OACfC,EAAY,WAYhB,OAVI1I,EAAMoI,IACRM,GAAa,OACJ1I,EAAM2I,OAAS3I,EAAMkI,IAC9BQ,GAAa,SACJ1I,EAAMiI,OACfS,GAAa,WACJ1I,EAAM4I,MAAQ5I,EAAMmI,SAC7BO,GAAa,SAGR9H,EAAE,MAAO,eAAUG,EAAM,CAC9BQ,MAAOmH,EACPpH,MAAO,CACLgH,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EACPC,OAAQA,SClDhB,SAAS,EAAQ1F,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAAS,EAAcQ,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAK,EAAQ/D,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAO,EAAgBgE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmB,EAAQjE,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAAS,EAAgBjE,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAgB3M,IAAIqJ,EAAe,eAAU,EAAe,OAAeC,KAAK,KAAM,QACtED,EAAaE,OAAOC,UAAW,EACxB,IAAI,EAAQ,eAAsB,eAAS,EAAc,EAAc,EAAc,EAAc,EAAc,EAAc,GAAI,QAAiB,QAAmB,QAAmBH,GAAeI,EAAA,MAAY,GAAI,CAC9NC,MAAO,eAAS,QAChBC,OAAQ,eAAS,QAAmB,MACjC,QAGMC,EAAqB,aAAI5I,OAAO,CACzCC,KAAM,OACNC,YAAY,EACZV,MAAO,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAEAd,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZC,EAAQH,EAAKG,MACbC,EAAcJ,EAAKI,YACnB8H,EAAS/I,EAAM+I,OACfM,EAAUrJ,EAAMqJ,QAChBC,EAAWtJ,EAAMsJ,SACjBC,EAAWvJ,EAAMuJ,SACjBC,EAASxJ,EAAMwJ,OACfC,EAAYzJ,EAAMyJ,UAClBC,EAAS1J,EAAM0J,OACfC,EAAa3J,EAAM2J,WACnBC,EAAS5J,EAAM4J,OACfC,EAAa7J,EAAM6J,WACnBX,EAAQlJ,EAAMkJ,MACdY,EAAc9J,EAAM8J,YACpBC,EAAY/J,EAAM+J,UAClBC,EAAgBhK,EAAMgK,cACtB7I,EAAeF,GAAe,GAC9BC,EAASF,IACTiJ,EAAY,GACZC,EAAYtJ,IACZuJ,EAAWvJ,IAEf,GAAImI,EAAQ,CACV,IAAIqB,EAAOxJ,EAAEyH,EAAU,CACrBrI,MAAO,eAAW6I,EAAc7I,EAAO,OAAiB8I,KAAK,KAAM,UAGjEW,EACFU,EAAWC,EAEXF,EAAYE,EAIhB,IAAIC,EAAUzJ,IACV0J,EAAgB,eAAkB,OAAkBnJ,EAAcD,IAElEoJ,GAAiBZ,GAAUC,KAC7BU,EAAUzJ,EAAE,OAAa,CACvBZ,MAAO,eAAW,OAAkBA,GACpCuK,SAAUD,EAAgB,GAAK,OAAAE,EAAA,MAAWb,EAAYD,IACrD,eAAc,OAAkBO,EAAW9I,EAAcD,KAG9D,IAAIuJ,EAAW,eAAc,OAAmBR,EAAW9I,EAAcD,GAEpElB,EAAMmJ,SACTsB,EAAW7J,EAAE,OAAW,CACtBZ,MAAO,eAAW,OAAgBA,IACjCyK,GAGCzK,EAAM0K,SAAW3B,IACnB0B,EAAW7J,EAAE,MAAO,CAClBS,YAAa,qBACZ,CAAC6I,EAAWO,EAAUN,IAEzBD,EAAYtJ,IACZuJ,EAAWvJ,MAIf,IAAI+J,EAAU/J,IACVgK,EAAgB,eAAkB,OAAkBzJ,EAAcD,GAStE,OAPI0J,GAAiBhB,GAAUC,KAC7Bc,EAAU/J,EAAE,OAAa,CACvBZ,MAAO,eAAW,OAAkBA,GACpCuK,SAAUD,EAAgB,GAAK,OAAAE,EAAA,MAAWX,EAAYD,IACrD,eAAc,OAAkBK,EAAW9I,EAAcD,KAGvDN,EAAEZ,EAAMI,IAAK,eAAUW,EAAM,CAClCM,YAAa,OACbE,OAAQT,EAAS,CACf,WAAYuI,GAAWE,EACvB,oBAAqBD,GAAYE,MAAaH,GAAWE,IACxD,EAAgBzI,EAAQ,QAAQU,OAAO0H,GAAQA,GAAQ,EAAgBpI,EAAQ,MAAMU,OAAOuI,GAAYA,GAAY,EAAgBjJ,EAAQ,UAAUU,OAAOwI,GAAgBA,GAAgB,EAAgBlJ,EAAQ,QAAQU,OAAOsI,GAAcA,GAAchJ,KACjQ,CAACoJ,EAAWG,EAASI,EAAUE,EAASR,Q,oCClHhD,IAAIU,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBC,EAAQ,EAAQ,QAChBC,EAAQ,EAAQ,QAEhBC,EAAY,WACZC,EAAkBC,OAAOC,UACzBC,EAAiBH,EAAgBD,GAEjCK,EAAcP,GAAM,WAAc,MAA2D,QAApDM,EAAeE,KAAK,CAAE3H,OAAQ,IAAKoH,MAAO,SAEnFQ,EAAiBH,EAAe5K,MAAQwK,GAIxCK,GAAeE,IACjBX,EAASM,OAAOC,UAAWH,GAAW,WACpC,IAAIQ,EAAIX,EAAShJ,MACb4J,EAAIrE,OAAOoE,EAAE7H,QACb+H,EAAKF,EAAET,MACPY,EAAIvE,YAAcwE,IAAPF,GAAoBF,aAAaN,UAAY,UAAWD,GAAmBF,EAAMO,KAAKE,GAAKE,GAC1G,MAAO,IAAMD,EAAI,IAAME,IACtB,CAAEE,QAAQ,K,kCCvBf,+LAAShJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAe3M,IAAIuM,EAAa,iBAEbC,EAAiB,cAEjBC,EAAgB,CAClBC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,MAAM,EACNC,QAAQ,GAGNC,EAAS,UACTC,EAAmB,oBACnBC,EAAW,YACXC,EAAc,sFACdC,EAAa,oCACbC,EAAU,UACVC,EAAc,WACdC,EAAc,WACdC,EAAW,YACXC,EAAY,UACZC,EAAW,MAGXC,EAAgB,SAAuBC,EAAUC,GAInD,IAAIC,EAAS,CACXtI,WAAO8G,EACPyB,QAAS,GAETC,UAAW,MACXC,kBAAmB,OACnBC,WAAW,EAEXC,WAAW,EACXC,OAAQ,EACRC,GAAI,KACJpD,MAAM,EACNqD,aAAa,EACbC,UAAU,EACVC,MAAO,eAAmB,QAAc,QAAS,IACjDC,SAAU3G,OAAO,eAAmB,QAAc,WAAY,iBAC9D4G,gBAAiB,eAAU,eAAmB,QAAc,kBAAmB,GAAI,GACnF3N,QAAS,eAAmB,QAAc,WAC1C4N,YAAa,eAAmB,QAAc,gBAehD,GAZI,eAASf,EAASzN,QAAU,eAASyN,EAASzN,QAGvC,eAAWyN,EAASzN,OAD7B2N,EAAOtI,MAAQoI,EAASzN,MAIf,eAAcyN,EAASzN,SAEhC2N,EAAS7J,EAAcA,EAAc,GAAI6J,GAASF,EAASzN,QAIzD,eAAY2N,EAAOtI,OAAQ,CAE7B,IAAIhE,EAAOqM,EAAMrM,MAAQ,GACzBsM,EAAOtI,MAAQhE,EAAKO,QAAU,eAAkBP,EAAKO,MAAMyD,OAAShE,EAAKO,MAAMyD,WAAQ8G,EAIpF,eAAcwB,EAAOU,SACxBV,EAAOU,MAAQ,CACbI,KAAM,eAAUd,EAAOU,MAAO,GAC9BK,KAAM,eAAUf,EAAOU,MAAO,KAK9BZ,EAASkB,MAGXhB,EAAOI,UAAY,IAAIjM,OAAO2L,EAASkB,MAIzC,eAAKlB,EAASmB,WAAWzK,SAAQ,SAAU0K,GACzC,GAAIhC,EAAOiC,KAAKD,GAEdlB,EAAO7C,MAAO,OACT,GAAIgC,EAAiBgC,KAAKD,GAE/BlB,EAAOQ,aAAc,OAChB,GAAIpB,EAAS+B,KAAKD,GAEvBlB,EAAOK,WAAY,OACd,GAAIhB,EAAY8B,KAAKD,GAE1BlB,EAAOE,UAAYgB,OACd,GAAI5B,EAAW6B,KAAKD,GAEzBA,EAAc,iBAARA,EAAyB,eAAiBA,EAChDlB,EAAOW,SAAWO,OACb,GAAI3B,EAAQ4B,KAAKD,GAAM,CAE5B,IAAIR,EAAQ,eAAUQ,EAAI7I,MAAM,GAAI,GACpC2H,EAAOU,MAAMI,KAAOJ,EACpBV,EAAOU,MAAMK,KAAOL,OACXlB,EAAY2B,KAAKD,GAE1BlB,EAAOU,MAAMI,KAAO,eAAUI,EAAI7I,MAAM,GAAI,GACnCoH,EAAY0B,KAAKD,GAE1BlB,EAAOU,MAAMK,KAAO,eAAUG,EAAI7I,MAAM,GAAI,GACnCqH,EAASyB,KAAKD,GAEvBlB,EAAOM,OAAS,eAAUY,EAAI7I,MAAM,GAAI,GAC/BsH,EAAUwB,KAAKD,KAExBlB,EAAO/M,QAAUiO,EAAI7I,MAAM,IAAM,SAKrC,IAAI+I,EAAmB,GA8BvB,OA5BA,eAAOpB,EAAOC,SAAW,IAAIlK,OAAO,QAAUuC,KAAK,KAAK+I,OAAOC,cAAcvJ,MAAM6H,GAAUpJ,SAAQ,SAAUyJ,GACzGrB,EAAcqB,KAChBmB,EAAiBnB,IAAW,MAIhC,eAAKH,EAASmB,WAAWzK,SAAQ,SAAU0K,GACzCA,EAAMA,EAAII,cAEN1C,EAAcsC,KAEhBE,EAAiBF,IAAO,MAI5BlB,EAAOC,QAAU,eAAKmB,GAAkB9I,KAAK,KAEtB,SAAnB0H,EAAOC,UAETD,EAAOC,QAAU,SAGdD,EAAOC,UAEVD,EAAOC,QAAUtB,GAIZqB,GAILuB,EAAe,SAAsBC,EAAI1B,EAAUC,GACrD,GAAK,OAAL,CAKA,IAAIC,EAASH,EAAcC,EAAUC,GAErC,IAAKyB,EAAG9C,GAAa,CACnB,IAAIzH,EAAU8I,EAAM0B,QACpBD,EAAG9C,GAAc,IAAI,OAAU,CAC7BrH,OAAQJ,EAERyK,SAAU,eAAWzK,OAASuH,KAEhCgD,EAAG9C,GAAYiD,iBAAmB,GAClCH,EAAG9C,GAAYkD,IAAI,QAAiB,WAI9B,eAAW5B,EAAOtI,QACpB8J,EAAG9C,GAAYmD,WAAW,CACxBnK,MAAOsI,EAAOtI,MAAM8J,QAM5B,IAAI9N,EAAO,CACTgE,MAAOsI,EAAOtI,MACdoK,SAAU9B,EAAOC,QACjBC,UAAWF,EAAOE,UAClBC,kBAAmBH,EAAOG,kBAC1BlN,QAAS+M,EAAO/M,QAChB4N,YAAab,EAAOa,YACpBT,UAAWJ,EAAOI,UAClBO,SAAUX,EAAOW,SACjBD,MAAOV,EAAOU,MACdJ,OAAQN,EAAOM,OACfyB,QAAS/B,EAAOK,UAChBE,GAAIP,EAAOO,GACXC,YAAaR,EAAOQ,YACpBC,SAAUT,EAAOS,SACjBtD,KAAM6C,EAAO7C,MAEX6E,EAAUR,EAAG9C,GAAYiD,iBAG7B,GAFAH,EAAG9C,GAAYiD,iBAAmBjO,GAE7B,eAAWA,EAAMsO,GAAU,CAE9B,IAAIC,EAAU,CACZ7L,OAAQoL,GAEV,eAAK9N,GAAM8C,SAAQ,SAAU0L,GAEvBxO,EAAKwO,KAAUF,EAAQE,KAEzBD,EAAQC,GAAiB,UAATA,GAAoB,eAAWxO,EAAKwO,IAASxO,EAAKwO,GAAMV,GAAM9N,EAAKwO,OAGvFV,EAAG9C,GAAYmD,WAAWI,MAK1BE,EAAgB,SAAuBX,GACrCA,EAAG9C,KACL8C,EAAG9C,GAAY0D,WACfZ,EAAG9C,GAAc,aAGZ8C,EAAG9C,IAID2D,EAAY,CACrB5G,KAAM,SAAc+F,EAAI1B,EAAUC,GAChCwB,EAAaC,EAAI1B,EAAUC,IAI7BuC,iBAAkB,SAA0Bd,EAAI1B,EAAUC,GAExDA,EAAM0B,QAAQc,WAAU,WACtBhB,EAAaC,EAAI1B,EAAUC,OAG/ByC,OAAQ,SAAgBhB,GACtBW,EAAcX,M,2DCvQlB,sIASW7O,EAAQ,eAAsB,CACvC8P,QAAS,eAAS,OAAyB,IAE3CC,QAAS,eAAS,QAA0B,GAE5CC,KAAM,eAAS,QAEfC,OAAQ,eAAS,QAAmB,GACpC7P,IAAK,eAAS,OAAkB,OAEhCE,QAAS,eAAS,SACjB,QAGQ4P,EAA4B,aAAI1P,OAAO,CAChDC,KAAM,OACN0P,OAAQ,CAAC,QACTC,QAAS,WACP,MAAO,CACLC,cAAevO,OAGnB9B,MAAOA,EACP0B,SAAU,CACR4O,aAAc,WACZ,OAAO,eAAYxO,KAAKkO,OAE1BO,aAAc,WACZ,OAAO,eAAQ,eAAQ,eAAQzO,KAAKgO,QAAS,GAAI,GAAI,GAAK,GAE5DU,aAAc,WACZ,IAAI9Q,EAAQoC,KAAKwO,aAEjB,OADA5Q,EAAQA,EAAQ,QAAQ8B,OAAO9B,EAAO,OAAO8B,OAAOM,KAAKyO,aAAc,KAAO,KACvE7Q,EAAQ,CACb+Q,YAAa/Q,EACbgR,aAAchR,GACZ,KAGRiB,OAAQ,SAAgBC,GACtB,IAAI+P,EAAS/P,EAAE,MAAO,CACpBS,YAAa,uBACbuP,MAAO9O,KAAK0O,cACX1O,KAAK+O,iBACR,OAAOjQ,EAAEkB,KAAK1B,IAAK,CACjBiB,YAAa,iBACbC,MAAO,CACLpB,KAAM,UAEP,CAACyQ,Q,oCC1DR,0KAaIG,EAA4B,YAC5BC,EAAgC,gBAEhCC,EAAU,cAEVC,EAAyB,GAAGzP,OAAOwP,EAAS,cAE5CE,EAA0B,GAAG1P,OAAOwP,EAAS,YAE7CG,EAAkB,GAAG3P,OAAOwP,EAAS,YAErCI,EAAoB,GAAG5P,OAAOwP,EAAS,cAEvCK,EAAe,QACfC,EAAc,OAEdC,EAAqB,gBACrBC,EAAqB,gBACrBC,EAAY,OACZC,EAAgB,WAEhBC,EAAwB,kBAExBC,EAAgC,eAAuB,OAAe,UAEtEC,EAAwB,eAAiB,OAAe,SAIxDC,EAA6B,eAAiB,OAAe,cAE7DC,EAAuC,eAAuB,OAAe,iBAC7EC,EAAoB,CAAC,OAAY,QAEjCC,EAAmB,SAA0BpD,GAC/C,OAAQ,eAAc,CAAC,SAAU,KAAMA,EAAGqD,QAAQvD,gBAGhDwD,EAAa,SAAoBtR,EAAMgO,GACzC,IAAIP,EAAYzN,EAAKyN,UACjBD,EAAMxN,EAAKwN,IACX3O,EAAQmB,EAAKnB,MAEb0S,EAAU,eAAK9D,GAAa,IAIhC,GAFA5O,EAAQ,eAASA,GAASA,EAAM0F,MAAM,QAAkB1F,EAEpD,eAAMmP,EAAGqD,QAAS,KAAM,CAC1B,IAAIG,EAAO,eAAQxD,EAAI,SAAW,GAE9B,OAAWL,KAAK6D,IAClBD,EAAQ7O,KAAK8O,EAAK1N,QAAQ,OAAS,KAWvC,OAJA,eAAO0J,EAAK3O,GAAOmE,SAAQ,SAAUyO,GACnC,OAAO,eAASA,IAAMF,EAAQ7O,KAAK+O,MAG9BF,EAAQhP,QAAO,SAAUkP,EAAGC,EAAOpN,GACxC,OAAOmN,GAAKnN,EAAIqN,QAAQF,KAAOC,MAI/BE,EAAsB,SAA6B5D,GACrD,IAAI6D,EAAU7D,EAAGqC,GAEbwB,IACF,eAAS7D,EAAI,QAAS6D,EAAS,SAC/B,eAAS7D,EAAI,UAAW6D,EAAS,UAGnC7D,EAAGqC,GAA2B,MAG5ByB,EAAmB,SAA0B9D,EAAIzB,GAGnD,GAFAqF,EAAoB5D,GAEhBzB,EAAM0B,QAAS,CACjB,IAAI4D,EAAU,SAAiBE,GAC7B,IAAqB,YAAfA,EAAMvS,MAAuB,eAAc2R,EAAmBY,EAAMC,YAAc,eAAWhE,GAAK,CACtG,IAAIuD,EAAUvD,EAAGuC,IAAsB,GACvCgB,EAAQvO,SAAQ,SAAUJ,GACxB2J,EAAM0B,QAAQgE,MAAMC,MAAMnB,EAA+BnO,QAK/DoL,EAAGqC,GAA2BwB,EAC9B,eAAQ7D,EAAI,QAAS6D,EAAS,SAE1BT,EAAiBpD,IACnB,eAAQA,EAAI,UAAW6D,EAAS,WAKlCM,EAAsB,SAA6BnE,EAAIzB,GACrDyB,EAAGoC,IAA2B7D,EAAM0B,SACtC1B,EAAM0B,QAAQgE,MAAMG,KAAK,CAACpB,EAAuBC,GAA6BjD,EAAGoC,IAGnFpC,EAAGoC,GAA0B,MAG3BiC,EAAmB,SAA0BrE,EAAIzB,GAGnD,GAFA4F,EAAoBnE,EAAIzB,GAEpBA,EAAM0B,QAAS,CACjB,IAAI4D,EAAU,SAAiB9E,EAAIuF,GAE7B,eAActE,EAAGuC,IAAsB,GAAIxD,KAE7CiB,EAAGsC,GAAmBgC,EAEtBC,EAAevE,EAAIsE,KAIvBtE,EAAGoC,GAA0ByB,EAE7BtF,EAAM0B,QAAQgE,MAAM7D,IAAI,CAAC4C,EAAuBC,GAA6BY,KAI7EU,EAAiB,SAAwBvE,EAAIsE,GAE3CA,GACF,eAAYtE,EAAIiC,GAChB,eAASjC,EAAIkC,GACb,eAAQlC,EAAI2C,EAAoBF,KAEhC,eAAYzC,EAAIkC,GAChB,eAASlC,EAAIiC,GACb,eAAQjC,EAAI2C,EAAoBH,KAKhCgC,EAAY,SAAmBxE,EAAIU,GACrCV,EAAGU,GAAQ,YACJV,EAAGU,IAIR+D,EAAe,SAAsBzE,EAAI0E,EAASnG,GAEpD,GAAK,QAAeA,EAAM0B,QAA1B,CAMImD,EAAiBpD,KACd,eAAQA,EAAI4C,IACf,eAAQ5C,EAAI4C,EAAW,UAGpB,eAAQ5C,EAAI6C,IACf,eAAQ7C,EAAI6C,EAAe,MAO/B0B,EAAevE,EAAIA,EAAGsC,IAEtB,IAAIiB,EAAUD,EAAWoB,EAAS1E,GAO9BuD,EAAQzO,OAAS,GACnB,eAAQkL,EAAI0C,EAAoBa,EAAQzM,KAAK,MAC7C,eAASkJ,EAAI8C,EAAuB,UAEpC,eAAW9C,EAAI0C,GACf,eAAY1C,EAAI8C,IAMlB,gBAAU,WACRgB,EAAiB9D,EAAIzB,MAGlB,eAAWgF,EAASvD,EAAGuC,MAE1BvC,EAAGuC,GAAqBgB,EAIxBA,EAAQvO,SAAQ,SAAUJ,GACxB2J,EAAM0B,QAAQgE,MAAMC,MAAMhB,EAAsCtO,SAS3D+P,EAAW,CACpB1K,KAAM,SAAc+F,EAAI0E,EAASnG,GAE/ByB,EAAGsC,IAAmB,EAEtBtC,EAAGuC,GAAqB,GAExB8B,EAAiBrE,EAAIzB,GAErBkG,EAAazE,EAAI0E,EAASnG,IAE5BuC,iBAAkB2D,EAClBG,QAASH,EACTzD,OAAQ,SAAgBhB,EAAI0E,EAASnG,GACnCqF,EAAoB5D,GAEpBmE,EAAoBnE,EAAIzB,GAExBiG,EAAUxE,EAAIoC,GACdoC,EAAUxE,EAAIqC,GACdmC,EAAUxE,EAAIsC,GACdkC,EAAUxE,EAAIuC,GAEd,eAAYvC,EAAIiC,GAChB,eAAYjC,EAAIkC,GAChB,eAAWlC,EAAI2C,GACf,eAAW3C,EAAI0C,GACf,eAAW1C,EAAI4C,GACf,eAAY5C,EAAI8C,M,uBC1PpB,IAAI+B,EAAU,EAAQ,QAItBzM,EAAOC,QAAU,SAAUxH,GACzB,GAAoB,iBAATA,GAAuC,UAAlBgU,EAAQhU,GACtC,MAAMiU,UAAU,wBAElB,OAAQjU,I,oCCRV,qNAASoD,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAc3M,IAAIoU,EAAkB,eAAe,QAAS,CAC5CvT,KAAM,OACNwT,aAAc,GACdjB,MAAO,UAELkB,EAAaF,EAAgBG,MAC7BC,EAAaJ,EAAgB5T,MAC7BiU,EAAkBL,EAAgBrE,KAClC2E,EAAmBN,EAAgBhB,MAI5B5S,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAIwQ,GAAa,GAAI,CACjGG,YAAa,eAAS,QAA0B,GAChDC,aAAc,eAAS,QAEvBC,SAAU,eAAS,OAAyB,GAC5CC,UAAW,eAAS,QAEpBC,KAAM,eAAS,QAAmB,GAClCC,cAAe,eAAS,QAAmB,GAC3CC,OAAQ,eAAS,QAAmB,GACpCC,YAAa,eAAS,QACtBC,UAAW,eAAS,QAAmB,GACvCC,SAAU,eAAS,QAAmB,GACtClG,KAAM,eAAS,QAAmB,MAC/B,oBAGMmG,EAAgB,aAAIrU,OAAO,CACpC2P,OAAQ,CAAC2D,GACT9T,MAAOA,EACPe,KAAM,WACJ,IAAIrB,EAAQoC,KAAKmS,GACjB,MAAO,CACLa,WAAY,eAASpV,GACrBqV,YAAajT,KAAKkT,YAAYtV,KAGlCgC,SAAU,CACRuT,cAAe,WACb,IAAIN,EAAY7S,KAAK6S,UACjBtU,EAAOyB,KAAKzB,KACZ6U,EAAmB,UAAT7U,EACV8U,EAAmB,UAAT9U,EACd,MAAO,CAAC,CAEN,eAAgB6U,EAEhB,yBAA0BP,IAAcO,IAAYC,EAGpD,eAAgBA,IAAYR,IAAcO,GACzCpT,KAAKsT,cAAetT,KAAKuT,aAE9BC,iBAAkB,WAEhB,OAAO,eAAQ,eAAUxT,KAAKuS,SAAU,GAAI,IAE9CkB,aAAc,WACZ,OAAO,eAAgBzT,KAAKwS,aAGhCkB,MAAOjW,EAAgB,GAAI0U,GAAiB,SAAUwB,GACpD,IAAIC,EAAiB,eAASD,GAC1BE,EAAgB7T,KAAKkT,YAAYS,GAEjCC,IAAmB5T,KAAKgT,YAAca,IAAkB7T,KAAKiT,cAE/DjT,KAAK8T,gBAEL9T,KAAKgT,WAAaY,EAClB5T,KAAKiT,YAAcY,MAGvBE,QAAS,WAEP/T,KAAKgU,qBAAuB,MAE9BC,QAAS,WAEPjU,KAAKmN,IAAI,QAAgCnN,KAAK8T,gBAEhDI,cAAe,WACblU,KAAK8T,iBAEPvT,QAAS,CACPuT,cAAe,WACbK,aAAanU,KAAKgU,sBAClBhU,KAAKgU,qBAAuB,MAE9BI,YAAa,SAAqBxW,EAAOkT,GACvC,IAAIuD,EAAQ1T,UAAUkB,OAAS,QAAsBkI,IAAjBpJ,UAAU,IAAmBA,UAAU,GAO3E,OANA/C,EAAQ,eAASA,IAEboC,KAAKyT,cAAkBzT,KAAK0S,gBAAiB2B,IAC/CzW,EAAQoC,KAAKwS,UAAU5U,EAAOkT,IAGzBlT,GAETsV,YAAa,SAAqBtV,GAYhC,OAXAA,EAAQ,eAASA,GAEboC,KAAK4M,OACPhP,EAAQA,EAAMgP,QAIZ5M,KAAK2S,SACP/U,EAAQ,eAAQA,EAAOA,IAGlBA,GAET0W,YAAa,SAAqB1W,GAChC,IAAI2W,EAAQvU,KAERqU,EAAQ1T,UAAUkB,OAAS,QAAsBkI,IAAjBpJ,UAAU,IAAmBA,UAAU,GACvE8R,EAAOzS,KAAKyS,KAEhB,IAAIA,GAAS4B,EAAb,CAMArU,KAAK8T,gBAGL,IAAIU,EAAW,WAGb,GAFA5W,EAAQ2W,EAAMrB,YAAYtV,GAEtBA,IAAU2W,EAAMtB,YAClBsB,EAAMtB,YAAcrV,EAEpB2W,EAAMtD,MAAMmB,EAAkBxU,QACzB,GAAI2W,EAAMd,aAAc,CAS7B,IAAIgB,EAASF,EAAMtU,MAAMC,MAGrBuU,GAAU7W,IAAU6W,EAAO7W,QAC7B6W,EAAO7W,MAAQA,KAOjB2U,EAAWvS,KAAKwT,iBAEhBjB,EAAW,IAAME,IAAS4B,EAC5BrU,KAAKgU,qBAAuBU,WAAWF,EAAUjC,GAGjDiC,MAGJG,QAAS,SAAiB7D,GAMxB,IAAIA,EAAMnP,OAAOiT,UAAjB,CAIA,IAAIhX,EAAQkT,EAAMnP,OAAO/D,MACrBiX,EAAiB7U,KAAKoU,YAAYxW,EAAOkT,IAKtB,IAAnB+D,GAA4B/D,EAAMgE,iBACpC,eAAUhE,EAAO,CACfiE,aAAa,KAKjB/U,KAAKgT,WAAa6B,EAClB7U,KAAKsU,YAAYO,GACjB7U,KAAKiR,MAAM,OAAkB4D,MAE/BG,SAAU,SAAkBlE,GAC1B,IAAIlT,EAAQkT,EAAMnP,OAAO/D,MACrBiX,EAAiB7U,KAAKoU,YAAYxW,EAAOkT,IAKtB,IAAnB+D,GAA4B/D,EAAMgE,iBACpC,eAAUhE,EAAO,CACfiE,aAAa,KAKjB/U,KAAKgT,WAAa6B,EAClB7U,KAAKsU,YAAYO,GAAgB,GACjC7U,KAAKiR,MAAM,OAAmB4D,KAEhCI,OAAQ,SAAgBnE,GAGtB,IAAIlT,EAAQkT,EAAMnP,OAAO/D,MACrBiX,EAAiB7U,KAAKoU,YAAYxW,EAAOkT,GAAO,IAE7B,IAAnB+D,IAGF7U,KAAKgT,WAAa,eAAShT,KAAKkT,YAAY2B,IAG5C7U,KAAKsU,YAAYO,GAAgB,IAInC7U,KAAKiR,MAAM,OAAiBH,IAE9B1G,MAAO,WAEApK,KAAKgM,UACR,eAAahM,KAAKkV,MAGtB3K,KAAM,WAECvK,KAAKgM,UACR,eAAYhM,KAAKkV,U,kCChQzB,mIAASlU,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EASpM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAI,eAAK,OAAY,CAAC,QAAS,eAAgB,GAAI,CAC/HyT,UAAW,eAAS,OAAkB,IACtCC,YAAa,eAAS,WACnB,SAGMC,EAAwB,aAAI3W,OAAO,CAC5CC,KAAM,QACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZqW,EAAYvW,EAAKuW,UACjBC,EAAWxW,EAAKwW,SACpB,OAAOzW,EAAE,KAAM,eAAU,eAAKG,EAAM,CAAC,OAAQ,CAC3CM,YAAa,aACX,CAACT,EAAE,OAAO,CACZS,YAAa,WACbE,MAAOvB,EAAMkX,YACb5V,MAAOtB,EAAMiX,UACbjX,MAAOA,EACPsX,GAAIF,GACHC,S,kCCpCP,yMAAS9X,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAa3M,IAAI+X,EAAiB,0LAEjBC,EAAkB,SAAyBhP,EAAOC,EAAQgP,GAC5D,IAAInP,EAAMoP,mBAAmBH,EAAe5S,QAAQ,OAAQ,eAAS6D,IAAQ7D,QAAQ,OAAQ,eAAS8D,IAAS9D,QAAQ,OAAQ8S,IAC/H,MAAO,oCAAoCjW,OAAO8G,IAIzCtI,EAAQ,eAAsB,CACvCuI,IAAK,eAAS,QACdoP,MAAO,eAAS,QAAmB,GACnCC,WAAY,eAAS,OAAkB,eACvCC,MAAO,eAAS,QAAmB,GACnCC,OAAQ,eAAS,QAAmB,GACpCC,MAAO,eAAS,QAAmB,GAEnCC,UAAW,eAAS,QAAmB,GACvCvP,OAAQ,eAAS,QACjBG,KAAM,eAAS,QAAmB,GAClCD,MAAO,eAAS,QAAmB,GAUnCoH,QAAS,eAAS,QAA0B,GAC5CkI,MAAO,eAAS,QAChB3P,IAAK,eAAS,QACd4P,OAAQ,eAAS,QACjBC,UAAW,eAAS,QAAmB,GACvC3P,MAAO,eAAS,SACf,SAGQ4P,EAAoB,aAAI5X,OAAO,CACxCC,KAAM,QACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAEAd,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZwH,EAAMvI,EAAMuI,IACZD,EAAMtI,EAAMsI,IACZuP,EAAQ7X,EAAM6X,MACdG,EAAYhY,EAAMgY,UAClBjI,EAAU/P,EAAM+P,QAChBvH,EAAQ,eAAUxI,EAAMwI,QAAU,KAClCC,EAAS,eAAUzI,EAAMyI,SAAW,KACpCS,EAAQ,KACRgP,EAAS,eAAOlY,EAAMkY,QAAQ9U,OAAO,QAAUuC,KAAK,KACpDsS,EAAQ,eAAOjY,EAAMiY,OAAO7U,OAAO,QAAUuC,KAAK,KA8BtD,OA5BI3F,EAAM2X,SACHlP,GAAUD,EACbC,EAASD,GACCA,GAASC,IACnBD,EAAQC,GAGLD,GAAUC,IACbD,EAAQ,EACRC,EAAS,GAIXH,EAAMkP,EAAgBhP,EAAOC,EAAQzI,EAAM4X,YAAc,eAEzDM,EAAS,KACTD,EAAQ,MAGNjY,EAAM4I,KACRM,EAAQ,aACClJ,EAAM2I,MACfO,EAAQ,cACClJ,EAAM8X,SACf5O,EAAQ,UACR2O,GAAQ,GAGHjX,EAAE,MAAO,eAAUG,EAAM,CAC9BO,MAAO,CACLgH,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EAAQ,eAASA,GAAS,KACjCC,OAAQA,EAAS,eAASA,GAAU,KACpCyP,OAAQA,GAAU,KAClBD,MAAOA,GAAS,MAElB1W,OAAQT,EAAS,CACf,gBAAiBd,EAAMmY,UACvB,YAAanY,EAAM+X,OAASC,EAC5B,QAASA,EACTjI,QAAqB,KAAZA,IAA8B,IAAZA,GAC1BxQ,EAAgBuB,EAAQ,WAAWU,OAAOuO,GAAU,eAASA,IAAwB,KAAZA,GAAiBxQ,EAAgBuB,EAAQoI,EAAOA,GAAQ3J,EAAgBuB,EAAQ,UAAW+W,GAAQ/W,U,kCCjHrL,gJAMWd,EAAQ,eAAsB,CACvC+E,MAAO,eAAS,QAChBsT,SAAU,eAAS,OAAkB,OACpC,QAGQC,EAA0B,aAAI9X,OAAO,CAC9CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SACpB,OAAOzW,EAAEZ,EAAMqY,SAAU,eAAUtX,EAAM,CACvCM,YAAa,eACXgW,GAAY,eAASrX,EAAM+E,Y,oCCtBnC,mIAASjC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAU3M,IAAI+Y,EAAmB,eAAK,OAAmB,CAAC,QAAS,cAC9CvY,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAI+U,GAAmB,GAAI,CACvGC,SAAU,eAAS,QAAmB,GACtC/P,OAAQ,eAAS,QACjBgQ,IAAK,eAAS,OAAyB,KACvCC,UAAW,eAAS,OAAyB,GAC7CC,aAAc,eAAS,QAAmB,GAC1CC,UAAW,eAAS,QAAmB,GACvCC,QAAS,eAAS,QAAmB,MAClC,SAGMC,EAAyB,aAAItY,OAAO,CAC7CC,KAAM,QACN0P,OAAQ,CAAC,QACTC,QAAS,WACP,MAAO,CACL2I,WAAYjX,OAGhB9B,MAAOA,EACP0B,SAAU,CACRsX,eAAgB,WACd,MAAO,CACLvQ,OAAQ3G,KAAK2G,QAAU,QAI7B9H,OAAQ,SAAgBC,GACtB,IAAIqY,EAAcnX,KAAK+O,gBAQvB,OANKoI,IACHA,EAAcrY,EAAE,OAAc,CAC5BZ,MAAO,eAAWuY,EAAkBzW,KAAKoX,WAItCtY,EAAE,MAAO,CACdS,YAAa,WACbuP,MAAO9O,KAAKkX,gBACX,CAACC,Q,kCCrDR,IAAIE,EAAgC,EAAQ,QACxCrO,EAAW,EAAQ,QACnBsO,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBtS,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QACjCsS,EAAqB,EAAQ,QAC7BC,EAAa,EAAQ,QAErBd,EAAMe,KAAKf,IACXgB,EAAMD,KAAKC,IACXC,EAAQF,KAAKE,MACbC,EAAuB,4BACvBC,EAAgC,oBAEhCC,EAAgB,SAAUC,GAC5B,YAAcjO,IAAPiO,EAAmBA,EAAKzS,OAAOyS,IAIxCX,EAA8B,UAAW,GAAG,SAAUY,EAASC,EAAeC,EAAiBC,GAC7F,IAAIC,EAA+CD,EAAOC,6CACtDC,EAAmBF,EAAOE,iBAC1BC,EAAoBF,EAA+C,IAAM,KAE7E,MAAO,CAGL,SAAiBG,EAAaC,GAC5B,IAAIC,EAAIxT,EAAuBlF,MAC3BkD,OAA0B6G,GAAfyO,OAA2BzO,EAAYyO,EAAYP,GAClE,YAAoBlO,IAAb7G,EACHA,EAASuG,KAAK+O,EAAaE,EAAGD,GAC9BP,EAAczO,KAAKlE,OAAOmT,GAAIF,EAAaC,IAIjD,SAAUE,EAAQF,GAChB,IACIJ,GAAgDC,GACzB,kBAAjBG,IAA0E,IAA7CA,EAAa/H,QAAQ6H,GAC1D,CACA,IAAIK,EAAMT,EAAgBD,EAAeS,EAAQ3Y,KAAMyY,GACvD,GAAIG,EAAIC,KAAM,OAAOD,EAAIhb,MAG3B,IAAIkb,EAAK9P,EAAS2P,GACdI,EAAIxT,OAAOvF,MAEXgZ,EAA4C,oBAAjBP,EAC1BO,IAAmBP,EAAelT,OAAOkT,IAE9C,IAAIQ,EAASH,EAAGG,OAChB,GAAIA,EAAQ,CACV,IAAIC,EAAcJ,EAAGK,QACrBL,EAAGM,UAAY,EAEjB,IAAIC,EAAU,GACd,MAAO,EAAM,CACX,IAAI7T,EAASiS,EAAWqB,EAAIC,GAC5B,GAAe,OAAXvT,EAAiB,MAGrB,GADA6T,EAAQ5X,KAAK+D,IACRyT,EAAQ,MAEb,IAAIK,EAAW/T,OAAOC,EAAO,IACZ,KAAb8T,IAAiBR,EAAGM,UAAY5B,EAAmBuB,EAAGxB,EAASuB,EAAGM,WAAYF,IAKpF,IAFA,IAAIK,EAAoB,GACpBC,EAAqB,EAChB5X,EAAI,EAAGA,EAAIyX,EAAQxX,OAAQD,IAAK,CACvC4D,EAAS6T,EAAQzX,GAUjB,IARA,IAAI6X,EAAUlU,OAAOC,EAAO,IACxBkU,EAAW/C,EAAIgB,EAAI1S,EAAUO,EAAOiL,OAAQsI,EAAElX,QAAS,GACvD8X,EAAW,GAMNC,EAAI,EAAGA,EAAIpU,EAAO3D,OAAQ+X,IAAKD,EAASlY,KAAKsW,EAAcvS,EAAOoU,KAC3E,IAAIC,EAAgBrU,EAAOsU,OAC3B,GAAId,EAAmB,CACrB,IAAIe,EAAe,CAACN,GAAS/Z,OAAOia,EAAUD,EAAUX,QAClChP,IAAlB8P,GAA6BE,EAAatY,KAAKoY,GACnD,IAAIG,EAAczU,OAAOkT,EAAa/X,WAAMqJ,EAAWgQ,SAEvDC,EAAcC,EAAgBR,EAASV,EAAGW,EAAUC,EAAUE,EAAepB,GAE3EiB,GAAYF,IACdD,GAAqBR,EAAEnV,MAAM4V,EAAoBE,GAAYM,EAC7DR,EAAqBE,EAAWD,EAAQ5X,QAG5C,OAAO0X,EAAoBR,EAAEnV,MAAM4V,KAKvC,SAASS,EAAgBR,EAAStW,EAAKuW,EAAUC,EAAUE,EAAeG,GACxE,IAAIE,EAAUR,EAAWD,EAAQ5X,OAC7BsY,EAAIR,EAAS9X,OACbR,EAAUyW,EAKd,YAJsB/N,IAAlB8P,IACFA,EAAgBvC,EAASuC,GACzBxY,EAAUwW,GAELK,EAAczO,KAAKuQ,EAAa3Y,GAAS,SAAU+Y,EAAOC,GAC/D,IAAIC,EACJ,OAAQD,EAAG3W,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAO+V,EACjB,IAAK,IAAK,OAAOtW,EAAIS,MAAM,EAAG8V,GAC9B,IAAK,IAAK,OAAOvW,EAAIS,MAAMsW,GAC3B,IAAK,IACHI,EAAUT,EAAcQ,EAAGzW,MAAM,GAAI,IACrC,MACF,QACE,IAAI6B,GAAK4U,EACT,GAAU,IAAN5U,EAAS,OAAO2U,EACpB,GAAI3U,EAAI0U,EAAG,CACT,IAAIrQ,EAAI8N,EAAMnS,EAAI,IAClB,OAAU,IAANqE,EAAgBsQ,EAChBtQ,GAAKqQ,OAA8BpQ,IAApB4P,EAAS7P,EAAI,GAAmBuQ,EAAG3W,OAAO,GAAKiW,EAAS7P,EAAI,GAAKuQ,EAAG3W,OAAO,GACvF0W,EAETE,EAAUX,EAASlU,EAAI,GAE3B,YAAmBsE,IAAZuQ,EAAwB,GAAKA,U,oCCnI1C,W,wECAIC,E,wBCAOC,EAAkB,O,4JCYzB,EAAU,SAAiBzN,GAC7B,eAASA,EAAI,SAAU,GAEvB,gBAAU,WACR,eAAOA,GACP,eAASA,EAAI,SAAU,GAAGrN,OAAOqN,EAAG0N,aAAc,WAIlD,EAAe,SAAsB1N,GACvC,eAAYA,EAAI,WAGd,EAAU,SAAiBA,GAC7B,eAASA,EAAI,SAAU,QACvB,eAASA,EAAI,UAAW,SACxB,eAASA,EAAI,SAAU,GAAGrN,OAAO,eAAOqN,GAAIpG,OAAQ,OACpD,eAAOoG,GACP,eAASA,EAAI,SAAU,IAGrB,EAAe,SAAsBA,GACvC,eAAYA,EAAI,WAMd2N,EAAmB,CACrBC,KAAK,EACLC,WAAY,GACZC,iBAAkB,aAClBC,aAAc,gBACdC,WAAY,gBACZC,iBAAkB,aAClBC,aAAc,YAIZC,EAAsB,CACxBC,MAAO,EACPC,WAAY,EACZC,MAAO,EACPC,WAAY,GAIHC,EAA0B,aAAI7c,OAAO,CAC9CC,KAAM,OACNC,YAAY,EACZV,MAAO,CACLsd,OAAQ,CAENjd,KAAMkd,QACNC,SAAS,IAGb7c,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SACpB,OAAOzW,EAAE,aACT,eAAUG,EAAM,CACdf,MAAOwc,EACPlF,GAAI0F,GACH,CACDhd,MAAOA,IAETqX,MF9EJ,SAASvU,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAmB3M,IAAIoS,EAAgC,eAAuB,OAAe,UACtEG,EAAuC,eAAuB,OAAe,iBAC7E0L,EAA4B,eAAiB,OAAe,aAC5D5L,EAAwB,eAAiB,OAAe,SACxDC,EAA6B,eAAiB,OAAe,cAE7D8B,EAAkB,eAAe,UAAW,CAC9CvT,KAAM,OACNwT,cAAc,IAEZC,EAAaF,EAAgBG,MAC7BC,EAAaJ,EAAgB5T,MAC7BiU,EAAkBL,EAAgBrE,KAClC2E,EAAmBN,EAAgBhB,MAG5B,EAAQ,eAAsB,eAASpP,EAAcA,EAAcA,EAAc,GAAIoK,EAAA,MAAUoG,GAAa,GAAI,CAEzH0J,UAAW,eAAS,QACpBJ,OAAQ,eAAS,QAAmB,GACpCK,MAAO,eAAS,QAAmB,GACnCvd,IAAK,eAAS,OAAkB,UAC7B,QAGMwd,EAAyB,aAAIpd,OAAO,CAC7CC,KAAM,OACN0P,OAAQ,CAACvC,EAAA,KAASkG,EAAY,OAAoB,QAClD9T,MAAO,EACPe,KAAM,WACJ,MAAO,CACLoN,KAAMrM,KAAKmS,GACX4J,eAAe,IAGnBnc,SAAU,CACRoc,YAAa,WACX,IAAID,EAAgB/b,KAAK+b,cACzB,MAAO,CACL,kBAAmB/b,KAAK6b,MACxBI,UAAWF,EACX1P,KAAMrM,KAAKqM,OAAS0P,IAGxB5T,UAAW,WACT,IAAIoM,EAAQvU,KAEZ,MAAO,CACLkc,QAASlc,KAAKqM,KACd8P,MAAO,WACL5H,EAAMlI,MAAO,MAKrBqH,OAAQ6G,EAAS,GAAI9c,EAAgB8c,EAAQpI,GAAiB,SAAUwB,GAClEA,IAAa3T,KAAKqM,OACpBrM,KAAKqM,KAAOsH,MAEZlW,EAAgB8c,EAAQ,QAAQ,SAAc5G,EAAUyI,GACtDzI,IAAayI,GACfpc,KAAKqc,eAEL9B,GACJxG,QAAS,WACP/T,KAAKqM,KAAOrM,KAAKmS,IAEnB8B,QAAS,WACP,IAAIqI,EAAStc,KAEbA,KAAKqM,KAAOrM,KAAKmS,GAEjBnS,KAAKuc,aAAazM,EAA+B9P,KAAKwc,iBAEtDxc,KAAKuc,aAAaZ,EAA2B3b,KAAKyc,oBAE9Czc,KAAK6b,QAEP7b,KAAK0c,iBAAgB,GACrB1c,KAAK2c,gBAGP3c,KAAK8N,WAAU,WACbwO,EAAOD,eAGTrc,KAAKuc,aAAatM,GAAsC,SAAUnE,GAC5DA,IAAOwQ,EAAOM,UAChBN,EAAOxO,UAAUwO,EAAOO,cAI9BlL,QAAS,WAIP3R,KAAK6c,YAIPC,YAAa,WACP9c,KAAK6b,OACP7b,KAAK0c,iBAAgB,IAKzBK,UAAW,WACL/c,KAAK6b,OACP7b,KAAK0c,iBAAgB,GAGvB1c,KAAK6c,YAEP3I,cAAe,WAEblU,KAAKqM,MAAO,EAERrM,KAAK6b,OAAS,QAChB7b,KAAK0c,iBAAgB,IAGzBnc,QAAS,CACPmc,gBAAiB,SAAyBlH,GACxC,eAAWA,EAAIwH,OAAQ,SAAUhd,KAAK2c,aAAc,SACpD,eAAWnH,EAAIwH,OAAQ,oBAAqBhd,KAAK2c,aAAc,UAEjEM,OAAQ,WACNjd,KAAKqM,MAAQrM,KAAKqM,MAEpB6Q,QAAS,WACPld,KAAK+b,eAAgB,EAErB/b,KAAKiR,MAAM,SAEbkM,aAAc,WACZnd,KAAK+b,eAAgB,EACrB/b,KAAKiR,MAAM,SAEbmM,QAAS,WACPpd,KAAK+b,eAAgB,EAErB/b,KAAKiR,MAAM,SAEboM,aAAc,WACZrd,KAAK+b,eAAgB,EACrB/b,KAAKiR,MAAM,SAEboL,UAAW,WACT,IAAIhQ,EAAOrM,KAAKqM,KACZuP,EAAY5b,KAAK4b,UACjB9P,EAAK9L,KAAK4c,SACd5c,KAAKiR,MAAMmB,EAAkB/F,GAE7BrM,KAAKsd,WAAWvN,EAAuBjE,EAAIO,GAEvCuP,GAAavP,GAEfrM,KAAKsd,WAAW3B,EAA2B7P,EAAI8P,IAGnDiB,SAAU,WAIR7c,KAAKsd,WAAWtN,EAA4BhQ,KAAK4c,SAAU5c,KAAKqM,OAElEkR,kBAAmB,WAIjB,IAAIrI,EAAMlV,KAAKkV,IACXsI,EAAU,eAAStI,EAAKsF,GAC5B,eAAYtF,EAAKsF,GACjB,IAAIiD,EAAiC,UAAvB,eAAMvI,GAAKwI,QAMzB,OAJIF,GACF,eAAStI,EAAKsF,GAGTiD,GAETE,aAAc,SAAsB7M,GAClC,IAAI/D,EAAK+D,EAAMnP,OAIV3B,KAAK6b,OAAU9O,GAAkC,UAA5B,eAAM/M,KAAKkV,KAAKwI,WAKrC,eAAQ3Q,EAAI,8BAA+B,eAAQ,2BAA4BA,IAAS/M,KAAKud,sBAChGvd,KAAKqM,MAAO,KAGhBmQ,gBAAiB,SAAyB1Q,GACpCA,IAAO9L,KAAK4c,UACd5c,KAAKid,UAGTR,mBAAoB,SAA4BmB,EAAUC,GACxD,IAAIjC,EAAY5b,KAAK4b,UACjBvP,EAAOrM,KAAKqM,KAEhB,GAAKuP,GAAaA,IAAciC,EAAhC,CAIA,IAAIC,EAASF,IAAa5d,KAAK4c,UAG3BkB,IAAWzR,IAASyR,GAAUzR,IAChCrM,KAAKid,WAGTN,aAAc,WAEZ3c,KAAKqM,KAAmC,UAA5B,eAAMrM,KAAKkV,KAAKwI,UAGhC7e,OAAQ,SAAgBC,GACtB,IAAI0c,EAASxb,KAAKwb,OACd7S,EAAW7J,EAAEkB,KAAK1B,IAAK,CACzBmB,MAAOO,KAAKgc,YACZ+B,WAAY,CAAC,CACXpf,KAAM,OACNf,MAAOoC,KAAKqM,OAEd7M,MAAO,CACLsM,GAAI9L,KAAK4c,UAEXpH,GAAI,CACFlL,MAAOtK,KAAK2d,eAEb3d,KAAK+O,cAAc,OAAmB/O,KAAKmI,YAC9C,OAAOrJ,EAAEyc,EAAY,CACnBrd,MAAO,CACLsd,OAAQA,GAEVhG,GAAI,CACF2F,MAAOnb,KAAKkd,QACZ9B,WAAYpb,KAAKmd,aACjB9B,MAAOrb,KAAKod,QACZ9B,WAAYtb,KAAKqd,eAElB,CAAC1U,Q,oCG/QR,6IAASlL,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAO3M,IAAIsgB,EAAwB,SAA+BpgB,GAEzD,OADAA,EAAkB,SAAVA,EAAmB,QAAoB,UAAVA,EAAoB,MAAQA,EAC1D,mBAAmB8B,OAAO9B,IAIxBM,EAAQ,eAAsB,CACvCkJ,MAAO,eAAS,QAEhB6W,WAAY,eAAS,QAAmB,GACxCC,KAAM,eAAS,QAAmB,GAClCC,UAAW,eAAS,QAAmB,GACvCC,MAAO,eAAS,QAAmB,GACnC/f,MAAO,eAAS,QAAmB,GACnCggB,KAAM,eAAS,QAAmB,GAClC/f,IAAK,eAAS,OAAkB,MAChCggB,SAAU,eAAS,QAAmB,IACrC,SAGQC,EAAoB,aAAI7f,OAAO,CACxCC,KAAM,QACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAEAd,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChB8I,EAAOngB,EAAMmgB,KACbD,EAAQlgB,EAAMkgB,MACdE,EAAWpgB,EAAMogB,SACjBlX,EAAQlJ,EAAMkJ,MACd6W,EAAa/f,EAAM+f,WACvB,OAAOnf,EAAEZ,EAAMI,IAAK,eAAUW,EAAM,CAClCM,YAAa,MACbE,OAAQT,EAAS,CACf,WAAYqf,EACZ,YAAaD,IAAUC,EACvB,oBAAqBC,GAAYL,GAAcI,EAC/C,qBAAsBC,GAAYL,GAAcG,IAAUC,EAC1D,cAAeC,EACf,YAAaA,GAAYpgB,EAAMggB,KAC/B,iBAAkBI,GAAYpgB,EAAMigB,WACnC1gB,EAAgBuB,EAAQgf,EAAsB5W,IAASkX,GAAYlX,GAAQ3J,EAAgBuB,EAAQ,QAASd,EAAMG,OAAQW,KAC3HuW,O,2CCrDR,IAAI,EAAS,WACX,IAAIiJ,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAO5gB,OAAOsD,KAAKqd,EAAIK,aAAahd,OAAS8c,EAAG,MAAO,CACrDnf,MAAO,CACL,GAAM,iBAEP,CAACmf,EAAG,iBAAkB,CACvBnf,MAAO,CACL,cAAegf,EAAIK,YAAYjX,UAE/B+W,EAAG,UAAW,CAChBnf,MAAO,CACL,GAAM,iBAEP,CAACmf,EAAG,QAAS,CAACA,EAAG,QAAS,CAC3Bnf,MAAO,CACL,GAAM,IACN,KAAQ,KACR,MAAS,IACT,WAAY,MAEb,CAACmf,EAAG,gBAAiB,CACtBnf,MAAO,CACL,aAAcgf,EAAIK,YAAYC,aAE9BH,EAAG,0BAA2B,CAChCnf,MAAO,CACL,aAAcgf,EAAIK,YAAYE,kBAE9BJ,EAAG,uBAAwB,CAC7Bnf,MAAO,CACL,eAAgBgf,EAAIK,YAAYG,iBAE/B,GAAIL,EAAG,QAAS,CACnBnf,MAAO,CACL,GAAM,IACN,KAAQ,KACR,MAAS,IACT,WAAY,MAEb,CAACmf,EAAG,eAAgB,CACrBnf,MAAO,CACL,MAASgf,EAAIK,YAAYI,SAExB,GAAIN,EAAG,QAAS,CACnBnf,MAAO,CACL,GAAM,IACN,KAAQ,KACR,MAAS,MAEV,CAACmf,EAAG,wBAAyB,CAC9Bnf,MAAO,CACL,gBAAiBgf,EAAIK,YAAYK,gBAEjCP,EAAG,qBAAsB,CAC3Bnf,MAAO,CACL,YAAegf,EAAIK,YAAYM,eAE/BR,EAAG,gBAAiB,CACtBnf,MAAO,CACL,aAAcgf,EAAIK,YAAYO,UAE7B,GAAIT,EAAG,QAAS,CACnBnf,MAAO,CACL,KAAQ,KACR,MAAS,MAEV,CAACmf,EAAG,mBAAoB,IAAK,IAAK,IAAK,GAAKH,EAAIa,MAEjDC,EAAkB,G,yBCxElB,EAAS,WACX,IAAId,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAClBpf,YAAa,sBACbC,MAAO,CACL,UAAWgf,EAAIe,WAAWC,SAC1B,UAAW,GACX,IAAO,cACP,aAAc,QAEf,CAACb,EAAG,MAAO,CACZpf,YAAa,qBACZ,CAACof,EAAG,MAAO,CACZpf,YAAa,mDACZ,CAACof,EAAG,MAAO,CACZpf,YAAa,eACZ,CAACof,EAAG,QAAS,CACdnf,MAAO,CACL,IAAOgf,EAAIe,WAAWE,OACtB,QAAW,GACX,MAAS,GACT,IAAO,oBAEN,GAAId,EAAG,MAAO,CACjBpf,YAAa,sBACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,cACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAGnB,EAAIe,WAAWK,UAAY,OAAQjB,EAAG,IAAK,CACjEpf,YAAa,cACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAGnB,EAAIe,WAAWM,aAAe,aAAclB,EAAG,MAAO,CAC5Epf,YAAa,sBACZ,CAACof,EAAG,WAAY,CACjBnf,MAAO,CACL,WAAc,KACd,KAAQ,UAET,CAACmf,EAAG,kBAAmB,CACxBpf,YAAa,UACbC,MAAO,CACL,OAAU,sBAEX,CAACmf,EAAG,eAAgB,CACrBnf,MAAO,CACL,KAAQ,mBACR,KAAQ,SAEP,GAAImf,EAAG,aAAc,CACxBnf,MAAO,CACL,GAAM,oBACN,SAAU,KAEX,CAACmf,EAAG,SAAU,CACfpf,YAAa,4BACbC,MAAO,CACL,MAAS,GACT,YAAa,QAEfL,YAAaqf,EAAIsB,GAAG,CAAC,CACnBniB,IAAK,aACLoiB,GAAI,WACF,MAAO,CAACpB,EAAG,aAAc,CACvBpf,YAAa,mBACbC,MAAO,CACL,KAAQ,eACR,OAAU,KAEX,CAACmf,EAAG,OAAQ,CACbpf,YAAa,qBACZ,CAACif,EAAIkB,GAAG,UAAWf,EAAG,eAAgB,CACvCpf,YAAa,oBACbC,MAAO,CACL,KAAQ,cAEP,GAAImf,EAAG,aAAc,CACxBpf,YAAa,mBACbC,MAAO,CACL,KAAQ,iBAET,CAACmf,EAAG,OAAQ,CACbpf,YAAa,qBACZ,CAACif,EAAIkB,GAAG,WAAYf,EAAG,eAAgB,CACxCpf,YAAa,oBACbC,MAAO,CACL,KAAQ,eAEP,GAAImf,EAAG,aAAc,CACxBpf,YAAa,mBACbC,MAAO,CACL,KAAQ,iBAET,CAACmf,EAAG,OAAQ,CACbpf,YAAa,qBACZ,CAACif,EAAIkB,GAAG,YAAaf,EAAG,eAAgB,CACzCpf,YAAa,oBACbC,MAAO,CACL,KAAQ,gBAEP,GAAImf,EAAG,aAAc,CACxBpf,YAAa,mBACbC,MAAO,CACL,KAAQ,iBAET,CAACmf,EAAG,OAAQ,CACbpf,YAAa,qBACZ,CAACif,EAAIkB,GAAG,aAAcf,EAAG,eAAgB,CAC1Cpf,YAAa,oBACbC,MAAO,CACL,KAAQ,gBAEP,KAEPwgB,OAAO,GACN,CACDriB,IAAK,WACLoiB,GAAI,WACF,MAAO,CAACpB,EAAG,WAAY,CACrBpf,YAAa,UACbC,MAAO,CACL,QAAW,YAEZ,CAACmf,EAAG,eAAgB,CACrBpf,YAAa,oBACbC,MAAO,CACL,KAAQ,cAERmf,EAAG,OAAQ,CACbpf,YAAa,sCACZ,CAACif,EAAIkB,GAAG,WAAY,KAEzBM,OAAO,QAEN,IAAK,IAAK,MAEb,EAAkB,G,oLC7HlBC,EAAa,iBACblQ,EAAwB,eAAiB,OAAe,SACxDC,EAA6B,eAAiB,OAAe,cAEtD,EAAQ,eAAsB,CACvChE,SAAU,eAAS,QAAmB,GACtC7N,MAAO,eAAS,OAAkB,qBAClCwD,OAAQ,eAAS,YAAwBoI,GAAW,IAEnD,SAGQmW,EAA6B,aAAIxhB,OAAO,CACjDC,KAAM,QACNof,WAAY,CACVrM,SAAU,QAEZrD,OAAQ,CAAC,OAAmB,QAC5BnQ,MAAO,EACPe,KAAM,WACJ,MAAO,CACLkhB,aAAa,IAGjBpM,QAAS,WACP/T,KAAKuc,aAAaxM,EAAuB/P,KAAKogB,gBAC9CpgB,KAAKuc,aAAavM,EAA4BhQ,KAAKogB,iBAErD7f,QAAS,CACP8f,QAAS,SAAiBvP,GACnB9Q,KAAKgM,UAERhM,KAAKiR,MAAM,OAAkBH,IAGjCsP,eAAgB,SAAwBtU,EAAIuF,GAGtCvF,IAAO9L,KAAK2B,SACd3B,KAAKmgB,YAAc9O,KAIzBxS,OAAQ,SAAgBC,GACtB,IAAIkN,EAAWhM,KAAKgM,SACpB,OAAOlN,EAAE,SAAU,CACjBS,YAAa0gB,EACbxgB,MAAO,CACLuM,SAAUA,GAEZ+R,WAAY,CAAC,CACXpf,KAAM,WACNf,MAAOoC,KAAK2B,SAEdnC,MAAO,CACLjB,KAAM,SACNyN,SAAUA,EACV,aAAchM,KAAK7B,OAErBqX,GAAI,CACFlL,MAAOtK,KAAKqgB,UAEb,CAACrgB,KAAK+O,cAAc,OAAmB,CACxCuR,SAAUtgB,KAAKmgB,eACXrhB,EAAE,OAAQ,CACdS,YAAa,GAAGG,OAAOugB,EAAY,gB,oCC2DzC,GACE5d,WAAY,CACViF,MAAJ,OACIiZ,MAAJ,OACIC,QAAJ,OACInL,SAAJ,OACIoL,QAAJ,OACIP,cAAJ,EACIpE,UAAJ,OACIxF,KAAJ,QAEEyH,WAAY,CACV2C,OAAJ,QAEExiB,MAAO,CACLqhB,WAAY,CACVhhB,KAAMV,OACN6d,QAAS,gBCxJsW,I,YCOjXiF,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WACX,IAAInC,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAUH,EAAIoC,GAAGpC,EAAIqC,WAAW,SAAU5hB,EAAMtB,EAAK8S,GAC7D,OAAOkO,EAAG,MAAO,CACfhhB,IAAKsB,EAAKgE,MACVxD,MAAOgR,EAAQ,OAAS,IACvB,CAACkO,EAAG,KAAM,CACXpf,YAAa,yBACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAGhiB,GAAO,OAAQghB,EAAG,cAAe,CAACH,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,GAAQ,QAAS,MAC7F,IAEF,EAAkB,G,YCOtB,GACEoD,WAAY,CACViF,MAAJ,OACIwZ,UAAJ,QAEE5iB,MAAO,CACL2iB,UAAW,CACTtiB,KAAMV,OACN6d,QAAS,gBC7BqW,ICOhX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WACX,IAAI8C,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAACA,EAAG,KAAM,CAC5Bpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,uBAAwBlB,EAAIoC,GAAGpC,EAAIuC,WAAW,SAAU9hB,EAAMwR,GACvE,OAAOkO,EAAG,MAAO,CACfhhB,IAAK8S,EACLlR,YAAa,wDACZ,CAACof,EAAG,MAAO,CACZpf,YAAa,QACZ,CAACof,EAAG,WAAY,CACjBnf,MAAO,CACL,KAAQ,KACR,IAAOP,EAAKwgB,WAEX,GAAId,EAAG,MAAO,CACjBpf,YAAa,qBACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAK2gB,UAAY,OAAQjB,EAAG,QAAS,CAC3Dpf,YAAa,cACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAG1gB,EAAK+hB,eAAgBrC,EAAG,MAAO,CAC/Cpf,YAAa,wBACZ,CAACof,EAAG,eAAgB,CACrBlf,MAAOR,EAAKgiB,SAAW,mBAAqB,GAC5CzhB,MAAO,CACL,KAAQ,WACR,KAAQ,SAEP,SACF,IAEH,EAAkB,G,YCItB,GACE6C,WAAY,CACViF,MAAJ,OACI4Z,QAAJ,QAEEhjB,MAAO,CACL6iB,UAAW,CACTxiB,KAAM4iB,MACNzF,QAAS,WAAf,aC/C6X,ICOzX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WACX,IAAI8C,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAACA,EAAG,KAAM,CAACH,EAAIkB,GAAG,mBAAoBlB,EAAIoC,GAAGpC,EAAI4C,aAAa,SAAUniB,EAAMwR,GAChG,OAAOkO,EAAG,MAAO,CACfhhB,IAAKsB,EAAKwgB,OACVlgB,YAAa,uBACbE,MAAgB,GAATgR,EAAa,OAAS,QAC5B,CAACkO,EAAG,MAAO,CACZpf,YAAa,wDACZ,CAACof,EAAG,WAAY,CACjBpf,YAAa,OACbC,MAAO,CACL,KAAQ,KACR,IAAOP,EAAKoiB,UAEZ1C,EAAG,MAAO,CACZpf,YAAa,qBACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKgE,OAAS,OAAQ0b,EAAG,SAAU,CAACA,EAAG,QAAS,CACtEpf,YAAa,cACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAK6M,OAAQ6S,EAAG,eAAgB,CACtDnf,MAAO,CACL,KAAQ,sBAEP,IAAK,GAAImf,EAAG,MAAO,CACtBpf,YAAa,wBACZ,CAACof,EAAG,eAAgB,CACrBlf,MAAOR,EAAKgiB,SAAW,mBAAqB,GAC5CzhB,MAAO,CACL,KAAQ,WACR,KAAQ,SAEP,IAAK,GAAImf,EAAG,cAAe,CAC9Bpf,YAAa,SACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKqiB,MAAQ,OAAQ3C,EAAG,SAAU,CAACA,EAAG,QAAS,CAACH,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKsiB,MAAQ,UAAW,OACjH,IAEH,EAAkB,G,YCWtB,IACElf,WAAY,CACViF,MAAJ,OAAI,QAAJ,OAAI,MAAJ,OAAI,UAAJ,QAEEpJ,MAAO,CACLkjB,YAAa,CACX7iB,KAAM4iB,MACNzF,QAAS,gBC3D2W,MCOtX,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WACX,IAAI8C,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,MAAOH,EAAIoC,GAAGpC,EAAIgD,OAAO,SAAUviB,GAC3C,OAAO0f,EAAG,SAAU,CAClBhhB,IAAKsB,EAAKwgB,QACT,CAACd,EAAG,MAAO,CACZpf,YAAa,wDACZ,CAACof,EAAG,WAAY,CACjBpf,YAAa,OACbC,MAAO,CACL,IAAOP,EAAKwgB,OACZ,KAAQ,QAERd,EAAG,MAAO,CACZpf,YAAa,qBACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAK2gB,UAAY,OAAQjB,EAAG,QAAS,CAC3Dpf,YAAa,cACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAG1gB,EAAKwiB,gBAAiB,GAAI9C,EAAG,cAAe,CAACH,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKyiB,UAAY,OAAQziB,EAAK0iB,QAAUhD,EAAG,QAAS,CACrIpf,YAAa,QACbC,MAAO,CACL,MAAS,GACT,QAAW,GACX,IAAOP,EAAK0iB,WAEXnD,EAAIa,KAAMpgB,EAAK2iB,QAAUjD,EAAG,UAAW,CAC1Cpf,YAAa,gBACbC,MAAO,CACL,KAAQ,SACR,IAAOP,EAAK2iB,QACZ,gBAAmB,MAElBpD,EAAIa,KAAMV,EAAG,QAAS,CACzBpf,YAAa,eACZ,CAACof,EAAG,QAAS,CACdpf,YAAa,+DACbC,MAAO,CACL,GAAM,MAEP,CAACmf,EAAG,SAAU,CACfpf,YAAa,oDACZ,CAACof,EAAG,eAAgB,CACrBpf,YAAa,QACbE,MAAOR,EAAK4iB,SAAW,gBAAkB,eACzCriB,MAAO,CACL,KAAQ,YACR,KAAQ,QAERmf,EAAG,OAAQ,CAACH,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAI1b,WAAW7D,EAAK6iB,YAAa,GAAInD,EAAG,MAAO,CAC3Epf,YAAa,4BACZ,CAACof,EAAG,iBAAkB,CACvBpf,YAAa,OACbC,MAAO,CACL,KAAQ,OAETgf,EAAIoC,GAAG3hB,EAAK8iB,YAAY,SAAUC,EAAYpgB,GAC/C,OAAO+c,EAAG,WAAY,CACpBZ,WAAY,CAAC,CACXpf,KAAM,YACNsjB,QAAS,2BACTrkB,MAAOokB,EAAWpC,SAClBsC,WAAY,sBACZ1V,UAAW,CACT,OAAS,EACT,QAAU,KAGd7O,IAAKiE,EACLrC,YAAa,UACbC,MAAO,CACL,IAAOwiB,EAAWvC,aAGpB,GAAId,EAAG,SAAU,CACnBpf,YAAa,sCACZ,CAACif,EAAIkB,GAAG,KAAOlB,EAAImB,GAAG1gB,EAAKkjB,YAAc,aAAc,IAAK,GAAIxD,EAAG,QAAS,CAC7Epf,YAAa,gFACbC,MAAO,CACL,GAAM,MAEP,CAACmf,EAAG,SAAU,CACfpf,YAAa,yBACZ,CAACof,EAAG,eAAgB,CACrBpf,YAAa,qBACbC,MAAO,CACL,KAAQ,oBACR,KAAQ,QAERmf,EAAG,OAAQ,CACbpf,YAAa,mBACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAI1b,WAAW7D,EAAKmjB,eAAgB,GAAIzD,EAAG,SAAU,CACrEpf,YAAa,yBACZ,CAACof,EAAG,eAAgB,CACrBpf,YAAa,qBACbC,MAAO,CACL,KAAQ,aACR,KAAQ,QAERmf,EAAG,OAAQ,CACbpf,YAAa,cACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAGnB,EAAI1b,WAAW7D,EAAKojB,YAAa,IAAK,IAAK,GAAI7D,EAAIoC,GAAG3hB,EAAKqjB,kBAAkB,SAAUC,EAASC,GAChH,OAAO7D,EAAG,MAAO,CACfhhB,IAAK6kB,EACLjjB,YAAa,iCACZ,CAACof,EAAG,WAAY,CACjBpf,YAAa,cACbC,MAAO,CACL,IAAO+iB,EAAQ9C,OACf,KAAQ,QAERd,EAAG,MAAO,CACZpf,YAAa,2BACZ,CAACof,EAAG,MAAO,CACZpf,YAAa,qDACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG4C,EAAQ3C,UAAY,OAAQjB,EAAG,SAAU,CAC/Dpf,YAAa,aACZ,CAACof,EAAG,eAAgB,CACrBpf,YAAa,QACbE,MAAO8iB,EAAQV,SAAW,gBAAkB,eAC5CriB,MAAO,CACL,KAAQ,YACR,KAAQ,QAERmf,EAAG,OAAQ,CACbpf,YAAa,2BACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAG4C,EAAQE,mBAAoB,IAAK,GAAI9D,EAAG,QAAS,CAACH,EAAIkB,GAAGlB,EAAImB,GAAG4C,EAAQA,eAAgB,MACxG5D,EAAG,eAAgB,CAACA,EAAG,kBAAmB,CAC5Cnf,MAAO,CACL,KAAQ,IACR,YAAe,kBAEd,GAAImf,EAAG,WAAY,CACtBZ,WAAY,CAAC,CACXpf,KAAM,SACNsjB,QAAS,eACTrkB,MAAO,4BACPskB,WAAY,8BACZ1V,UAAW,CACT,KAAO,KAGXhN,MAAO,CACL,KAAQ,KACR,QAAW,YAEZ,CAACgf,EAAIkB,GAAG,qBAAsB,MAC/B,IAEF,GAAkB,G,8ECOtB,IACErd,WAAY,CACV6e,QAAJ,OACI5Z,MAAJ,OACIwZ,UAAJ,OACIN,QAAJ,OACIkC,cAAJ,QACIpM,KAAJ,OACIqM,WAAJ,QACIC,KAAJ,OACIC,MAAJ,OACIC,KAAJ,OACI1U,aAAJ,QACI2U,OAAJ,SAEEhF,WAAY,CACV,YAAa,GAAjB,KACI2C,OAAJ,QAEExiB,MAAO,CACLsjB,MAAO,CACLjjB,KAAM4iB,MACNzF,QAAS,WAAf,YAGEnb,QAAS,CACPuC,WAAJ,UC3LmX,MCO/W,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WACX,IAAI0b,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAACA,EAAG,KAAM,CAC5Bpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,qBAAsBf,EAAG,QAASH,EAAIoC,GAAGpC,EAAIwE,cAAc,SAAU/jB,GAC9E,OAAO0f,EAAG,QAAS,CACjBhhB,IAAKsB,EAAKgkB,IACV1jB,YAAa,qBACbC,MAAO,CACL,GAAM,IACN,KAAQ,MAET,CAACmf,EAAG,SAAU,CAACA,EAAG,QAAS,CAC5Bnf,MAAO,CACL,MAAS,GACT,QAAW,GACX,IAAOP,EAAKgkB,IACZ,IAAOhkB,EAAKgkB,IAAIrf,MAAM,OAErB,IAAK,MACR,IAAK,IAEP,GAAkB,GCQtB,IACEvB,WAAY,CACViF,MAAJ,OACIsb,KAAJ,OACIE,KAAJ,OACID,MAAJ,OACIvM,KAAJ,QAEEpY,MAAO,CACL8kB,aAAc,CACZzkB,KAAM4iB,MACNzF,QAAS,WAAf,aC5C2X,MCOvX,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WACX,IAAI8C,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAACA,EAAG,KAAM,CAACH,EAAIkB,GAAG,iBAAkBlB,EAAIoC,GAAGpC,EAAIW,aAAa,SAAUlgB,EAAMwR,GAC9F,OAAOkO,EAAG,MAAO,CACfhhB,IAAKsB,EAAKwgB,OACVlgB,YAAa,kDACbE,MAAgB,GAATgR,EAAa,OAAS,QAC5B,CAACkO,EAAG,WAAY,CACjBpf,YAAa,QACbC,MAAO,CACL,IAAOP,EAAKwgB,OACZ,KAAQ,QAERd,EAAG,MAAO,CACZpf,YAAa,kBACZ,CAACof,EAAG,KAAM,CACXpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKN,MAAQ,OAAQggB,EAAG,QAAS,CACvDpf,YAAa,cACZ,CAACif,EAAIkB,GAAGlB,EAAImB,GAAG1gB,EAAKikB,mBAAoBvE,EAAG,WAAY,CACxDZ,WAAY,CAAC,CACXpf,KAAM,SACNsjB,QAAS,eACTrkB,MAAO,4BACPskB,WAAY,8BACZ1V,UAAW,CACT,KAAO,KAGXjN,YAAa,mBACbC,MAAO,CACL,QAAW,UACX,KAAQ,OAET,CAACmf,EAAG,eAAgB,CACrBnf,MAAO,CACL,KAAQ,mBAEP,IAAK,OACP,IAEH,GAAkB,GCHtB,IACE6C,WAAY,CACViF,MAAJ,OACI4Z,QAAJ,OACIV,QAAJ,QAEEzC,WAAY,CACV2C,OAAJ,QAEExiB,MAAO,CACLihB,YAAa,CACX5gB,KAAM4iB,MACNzF,QAAS,WAAf,aCrDyX,MCOrX,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WACX,IAAI8C,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,SAAU,CAACA,EAAG,KAAM,CAC5Bpf,YAAa,QACZ,CAACif,EAAIkB,GAAG,aAAcf,EAAG,cAAe,CAACH,EAAIkB,GAAG,yDAA0DlB,EAAIoC,GAAGpC,EAAI2E,WAAW,SAAUlkB,GAC3I,OAAO0f,EAAG,MAAO,CACfhhB,IAAKsB,EAAKN,KACVY,YAAa,mBACZ,CAACof,EAAG,MAAO,CACZpf,YAAa,kCACZ,CAACof,EAAG,eAAgB,CACrBpf,YAAa,QACbC,MAAO,CACL,KAAQ,QACR,MAASP,EAAK2gB,UAEhBwD,MAAO,CACLxlB,MAAO4gB,EAAI6E,SACXC,SAAU,SAAkBC,GAC1B/E,EAAI6E,SAAWE,GAEjBrB,WAAY,aAEb,CAAC1D,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKN,MAAQ,OAAQggB,EAAG,MAAO,CACrDpf,YAAa,cACZ,CAACif,EAAIkB,GAAG,IAAMlB,EAAImB,GAAG1gB,EAAKuG,QAAU,QAAS,GAAImZ,EAAG,aAAc,CACnEpf,YAAa,QACbC,MAAO,CACL,MAASP,EAAKuG,OACd,IAAO,MACP,OAAU,SAEVmZ,EAAG,iBAAkB,CACvBpf,YAAa,OACbC,MAAO,CACL,KAAQ,OAETgf,EAAIoC,GAAG3hB,EAAKukB,WAAW,SAAU/D,GAClC,OAAOd,EAAG,WAAY,CACpBZ,WAAY,CAAC,CACXpf,KAAM,YACNsjB,QAAS,2BACTrkB,MAAO6hB,EAAOG,SACdsC,WAAY,kBACZ1V,UAAW,CACT,OAAS,EACT,QAAU,KAGd7O,IAAK8hB,EAAOwD,IACZ1jB,YAAa,UACbC,MAAO,CACL,IAAOigB,EAAOwD,UAGhB,IAAK,OACN,IAEH,GAAkB,G,0BCDtB,IACE5gB,WAAY,CACViF,MAAJ,OAAI,WAAJ,QAAI,UAAJ,QAAI,aAAJ,QAAI,UAAJ,OAAI,QAAJ,QAEEyW,WAAY,CACV,YAAa,GAAjB,MAEE7f,MAAO,CACLilB,UAAW,CACT5kB,KAAM4iB,MACNzF,QAAS,WAAf,YAGEzc,KAbF,WAcI,MAAO,CACLokB,SAAU,MC3EoW,MCOhX,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QClBX,GAAS,WACX,IAAI7E,EAAIxe,KACJye,EAAGD,EAAIE,eACPC,EAAGH,EAAII,MAAMD,IAAIF,EAErB,OAAOE,EAAG,MAAO,CACfpf,YAAa,oBACZ,CAACof,EAAG,YAAa,CAClBpf,YAAa,iBACbC,MAAO,CACL,KAAQgf,EAAInS,KACZ,QAAW,KACX,kBAAmB,UACnB,gBAAiB,KAElB,CAACsS,EAAG,WAAY,CACjBZ,WAAY,CAAC,CACXpf,KAAM,SACNsjB,QAAS,eACTrkB,MAAO,4BACPskB,WAAY,8BACZ1V,UAAW,CACT,KAAO,KAGXhN,MAAO,CACL,QAAW,UACX,KAAQ,MAEVgW,GAAI,CACF,MAASgJ,EAAI6B,UAEd,CAAC7B,EAAIkB,GAAG,kBAAmB,IAAK,IAEjC,GAAkB,G,aCPtB,IACErd,WAAY,CACVme,QAAJ,OACIiD,SAAJ,SAEE1F,WAAY,CACV2C,OAAJ,QAEEzhB,KARF,WASI,MAAO,CACLoN,MAAM,IAGV9L,QAAS,CACP8f,QADJ,WACA,WACMrgB,KAAKqM,MAAO,EAEZqI,YAAW,WACT,EAAR,UACA,QC9CqX,MCOjX,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,QCuDf,IACErS,WAAY,CACVugB,KAAJ,OACIE,KAAJ,OAEIY,cAAJ,EACIC,aAAJ,EACIC,sBAAJ,EACIC,mBAAJ,GACIC,YAAJ,GACIC,oBAAJ,GACIC,kBAAJ,GACIC,aAAJ,GACIC,cAAJ,IAEEjlB,KAfF,WAgBI,MAAO,CACL4f,YAAa,KAGjB9K,QApBF,WAoBA,WACI/T,KAAKmkB,MAAMpkB,IAAI,iBAAiBqkB,MAAK,SAAzC,6BC9F+W,MCQ3W,I,UAAY,eACd,GACA,EACA9E,GACA,EACA,KACA,KACA,OAIa,gB,2CCnBf,6LAASte,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAWpM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAa,QAAgB,eAAU,OAAW,OAAesF,KAAK,KAAM,UAAW,GAAI,CACvMqd,UAAW,eAAS,QACpBzb,QAAS,eAAS,QAAmB,MAClC,QAGM0b,EAAyB,aAAI5lB,OAAO,CAC7CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIwlB,EAEArmB,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChBiP,EAAgBtmB,EAAMsmB,cACtBC,EAAoBvmB,EAAMumB,kBAC1BC,EAAkBxmB,EAAMwmB,gBACxBC,EAAS7lB,IAETZ,EAAM+E,QACR0hB,EAAS7lB,EAAE,OAAY,CACrBZ,MAAO,eAAW,OAAYA,MAIlC,IAAI0mB,EAAY9lB,IAShB,OAPIZ,EAAM2mB,WACRD,EAAY9lB,EAAE,OAAe,CAC3BZ,MAAO,eAAW,OAAeA,GACjCuB,MAAO,CAAC,WAILX,EAAEZ,EAAM4mB,QAAS,eAAU7lB,EAAM,CACtCM,YAAa,YACbE,MAAO,EAAE8kB,EAAQ,CACf,mBAAoBrmB,EAAM0K,SACzBnL,EAAgB8mB,EAAO,MAAM7kB,OAAO8kB,GAAgBA,GAAgB/mB,EAAgB8mB,EAAO,UAAU7kB,OAAO+kB,GAAoBA,GAAoBhnB,EAAgB8mB,EAAO,QAAQ7kB,OAAOglB,GAAkBA,GAAkBH,GAAQrmB,EAAMmmB,aAC7O,CAACM,EAAQC,EAAWrP,Q,oCCxD5B,iLAASvU,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAUpM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAesF,KAAK,KAAM,YAAa,GAAI,CACjJc,OAAQ,eAAS,QACjBid,YAAa,eAAS,QACtBhd,WAAY,eAAS,WAClB,QAGMid,EAA2B,aAAItmB,OAAO,CAC/CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIwlB,EAEArmB,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChB0P,EAAkB/mB,EAAM+mB,gBACxBC,EAAsBhnB,EAAMgnB,oBAC5BC,EAAoBjnB,EAAMinB,kBAC9B,OAAOrmB,EAAEZ,EAAMknB,UAAW,eAAUnmB,EAAM,CACxCM,YAAa,cACbE,MAAO,CAACvB,EAAM6mB,aAAcR,EAAQ,GAAI9mB,EAAgB8mB,EAAO,MAAM7kB,OAAOulB,GAAkBA,GAAkBxnB,EAAgB8mB,EAAO,UAAU7kB,OAAOwlB,GAAsBA,GAAsBznB,EAAgB8mB,EAAO,QAAQ7kB,OAAOylB,GAAoBA,GAAoBZ,IAClR9b,SAAU8M,EAAW,GAAK,eAAWrX,EAAM6J,WAAY7J,EAAM4J,UAC3DyN,O,kCCtCR,2GAAS8P,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI1T,UAAU,qCAEhH,SAAS2T,EAAkB7jB,EAAQzD,GAAS,IAAK,IAAI0D,EAAI,EAAGA,EAAI1D,EAAM2D,OAAQD,IAAK,CAAE,IAAI6jB,EAAavnB,EAAM0D,GAAI6jB,EAAW1nB,WAAa0nB,EAAW1nB,aAAc,EAAO0nB,EAAWznB,cAAe,EAAU,UAAWynB,IAAYA,EAAWxnB,UAAW,GAAMJ,OAAOC,eAAe6D,EAAQ8jB,EAAW9nB,IAAK8nB,IAE7S,SAASC,EAAaH,EAAaI,EAAYC,GAAmJ,OAAhID,GAAYH,EAAkBD,EAAYjc,UAAWqc,GAAiBC,GAAaJ,EAAkBD,EAAaK,GAAqBL,EAuCzM,IAAIM,EAAqB,4BAErBC,EAAkC,WACpC,SAASA,EAAmB/Y,EAAIgZ,EAASza,GACvC+Z,EAAgBrlB,KAAM8lB,GAEtB9lB,KAAK+M,GAAKA,EACV/M,KAAKsjB,SAAWyC,EAAQzC,SACxBtjB,KAAKgmB,OAASD,EAAQC,QAAU,EAChChmB,KAAKimB,KAAOF,EAAQE,OAAQ,EAC5BjmB,KAAKkmB,SAAW,KAChBlmB,KAAKkc,aAAUnS,EACf/J,KAAKmmB,UAAW,EAEhBnmB,KAAKomB,eAAe9a,GAgFtB,OA7EAoa,EAAaI,EAAoB,CAAC,CAChCnoB,IAAK,iBACLC,MAAO,SAAwB0N,GAC7B,IAAIiJ,EAAQvU,KASZ,GANIA,KAAKkmB,UAEPlmB,KAAKqmB,QAIHrmB,KAAKmmB,UAAa,eAAWnmB,KAAKsjB,UAAtC,CAMA,IAGEtjB,KAAKkmB,SAAW,IAAII,qBAAqBtmB,KAAK4Q,QAAQ5J,KAAKhH,MAAO,CAEhEumB,KAAM,KAENC,WAAYxmB,KAAKgmB,OAEjBS,UAAW,IAEb,MAAOC,GAKP,OAHA1mB,KAAKmmB,UAAW,EAChBnmB,KAAKkmB,cAAWnc,OAChB/J,KAAKsjB,SAAS,MAOhBhY,EAAM0B,QAAQc,WAAU,WACtB,gBAAU,WAGJyG,EAAM2R,UACR3R,EAAM2R,SAASS,QAAQpS,EAAMxH,aAOpC,CACDpP,IAAK,UACLC,MAAO,SAAiBgpB,GACtB,IAAIC,EAAQD,EAAUA,EAAQ,GAAK,GAC/BE,EAAiBrL,QAAQoL,EAAMC,gBAAkBD,EAAME,kBAAoB,GAE3ED,IAAmB9mB,KAAKkc,UAC1Blc,KAAKkc,QAAU4K,EACf9mB,KAAKsjB,SAASwD,GAEV9mB,KAAKimB,MAAQjmB,KAAKkc,UACpBlc,KAAKmmB,UAAW,EAChBnmB,KAAKqmB,WAIV,CACD1oB,IAAK,OACLC,MAAO,WAELoC,KAAKkmB,UAAYlmB,KAAKkmB,SAASc,aAC/BhnB,KAAKkmB,SAAW,SAIbJ,EA5F6B,GA+FlCmB,EAAU,SAAiBla,GAC7B,IAAImZ,EAAWnZ,EAAG8Y,GAEdK,GAAYA,EAASG,MACvBH,EAASG,cAGJtZ,EAAG8Y,IAGR7e,EAAO,SAAc+F,EAAIhO,EAAMuM,GACjC,IAAI1N,EAAQmB,EAAKnB,MACb4O,EAAYzN,EAAKyN,UAEjBuZ,EAAU,CACZC,OAAQ,MACRC,MAAM,EACN3C,SAAU1lB,GAGZ,eAAK4O,GAAWzK,SAAQ,SAAU0K,GAE5B,OAAUC,KAAKD,GACjBsZ,EAAQC,OAAS,GAAGtmB,OAAO+M,EAAK,MACD,SAAtBA,EAAII,gBACbkZ,EAAQE,MAAO,MAInBgB,EAAQla,GAERA,EAAG8Y,GAAsB,IAAIC,EAAmB/Y,EAAIgZ,EAASza,GAE7DyB,EAAG8Y,GAAoBqB,eAAiB,eAAM1a,IAI5CqB,EAAmB,SAA0Bd,EAAIwX,EAAOjZ,GAC1D,IAAI1N,EAAQ2mB,EAAM3mB,MACdwe,EAAWmI,EAAMnI,SACjB5P,EAAY+X,EAAM/X,UAKtBA,EAAY,eAAMA,IAGdO,GAAOnP,IAAUwe,GAAarP,EAAG8Y,IAAwB,eAAWrZ,EAAWO,EAAG8Y,GAAoBqB,iBAExGlgB,EAAK+F,EAAI,CACPnP,MAAOA,EACP4O,UAAWA,GACVlB,IAKHyC,EAAS,SAAgBhB,GAE3Bka,EAAQla,IAICoa,EAAY,CACrBngB,KAAMA,EACN6G,iBAAkBA,EAClBE,OAAQA,I,kCC/MV,kCAiBO,IAAIqZ,EAAa,SAAoBC,EAAOC,GAKjD,OAAOD,EAAMrjB,KAAI,SAAUujB,EAAG9W,GAC5B,MAAO,CAACA,EAAO8W,MACdC,KAAK,SAAUD,EAAGE,GACnB,OAAOznB,KAAKunB,EAAE,GAAIE,EAAE,KAAOF,EAAE,GAAKE,EAAE,IACpCzgB,KAAKsgB,IAAYtjB,KAAI,SAAU0jB,GAC/B,OAAOA,EAAE,Q,oCC3Bb,uKAAS1mB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAa3M,IAAIiqB,EAAiB,CACnBrhB,IAAK,EACLQ,KAAM,EACNX,OAAQ,EACRU,MAAO,GAGE3I,EAAQ,eAAsB,CAGvC0pB,QAAS,eAAS,QAClBrd,KAAM,eAAS,OAAkB,OACjCsd,MAAO,eAAS,QAAmB,GACnCC,SAAU,eAAS,QAAmB,GACtCxa,OAAQ,eAAS,QAAmB,GAGpCya,OAAQ,eAAS,QAAmB,GACpCC,QAAS,eAAS,OAAyB,KAAM,SAAUpqB,GACzD,IAAI+U,EAAS,eAAQ/U,EAAO,GAC5B,OAAO+U,GAAU,GAAKA,GAAU,KAElCsV,WAAY,eAAS,OAAkB,OACvCha,QAAS,eAAS,QAA0B,GAC5C5B,KAAM,eAAS,QAAmB,GAClC6b,aAAc,eAAS,QAAmB,GAC1CC,YAAa,eAAS,OAAkB,UACxCC,eAAgB,eAAS,QACzB5pB,QAAS,eAAS,OAAkB,SACpC6pB,QAAS,eAAS,OAAkB,OACpCC,OAAQ,eAAS,OAAyB,KACzC,SAGQ7E,EAAwB,aAAI/kB,OAAO,CAC5CC,KAAM,QACN0P,OAAQ,CAAC,QACTnQ,MAAOA,EACP0B,SAAU,CACR2oB,gBAAiB,WACf,IAAIta,EAAUjO,KAAKiO,QACnB,OAAmB,IAAZA,GAAgC,KAAZA,EAAiB,UAAaA,EAAe,WAAWvO,OAAOuO,GAAvB,IAErEua,gBAAiB,WACf,IAAIhqB,EAAUwB,KAAKxB,QACnB,OAAOA,IAAYwB,KAAK4nB,QAAU,MAAMloB,OAAOlB,GAAW,IAE5D2J,UAAW,WACT,MAAO,CACLggB,YAAanoB,KAAKmoB,aAAe,KACjCC,eAAgBpoB,KAAKooB,gBAAkB,KACvCF,aAAcloB,KAAKkoB,gBAIzB3nB,QAAS,CACPkoB,iBAAkB,SAA0B1pB,GAC1C,IAAIopB,EAAcppB,EAAKopB,YACnBC,EAAiBrpB,EAAKqpB,eACtBF,EAAenpB,EAAKmpB,aACxB,OAAOloB,KAAK0e,eAAe,OAAU,CACnCxgB,MAAO,CACLK,KAAM4pB,EACN3pB,QAAS4pB,EACT/pB,MAAO6pB,OAKfrpB,OAAQ,SAAgBC,GACtB,IAAIyV,EAAQvU,KAERqM,EAAOrM,KAAKqM,KACZwb,EAAQ7nB,KAAK6nB,MACbva,EAAStN,KAAKsN,OACdya,EAAS/nB,KAAK+nB,OACd5f,EAAYnI,KAAKmI,UACjBugB,EAAW5pB,IAEf,GAAIuN,EAAM,CACR,IAAIsc,EAAc7pB,EAAE,MAAO,CACzBS,YAAa,oBACbE,MAAO,CAACO,KAAKwoB,gBAAiBxoB,KAAKuoB,iBACnCzZ,MAAOpN,EAAcA,EAAc,GAAIimB,GAAiB,GAAI,CAC1DK,QAAShoB,KAAKgoB,QACdY,gBAAiB5oB,KAAK4nB,SAAW,KACjCiB,eAAgB7oB,KAAKuK,KAAO,QAAQ7K,OAAOM,KAAKuK,KAAM,KAAO,SAG7D5B,EAAW7J,EAAE,MAAO,CACtBS,YAAa,oBACbuP,MAAO9O,KAAK8nB,SAEZpmB,EAAc,GAAIimB,GAAkB,CAClCrhB,IAAK,MACLQ,KAAM,MACNgiB,UAAW,sCAEZ,CAAC9oB,KAAK+O,cAAc,OAAmB5G,IAAcnI,KAAKyoB,iBAAiBtgB,KAC9EugB,EAAW5pB,EAAEkB,KAAKioB,WAAY,CAC5B1oB,YAAa,YACbE,MAAO,CACL,qBAAsBsoB,GAAUA,IAAWF,EAC3C,iBAAkBE,GAAUF,GAE9B/Y,MAAOpN,EAAcA,EAAc,GAAIimB,GAAiB,GAAI,CAC1DW,OAAQtoB,KAAKsoB,QAAU,KAEzB9S,GAAI,CACFlL,MAAO,SAAewG,GACpB,OAAOyD,EAAMtD,MAAM,OAAkBH,KAGzCnT,IAAK,WACJ,CAACgrB,EAAahgB,IAmBnB,OAfA+f,EAAW5pB,EAAE,OAAc,CACzBZ,MAAO,CACLoP,OAAQA,EACRkO,QAAQ,GAEVhG,GAAI,CACF,cAAe,WACb,OAAOjB,EAAMtD,MAAM,SAErB,cAAe,WACb,OAAOsD,EAAMtD,MAAM,WAGtB,CAACyX,IAEAX,EACKW,EAGF5pB,EAAEkB,KAAKqoB,QAAS,CACrB9oB,YAAa,mCACbC,MAAO,CACL,YAAa6M,EAAO,OAAS,OAE9B0b,EAAS,CAACW,GAAY,CAAC1oB,KAAK+O,gBAAiB2Z,Q,oCC/JpD,mRAAS1nB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAsBpM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAmB,QAAgB,QAAiB,QAAgB,GAAI,CAC1NqnB,QAAS,eAAS,QAElBC,aAAc,eAAS,QAAmB,GAE1CC,SAAU,eAAS,QAAmB,GACtCC,KAAM,eAAS,OAAyB,GAGxCC,KAAM,eAAS,OAAkB,WAC9B,SAGMzG,EAA6B,aAAIhkB,OAAO,CACjDC,KAAM,QACNof,WAAY,CACV,YAAa,QAGf1P,OAAQ,CAAC,OAAgB,OAAS,OAAmB,OAAkB,OAAe,OAAgB,OAAe,OAAoB,QACzInQ,MAAOA,EACPe,KAAM,WACJ,MAAO,CACLmqB,WAAY,OAGhBxpB,SAAU,CACRypB,cAAe,WACb,IAAIC,EAAS,CAGXC,QAASvpB,KAAKwpB,cAAgBxpB,KAAKipB,SAAW,OAAS,MAYzD,OATKjpB,KAAKwpB,eAGRF,EAAO3iB,OAAS3G,KAAKopB,WAGrBE,EAAOG,UAAY,UAGdH,GAETI,gBAAiB,WAIf,OAAO,eAAQ,eAAU1pB,KAAKkpB,KAAM,GAAI,IAE1CS,gBAAiB,WACf,OAAO,eAAQ3pB,KAAK0pB,gBAAiB,eAAU1pB,KAAK+oB,QAAS,KAE/DS,aAAc,WAGZ,OAAOxpB,KAAK0pB,kBAAoB1pB,KAAK2pB,gBAAkB3pB,KAAK0pB,gBAAkB,MAEhFE,cAAe,WACb,IAAI5d,EAAWhM,KAAKgM,SAChB9E,EAAWlH,KAAKkH,SACpB,MAAO,CACL4E,GAAI9L,KAAK4c,SACTje,KAAMqB,KAAKrB,MAAQ,KACnBkrB,KAAM7pB,KAAK6pB,MAAQ,KACnB7d,SAAUA,EACV4G,YAAa5S,KAAK4S,aAAe,KACjC1L,SAAUA,EACVoL,aAActS,KAAKsS,cAAgB,KACnCQ,SAAU9S,KAAK8S,UAAY9S,KAAK6S,UAChCqW,KAAMlpB,KAAKwpB,aACXL,KAAMnpB,KAAKmpB,MAAQ,KACnB,gBAAiBnpB,KAAKkH,SAAW,OAAS,KAC1C,eAAgBlH,KAAK8pB,sBAGzBC,kBAAmB,WACjB,OAAOroB,EAAcA,EAAc,GAAI1B,KAAKgqB,aAAc,GAAI,CAC5D9pB,MAAOF,KAAK2U,QACZsV,OAAQjqB,KAAKgV,SACbzK,KAAMvK,KAAKiV,WAIjBvB,MAAO,CACLV,WAAY,WACVhT,KAAKkqB,cAGTjW,QAAS,WACPjU,KAAKkqB,aAEP3pB,QAAS,CAIP4pB,gBAAiB,SAAyBjO,GACpCA,GAGFlc,KAAK8N,UAAU9N,KAAKkqB,YAGxBA,UAAW,WACT,IAAI3V,EAAQvU,KAEZA,KAAK8N,WAAU,WACb,gBAAU,WACRyG,EAAM6U,WAAa7U,EAAM6V,uBAM/BA,cAAe,WACb,GAAIpqB,KAAKqqB,YAAc,eAAOrqB,KAAKwpB,cACjC,OAAO,KAGT,IAAIzc,EAAK/M,KAAKkV,IAGd,IAAK,eAAUnI,GACb,OAAO,KAIT,IAAIsc,EAAgB,eAAMtc,GAEtBud,EAAa,eAAQjB,EAAciB,WAAY,GAE/CC,EAAS,eAAQlB,EAAcmB,eAAgB,GAAK,eAAQnB,EAAcoB,kBAAmB,GAC7FC,EAAU,eAAQrB,EAAcsB,WAAY,GAAK,eAAQtB,EAAcuB,cAAe,GAEtF/e,EAAS0e,EAASG,EAElBG,EAAYP,EAAatqB,KAAK0pB,gBAAkB7d,EAEhDif,EAAY,eAAS/d,EAAI,WAAasc,EAAc1iB,OAExD,eAASoG,EAAI,SAAU,QACvB,IAAI0N,EAAe1N,EAAG0N,aAGtB,eAAS1N,EAAI,SAAU+d,GAEvB,IAAIC,EAAc,gBAAStQ,EAAeiQ,GAAWJ,EAAY,GAE7DpB,EAAO,eAAQ,eAAQ6B,EAAa/qB,KAAK0pB,iBAAkB1pB,KAAK2pB,iBAEhEhjB,EAAS,eAAQ,eAASuiB,EAAOoB,EAAaze,GAASgf,GAG3D,OAAI7qB,KAAKgpB,cAAgB,eAAQ8B,EAAW,GAAKnkB,EACxCmkB,EAIF,GAAGprB,OAAOiH,EAAQ,QAG7B9H,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,WAAY,CACnBW,MAAOO,KAAKmT,cACZrE,MAAO9O,KAAKqpB,cACZtL,WAAY,CAAC,CACXpf,KAAM,YACNf,MAAOoC,KAAKmqB,gBAEZ3d,UAAW,CACT,KAAO,KAGXhN,MAAOQ,KAAK4pB,cACZnhB,SAAU,CACR7K,MAAOoC,KAAKgT,YAEdwC,GAAIxV,KAAK+pB,kBACTiB,IAAK,c,oCC7MX,uKAAShqB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAapM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAmB,QAAsB,QAAgB,SAAkB,QAGtMupB,EAA0B,aAAIvsB,OAAO,CAC9CC,KAAM,OACN0P,OAAQ,CAAC,OAAS,OAClB,OAAkB,OAAe,QACjC6c,OAAQ,CACNC,QAAS,CACPC,KAAM,eACN1P,SAAS,IAGbxd,MAAOA,EACPwV,MAAO,CACL2X,qBAAsB,SAA8B1X,EAAUyI,GACvD,eAAWzI,EAAUyI,IACxBpc,KAAKiR,MAAM,OAAkB0C,Q,kCClCrC,mIAASlW,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAS3M,IAAI4tB,EAAQ,CAAC,SAAU,QAAS,QAAS,SAAU,MAAO,QAAS,cAExDptB,EAAQ,eAAsB,CACvCqtB,OAAQ,eAAS,OAAkB,SACnCjtB,IAAK,eAAS,OAAkB,OAChCC,KAAM,eAAS,OAAkB,UAAU,SAAUX,GACnD,OAAO,eAAc0tB,EAAO1tB,OAE7B,QAGQmlB,EAAsB,aAAIrkB,OAAO,CAC1CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChBgW,EAASrtB,EAAMqtB,OACnB,OAAOzsB,EAAEZ,EAAMI,IAAK,CAClBiB,YAAa,mBACbE,MAAOhC,EAAgB,GAAI,oBAAoBiC,OAAO6rB,GAASA,GAC/DP,IAAK/rB,EAAK+rB,KACT,CAAClsB,EAAEZ,EAAMK,KAAM,eAAU,eAAKU,EAAM,CAAC,QAAS,CAC/CM,YAAa,0BACXgW,S,mCCnCR,uKAASvU,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAa3M,IAAI8tB,EAAmB,CAAC,QAAS,MAAO,UAIpCC,EAAsB,gBAAQ,SAAUC,EAAYC,GAEtD,OADAA,EAAO,eAAK,eAASA,IACdA,EAAO,eAAU,CAAC,WAAYD,EAAYC,GAAMrqB,OAAO,QAAUuC,KAAK,MAAQ,QAInF+nB,EAA2B,gBAAQ,SAAUne,GAC/C,OAAO,eAAUA,EAAK5K,QAAQ,OAAQ,QAIpCgpB,EAAkB,GAGXC,EAAgB,WAEzB,IAAIC,EAAe,iBAAyBC,QAAO,SAAU9tB,EAAOwtB,GAElE,OADAxtB,EAAM,eAAewtB,EAAY,SAAW,eAAS,QAC9CxtB,IACN,eAAO,OAIV,OAFA2tB,EAAkB,eAAKE,GAEhB,eAAsB,eAASrqB,EAAcA,EAAc,GAAIqqB,GAAe,GAAI,CACvFE,aAAc,eAAS,OAAkB,MAAM,SAAUruB,GACvD,OAAO,eAAc,eAAO4tB,EAAkB,UAAW,SAAU,WAAY5tB,MAEjFsuB,OAAQ,eAAS,OAAkB,MAAM,SAAUtuB,GACjD,OAAO,eAAc,eAAO4tB,EAAkB,UAAW,UAAW5tB,MAEtEuuB,OAAQ,eAAS,OAAkB,MAAM,SAAUvuB,GACjD,OAAO,eAAc,eAAO4tB,EAAkB,WAAY,WAAY5tB,MAExEwuB,UAAW,eAAS,QAAmB,GACvC9tB,IAAK,eAAS,OAAkB,UAC7B,UAMIskB,EAAO,CAChBjkB,KAAM,QACNC,YAAY,EAEZ,YAME,cAFOoB,KAAK9B,MACZ8B,KAAK9B,MAAQ4tB,IACN9rB,KAAK9B,OAGdW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIstB,EAEAnuB,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChB4W,EAASjuB,EAAMiuB,OACfD,EAAShuB,EAAMguB,OACfD,EAAe/tB,EAAM+tB,aAErBK,EAAY,GAWhB,OAVAT,EAAgB9pB,SAAQ,SAAU0L,GAChC,IAAI8e,EAAId,EAAoBG,EAAyBne,GAAOvP,EAAMuP,IAE9D8e,GACFD,EAAU7qB,KAAK8qB,MAGnBD,EAAU7qB,MAAM4qB,EAAkB,CAChC,aAAcnuB,EAAMkuB,WACnB3uB,EAAgB4uB,EAAiB,eAAe3sB,OAAOysB,GAASA,GAAS1uB,EAAgB4uB,EAAiB,mBAAmB3sB,OAAOwsB,GAASA,GAASzuB,EAAgB4uB,EAAiB,iBAAiB3sB,OAAOusB,GAAeA,GAAeI,IACzOvtB,EAAEZ,EAAMI,IAAK,eAAUW,EAAM,CAClCM,YAAa,MACbE,MAAO6sB,IACL/W,M,kCCnGR,4GAIWrX,EAAQ,eAAsB,CACvCsuB,MAAO,eAAS,QAAmB,IAClC,gBAGQC,EAAkB,aAAI/tB,OAAO,CACtCR,MAAOA,EACP0B,SAAU,CACR8sB,OAAQ,WACN,OAAQ1sB,KAAKwsB,W,kCCbnB,4GAIWtuB,EAAQ,eAAsB,CACvCgQ,KAAM,eAAS,SACd,gBAGQye,EAAgB,aAAIjuB,OAAO,CACpCR,MAAOA,EACP0B,SAAU,CACR0T,cAAe,WACb,MAAO,CAACtT,KAAKkO,KAAO,gBAAgBxO,OAAOM,KAAKkO,MAAQ,W,kCCZ9D,IAAI0e,EAAI,EAAQ,QACZ3nB,EAAY,EAAQ,QACpB4nB,EAAkB,EAAQ,QAC1BxnB,EAAS,EAAQ,QACjB4D,EAAQ,EAAQ,QAEhB6jB,EAAgB,GAAI9pB,QACpB4U,EAAQF,KAAKE,MAEbmV,EAAM,SAAUC,EAAGvnB,EAAGwnB,GACxB,OAAa,IAANxnB,EAAUwnB,EAAMxnB,EAAI,IAAM,EAAIsnB,EAAIC,EAAGvnB,EAAI,EAAGwnB,EAAMD,GAAKD,EAAIC,EAAIA,EAAGvnB,EAAI,EAAGwnB,IAG9EC,EAAM,SAAUF,GAClB,IAAIvnB,EAAI,EACJ0nB,EAAKH,EACT,MAAOG,GAAM,KACX1nB,GAAK,GACL0nB,GAAM,KAER,MAAOA,GAAM,EACX1nB,GAAK,EACL0nB,GAAM,EACN,OAAO1nB,GAGP2nB,EAASN,IACY,UAAvB,KAAQ9pB,QAAQ,IACG,MAAnB,GAAIA,QAAQ,IACS,SAArB,MAAMA,QAAQ,IACuB,yBAArC,mBAAsBA,QAAQ,MAC1BiG,GAAM,WAEV6jB,EAAcrjB,KAAK,OAKrBmjB,EAAE,CAAEjrB,OAAQ,SAAU0rB,OAAO,EAAMC,OAAQF,GAAU,CAEnDpqB,QAAS,SAAiBuqB,GACxB,IAKI7F,EAAG8F,EAAG5T,EAAG6T,EALT9a,EAASka,EAAgB7sB,MACzB0tB,EAAczoB,EAAUsoB,GACxBtuB,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACvB0uB,EAAO,GACPnoB,EAAS,IAGTooB,EAAW,SAAUnoB,EAAG8mB,GAC1B,IAAI9b,GAAS,EACTod,EAAKtB,EACT,QAAS9b,EAAQ,EACfod,GAAMpoB,EAAIxG,EAAKwR,GACfxR,EAAKwR,GAASod,EAAK,IACnBA,EAAKjW,EAAMiW,EAAK,MAIhBC,EAAS,SAAUroB,GACrB,IAAIgL,EAAQ,EACR8b,EAAI,EACR,QAAS9b,GAAS,EAChB8b,GAAKttB,EAAKwR,GACVxR,EAAKwR,GAASmH,EAAM2U,EAAI9mB,GACxB8mB,EAAKA,EAAI9mB,EAAK,KAIdsoB,EAAe,WACjB,IAAItd,EAAQ,EACRud,EAAI,GACR,QAASvd,GAAS,EAChB,GAAU,KAANud,GAAsB,IAAVvd,GAA+B,IAAhBxR,EAAKwR,GAAc,CAChD,IAAID,EAAIjL,OAAOtG,EAAKwR,IACpBud,EAAU,KAANA,EAAWxd,EAAIwd,EAAI3oB,EAAOoE,KAAK,IAAK,EAAI+G,EAAE3O,QAAU2O,EAE1D,OAAOwd,GAGX,GAAIN,EAAc,GAAKA,EAAc,GAAI,MAAM/nB,WAAW,6BAE1D,GAAIgN,GAAUA,EAAQ,MAAO,MAC7B,GAAIA,IAAW,MAAQA,GAAU,KAAM,OAAOpN,OAAOoN,GAKrD,GAJIA,EAAS,IACXgb,EAAO,IACPhb,GAAUA,GAERA,EAAS,MAKX,GAJA+U,EAAIwF,EAAIva,EAASoa,EAAI,EAAG,GAAI,IAAM,GAClCS,EAAI9F,EAAI,EAAI/U,EAASoa,EAAI,GAAIrF,EAAG,GAAK/U,EAASoa,EAAI,EAAGrF,EAAG,GACxD8F,GAAK,iBACL9F,EAAI,GAAKA,EACLA,EAAI,EAAG,CACTkG,EAAS,EAAGJ,GACZ5T,EAAI8T,EACJ,MAAO9T,GAAK,EACVgU,EAAS,IAAK,GACdhU,GAAK,EAEPgU,EAASb,EAAI,GAAInT,EAAG,GAAI,GACxBA,EAAI8N,EAAI,EACR,MAAO9N,GAAK,GACVkU,EAAO,GAAK,IACZlU,GAAK,GAEPkU,EAAO,GAAKlU,GACZgU,EAAS,EAAG,GACZE,EAAO,GACPtoB,EAASuoB,SAETH,EAAS,EAAGJ,GACZI,EAAS,IAAMlG,EAAG,GAClBliB,EAASuoB,IAAiB1oB,EAAOoE,KAAK,IAAKikB,GAU7C,OAPEA,EAAc,GAChBD,EAAIjoB,EAAO3D,OACX2D,EAASmoB,GAAQF,GAAKC,EAClB,KAAOroB,EAAOoE,KAAK,IAAKikB,EAAcD,GAAKjoB,EAC3CA,EAAO5B,MAAM,EAAG6pB,EAAIC,GAAe,IAAMloB,EAAO5B,MAAM6pB,EAAIC,KAE9DloB,EAASmoB,EAAOnoB,EACTA,M,kCC3Hb,iLAASxE,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAUpM,IAAIQ,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAesF,KAAK,KAAM,YAAa,GAAI,CACjJY,OAAQ,eAAS,QACjBqmB,YAAa,eAAS,QACtBpmB,WAAY,eAAS,WAClB,QAGMqmB,EAA2B,aAAIxvB,OAAO,CAC/CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIwlB,EAEArmB,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SAChB4Y,EAAkBjwB,EAAMiwB,gBACxBC,EAAsBlwB,EAAMkwB,oBAC5BC,EAAoBnwB,EAAMmwB,kBAC9B,OAAOvvB,EAAEZ,EAAMowB,UAAW,eAAUrvB,EAAM,CACxCM,YAAa,cACbE,MAAO,CAACvB,EAAM+vB,aAAc1J,EAAQ,GAAI9mB,EAAgB8mB,EAAO,MAAM7kB,OAAOyuB,GAAkBA,GAAkB1wB,EAAgB8mB,EAAO,UAAU7kB,OAAO0uB,GAAsBA,GAAsB3wB,EAAgB8mB,EAAO,QAAQ7kB,OAAO2uB,GAAoBA,GAAoB9J,IAClR9b,SAAU8M,EAAW,GAAK,eAAWrX,EAAM2J,WAAY3J,EAAM0J,UAC3D2N,O,kCCtCR,gJAMWrX,EAAQ,eAAsB,CACvC2mB,SAAU,eAAS,QACnB0J,YAAa,eAAS,OAAkB,MACxCC,oBAAqB,eAAS,OAAkB,UAC/C,QAGQC,EAA6B,aAAI/vB,OAAO,CACjDC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SACpB,OAAOzW,EAAEZ,EAAMqwB,YAAa,eAAUtvB,EAAM,CAC1CM,YAAa,gBACbE,MAAO,CAACvB,EAAMswB,oBAAsB,QAAQ9uB,OAAOxB,EAAMswB,qBAAuB,QAC9EjZ,GAAY,eAASrX,EAAM2mB,e,4QCftB6J,EAAW,SAAAhxB,GAAG,MAAmB,WAAf,eAAOA,IAA4B,OAARA,GAE7CmH,EAAU,SAAAD,GACrB,IAAM+pB,EAAQ,IAAIlqB,KAClB,OAEEG,EAAKgqB,YAAcD,EAAMC,WACzBhqB,EAAKiqB,aAAeF,EAAME,YAC1BjqB,EAAKkqB,gBAAkBH,EAAMG,eAYpBC,EAAuB,SAAAC,GAClC,MAAiCC,OAAOC,QAAQF,GAAjCG,EAAf,EAAQH,MACR,OAAOG,EAAcC,OAASH,OAAOI,aAAaD,MAIvCE,EAAY,WACvB,IAAMC,EAAKC,kCAAqBxP,MAC1B3O,EAAQoe,sBAAS,CACrBT,MAAOO,EAAGG,SAUZ,OAPAhc,oBACE,kBAAM6b,EAAGG,UACT,SAAAC,GACEte,EAAM2d,MAAQW,KAIlB,iCAAYC,oBAAOve,IAAnB,IAA2B4d,OAAQM,EAAGM,WAG3BC,EAAc,SAAApyB,GAAG,OAAIqyB,KAAKC,MAAMD,KAAKE,UAAUvyB,M,kCCnD5D,gMAWWQ,EAAQ,eAAsB,CACvCwY,SAAU,eAAS,OAAmB,MACtCvY,MAAO,eAAS,QAChB+xB,UAAW,eAAS,QACpBvZ,IAAK,eAAS,OAAyB,MACvCC,UAAW,eAAS,OAAyB,MAC7CC,aAAc,eAAS,OAAmB,MAC1CC,UAAW,eAAS,OAAmB,MACvCC,QAAS,eAAS,OAAmB,MACrCnZ,MAAO,eAAS,OAAyB,GACzCY,QAAS,eAAS,SACjB,SAGQ2xB,EAA4B,aAAIzxB,OAAO,CAChDC,KAAM,QACN0P,OAAQ,CAAC,QACT6c,OAAQ,CACNjU,WAAY,CACVyE,QAEA,WACE,MAAO,MAIbxd,MAAOA,EACP0B,SAAU,CACRwwB,mBAAoB,WAClB,IAAIC,EAAmBrwB,KAAKqwB,iBACxB7H,EAAkBxoB,KAAKwoB,gBAC3B,MAAO,CAACA,EAAkB,MAAM9oB,OAAO8oB,GAAmB,GAAIxoB,KAAKswB,iBAAmBD,EAAmB,uBAAyB,GAAIA,EAAmB,wBAA0B,KAErLE,kBAAmB,WACjB,MAAO,CACL7pB,MAAc1G,KAAKwwB,cAAgBxwB,KAAKywB,YAAjC,IAAgD,MAG3DD,cAAe,WACb,OAAO,eAAQxwB,KAAKpC,MAAO,IAE7B6yB,YAAa,WAGX,IAAI9Z,EAAM,eAAQ3W,KAAK2W,MAAQ,eAAQ3W,KAAKiX,WAAWN,IAAK,GAC5D,OAAOA,EAAM,EAAIA,EAAM,KAEzB+Z,kBAAmB,WAGjB,OAAO,eAAQ,eAAU1wB,KAAK4W,UAAW,eAAU5W,KAAKiX,WAAWL,UAAW,IAAK,IAErF+Z,iBAAkB,WAChB,IAAI/Z,EAAY5W,KAAK0wB,kBACjB9mB,EAAI,eAAQ,GAAIgN,GACpB,OAAO,eAAQ,IAAMhN,EAAI5J,KAAKwwB,cAAgBxwB,KAAKywB,YAAc7mB,EAAGgN,IAEtE4R,gBAAiB,WAEf,OAAOxoB,KAAKxB,SAAWwB,KAAKiX,WAAWzY,SAEzC8xB,gBAAiB,WAEf,OAAO,eAAUtwB,KAAK+W,SAAW/W,KAAK+W,QAAU/W,KAAKiX,WAAWF,UAAW,GAE7EsZ,iBAAkB,WAEhB,OAAO,eAAUrwB,KAAK0W,UAAY1W,KAAK0W,SAAW1W,KAAKiX,WAAWP,WAAY,GAEhFka,qBAAsB,WAEpB,OAAO,eAAU5wB,KAAK6W,cAAgB7W,KAAK6W,aAAe7W,KAAKiX,WAAWJ,eAAgB,GAE5Fga,kBAAmB,WAEjB,OAAO,eAAU7wB,KAAK8W,WAAa9W,KAAK8W,UAAY9W,KAAKiX,WAAWH,YAAa,IAGrFjY,OAAQ,SAAgBC,GACtB,IAIIgyB,EAJA3yB,EAAQ6B,KAAK7B,MACb+xB,EAAYlwB,KAAKkwB,UACjBM,EAAgBxwB,KAAKwwB,cACrBE,EAAoB1wB,KAAK0wB,kBAEzBjoB,EAAW,GAYf,OAVIzI,KAAK+wB,oBACPD,EAAY9wB,KAAK+O,gBACR5Q,GAAS+xB,EAClBznB,EAAW,eAAWynB,EAAW/xB,GACxB6B,KAAK4wB,qBACdE,EAAY9wB,KAAK2wB,iBACR3wB,KAAK6wB,oBACdC,EAAY,eAAQN,EAAeE,IAG9B5xB,EAAE,MAAO,CACdS,YAAa,eACbE,MAAOO,KAAKowB,mBACZthB,MAAO9O,KAAKuwB,kBACZ/wB,MAAO,CACLpB,KAAM,cACN,gBAAiB,IACjB,gBAAiB,eAAS4B,KAAKywB,aAC/B,gBAAiB,eAAQD,EAAeE,IAE1CjoB,SAAUA,GACTqoB,O,kCCtHP,+IAASrzB,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAWpM,IAAIQ,EAAQ,eAAsB,CACvC2pB,MAAO,eAAS,QAChBmJ,MAAO,eAAS,QAAmB,GACnCC,OAAQ,eAAS,QAAmB,GACpC3yB,IAAK,eAAS,OAAkB,OAChC4yB,WAAY,eAAS,QAA0B,GAC/C3yB,KAAM,eAAS,OAAkB,SACjCC,QAAS,eAAS,SACjB,SAGQiiB,EAAuB,aAAI/hB,OAAO,CAC3CC,KAAM,QACN0P,OAAQ,CAAC,QACTC,QAAS,WACP,MAAO,CACL6iB,SAAUnxB,OAGd9B,MAAOA,EACP0B,SAAU,CACRwxB,gBAAiB,WACf,IAAIF,EAAalxB,KAAKkxB,WAClBG,EAAK,iBAAiB,GACtB3F,EAAa,KAQjB,OANIwF,GAAc,eAASA,IAAeA,IAAeG,EACvD3F,EAAa,iBAAiBhsB,OAAOwxB,IACb,IAAfA,IACTxF,EAAa,iBAGRA,IAGX7sB,OAAQ,SAAgBC,GACtB,IAAIC,EAEAT,EAAM0B,KAAK1B,IACXC,EAAOyB,KAAKzB,KACZC,EAAUwB,KAAKxB,QACfqpB,EAAQ7nB,KAAK6nB,MACjB,OAAO/oB,EAAER,EAAK,CACZiB,YAAa,SACbE,MAAO,EAAEV,EAAO,CACd,UAAWiB,KAAKgxB,MAChB,aAAchxB,KAAKixB,QAClBxzB,EAAgBsB,EAAM,UAAUW,OAAOnB,GAAOA,GAAOd,EAAgBsB,EAAM,MAAMW,OAAOlB,GAAUA,GAAUf,EAAgBsB,EAAM,SAASW,OAAOmoB,GAAQA,GAAQ9oB,GAAOiB,KAAKoxB,iBACjL5xB,MAAO,CACLpB,KAAM,eAAME,EAAK,OAAS,KAAO,eAElC,CAAC0B,KAAK+O,sB,kCC9Db,0GAAIwL,EAAQ+W,EAAZ,gMAEA,SAAStwB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAmB3M,IAAIoU,EAAkB,eAAe,UAAW,CAC9CC,aAAc,OAEZC,EAAaF,EAAgBG,MAC7BC,EAAaJ,EAAgB5T,MAC7BiU,EAAkBL,EAAgBrE,KAClC2E,EAAmBN,EAAgBhB,MAI5B5S,EAAQ,eAAsB,eAASwD,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAUwQ,GAAa,QAAmB,QAAgB,QAAiB,QAAkB,GAAI,CACvPqf,UAAW,eAAS,QACpBC,eAAgB,eAAS,QAEzBC,OAAQ,eAAS,QAAmB,GAEpCC,cAAe,eAAS,QACxBC,OAAQ,eAAS,QAAmB,GACpC/zB,MAAO,eAAS,WACb,0BAGMg0B,EAAsB,aAAIlzB,OAAO,CAC1C2P,OAAQ,CAAC,OAAY,OAAS2D,EAAY,OAAoB,OAAkB,OAAe,OAAgB,QAC/G6f,cAAc,EACd3zB,MAAOA,EACPe,KAAM,WACJ,MAAO,CACL6yB,aAAc9xB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQhZ,GAAmBnS,KAAKmS,GAClE6f,UAAU,IAGdpyB,SAAU,CACRyrB,qBAAsB,CACpBtrB,IAAK,WACH,OAAOC,KAAK+xB,QAAU/xB,KAAKmrB,QAAQ2G,aAAe9xB,KAAK8xB,cAEzD3xB,IAAK,SAAavC,GACZoC,KAAK+xB,QACP/xB,KAAKmrB,QAAQ2G,aAAel0B,EAE5BoC,KAAK8xB,aAAel0B,IAI1Bq0B,UAAW,WACT,OAAO,eAAWjyB,KAAKpC,MAAOoC,KAAKqrB,uBAErC6G,QAAS,WACP,OAAO,GAETH,QAAS,WAEP,QAAS/xB,KAAKmrB,SAEhBgH,UAAW,WAET,OAAOnyB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQiH,QAAUpyB,KAAKyxB,QAEpDY,QAAS,WACP,OAAOryB,KAAKmyB,YAAoBnyB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQqB,MAAQxsB,KAAKwsB,QAE3E8F,SAAU,WACR,OAAOtyB,KAAKmyB,YAAqBnyB,KAAKqyB,SAExCE,SAAU,WAER,QAAOvyB,KAAKmyB,WAAanyB,KAAKkyB,SAAWlyB,KAAKqyB,WAAkBryB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQqH,SAAWxyB,KAAKyyB,SAE9GC,SAAU,WACR,OAAO1yB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQwG,OAAS3xB,KAAK2xB,QAEnDgB,WAAY,WAEV,OAAO3yB,KAAK+xB,SAAU/xB,KAAKmrB,QAAQnf,UAA4BhM,KAAKgM,UAEtE4mB,WAAY,WAIV,OAAO5yB,KAAK6yB,eAAiB7yB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQjkB,SAAWlH,KAAKkH,WAE3E2rB,aAAc,WAEZ,OAAQ7yB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQ2H,UAAY9yB,KAAKrB,OAAS,MAEhEo0B,aAAc,WACZ,OAAQ/yB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQtB,KAAO7pB,KAAK6pB,OAAS,MAE3Drb,aAAc,WACZ,OAAQxO,KAAK+xB,QAAU/xB,KAAKmrB,QAAQjd,KAAOlO,KAAKkO,OAAS,IAE3D8kB,cAAe,WACb,OAAOhzB,KAAK+xB,QAAU/xB,KAAKmrB,QAAQ6H,cAAgB,eAAUhzB,KAAKqR,OAASrR,KAAKqR,MAAQ,MAE1F4hB,sBAAuB,WAErB,IAAIvB,EAAgB1xB,KAAK0xB,cAEzB,OAAIA,IAIA1xB,KAAK+xB,SAAW/xB,KAAKmrB,QAAQuG,cACxB1xB,KAAKmrB,QAAQuG,cAGf,cAETwB,cAAe,WACb,IAAIn0B,EAEAyP,EAAexO,KAAKwO,aACxB,MAAO,CAAC,MAAO,OAAO9O,OAAOM,KAAKizB,wBAAyBl0B,EAAO,GAAItB,EAAgBsB,EAAM,OAAOW,OAAO8O,GAAeA,GAAe/Q,EAAgBsB,EAAM,WAAYiB,KAAK2yB,YAAal1B,EAAgBsB,EAAM,SAAUiB,KAAKiyB,WAAYx0B,EAAgBsB,EAAM,QAASiB,KAAKgyB,UAAWjzB,KAE9R6qB,cAAe,WACb,IAAI5d,EAAWhM,KAAK2yB,WAChBzrB,EAAWlH,KAAK4yB,WACpB,OAAOlxB,EAAcA,EAAc,GAAI1B,KAAKmzB,SAAU,GAAI,CACxDrnB,GAAI9L,KAAK4c,SACTre,KAAMyB,KAAKkyB,QAAU,QAAU,WAC/BvzB,KAAMqB,KAAK6yB,aACXhJ,KAAM7pB,KAAK+yB,aACX/mB,SAAUA,EACV9E,SAAUA,EACV,gBAAiBA,GAAY,KAC7B,aAAclH,KAAKuxB,WAAa,KAChC,kBAAmBvxB,KAAKwxB,gBAAkB,SAIhD9d,OAAQ6G,EAAS,GAAI9c,EAAgB8c,EAAQpI,GAAiB,WAC5DnS,KAAK,GAAGN,OAAOyS,EAAiB,YAAYzR,MAAMV,KAAMW,cACtDlD,EAAgB8c,EAAQ,wBAAwB,WAClDva,KAAKozB,4BAA4B1yB,MAAMV,KAAMW,cAC3C4Z,GACJha,SAAU+wB,EAAW,GAAI7zB,EAAgB6zB,EAAU,GAAG5xB,OAAOyS,EAAiB,YAAY,SAAiBwB,GACpG,eAAWA,EAAU3T,KAAKqrB,wBAC7BrrB,KAAKqrB,qBAAuB1X,MAE5BlW,EAAgB6zB,EAAU,+BAA+B,SAAqC3d,EAAUyI,GACrG,eAAWzI,EAAUyI,IACxBpc,KAAKiR,MAAMmB,EAAkBuB,MAE7BlW,EAAgB6zB,EAAU,gBAAgB,SAAsB/M,GAClE,IAAIhQ,EAAQvU,KAERqzB,EAAU9O,EAAM5iB,OAAO0xB,QACvBz1B,EAAQoC,KAAKpC,MACbk0B,EAAeuB,EAAUz1B,EAAQ,KACrCoC,KAAKqrB,qBAAuBztB,EAE5BoC,KAAK8N,WAAU,WAEbyG,EAAMtD,MAAM,OAAmB6gB,GAG3Bvd,EAAMwd,SACRxd,EAAM4W,QAAQla,MAAM,OAAmB6gB,SAGzCr0B,EAAgB6zB,EAAU,eAAe,SAAqBxgB,GAG5DA,EAAMnP,SACW,UAAfmP,EAAMvS,KACRyB,KAAKgyB,UAAW,EACQ,SAAflhB,EAAMvS,OACfyB,KAAKgyB,UAAW,OAGlBv0B,EAAgB6zB,EAAU,SAAS,WAChCtxB,KAAK2yB,YACR,eAAa3yB,KAAKC,MAAMC,UAExBzC,EAAgB6zB,EAAU,QAAQ,WAC/BtxB,KAAK2yB,YACR,eAAY3yB,KAAKC,MAAMC,UAEvBoxB,GACJzyB,OAAQ,SAAgBC,GACtB,IAAIozB,EAAUlyB,KAAKkyB,QACfC,EAAYnyB,KAAKmyB,UACjBE,EAAUryB,KAAKqyB,QACfC,EAAWtyB,KAAKsyB,SAChBI,EAAW1yB,KAAK0yB,SAChBH,EAAWvyB,KAAKuyB,SAChB/jB,EAAexO,KAAKwO,aACpB2kB,EAAUnzB,KAAKmzB,QACfxqB,EAAW3I,KAAK+O,gBAChB0F,EAAS3V,EAAE,QAAS,CACtBW,MAAO,CAAC,CACN,mBAAoB4yB,EACpB,uBAAwBC,EAExB,kBAAmBD,IAAY1pB,GAC9BwpB,EAAY,GAAKnyB,KAAKuT,YACzBwK,WAAY,CAAC,CACXpf,KAAM,QACNf,MAAOoC,KAAKqrB,uBAEd7rB,MAAOQ,KAAK4pB,cACZnhB,SAAU,CACR7K,MAAOoC,KAAKpC,MACZy1B,QAASrzB,KAAKiyB,WAEhBzc,GAAI9T,EAAc,CAChBuoB,OAAQjqB,KAAKszB,cACZnB,EAAY,CACb/nB,MAAOpK,KAAKuzB,YACZhpB,KAAMvK,KAAKuzB,aACT,IACJ51B,IAAK,QACLqtB,IAAK,UAGP,GAAImH,EAAW,CACb,IAAIqB,EAAU10B,EAAE,QAAS,CACvBW,MAAOO,KAAKkzB,eACX,CAACze,EAAQ9L,IAUZ,OARK3I,KAAK+xB,UAGRyB,EAAU10B,EAAE,MAAO,CACjBW,MAAO,CAAC,mBAAoB,mBAC3B,CAAC+zB,KAGCA,EAKT,IAAIl0B,EAASR,IAcb,OAZMuzB,IAAY1pB,IAChBrJ,EAASR,EAAE,QAAS,CAClBW,MAAO,CACL,mBAAoB4yB,EACpB,uBAAwBC,GAE1B9yB,MAAO,CACLi0B,IAAKzzB,KAAK4c,WAEXjU,IAGE7J,EAAE,MAAO,CACdW,MAAO,CAAChC,EAAgB,CACtB,aAAc40B,EACd,oBAAqBA,GAAWK,EAChC,iBAAkBJ,EAClB,wBAAyBA,GAAYI,EACrC,kBAAmBJ,IAAaJ,IAAYK,EAC5C,gBAAiBA,EACjB,eAAgBD,GAAYJ,GAC3B,oBAAoBxyB,OAAO8O,GAAeA,IAAiB2jB,GAAYgB,EAAQ1zB,OAClFqP,MAAOqkB,EAAQrkB,OACd,CAAC2F,EAAQnV,Q,kCC5RhB,sFAKWpB,EAAQ,eAAsB,CACvC+J,UAAW,eAAS,QACpBC,cAAe,eAAS,QACxB5J,IAAK,eAAS,OAAkB,OAChC0J,YAAa,eAAS,SACrB,QAGoB,aAAItJ,OAAO,CAChCR,MAAOA,K,kCCdT,kGAKWA,EAAQ,eAAsB,CACvCw1B,QAAS,eAAS,OAAkB,MACnC,QAGQ5S,EAAyB,aAAIpiB,OAAO,CAC7CC,KAAM,OACNC,YAAY,EACZV,MAAOA,EACPW,OAAQ,SAAgBC,EAAGC,GACzB,IAAIb,EAAQa,EAAKb,MACbe,EAAOF,EAAKE,KACZsW,EAAWxW,EAAKwW,SACpB,OAAOzW,EAAEZ,EAAMw1B,QAAS,eAAUz0B,EAAM,CACtCM,YAAa,cACXgW,O,kCCpBR,wHAKIoe,EAAW,0BAEJz1B,EAAQ,eAAsB,CACvC01B,UAAW,eAAS,QAAmB,GACvC5nB,SAAU,eAAS,QAAmB,GACtC6d,KAAM,eAAS,QACf/d,GAAI,eAAS,QACbnN,KAAM,eAAS,QACfuI,SAAU,eAAS,QAAmB,IACrC,gBAGQ2sB,EAAmB,aAAIn1B,OAAO,CACvCR,MAAOA,EACP+V,QAAS,WACPjU,KAAK8zB,mBAIP/W,UAAW,WACT/c,KAAK8zB,mBAEPvzB,QAAS,CACPuzB,gBAAiB,WACf,IAAIvf,EAAQvU,KAEZA,KAAK8N,WAAU,WACb,gBAAU,WACR,IAAIf,EAAKwH,EAAMW,IAEXX,EAAMqf,WAAa,eAAU7mB,KAC1B,eAAQA,EAAI4mB,KACf5mB,EAAK,eAAO4mB,EAAU5mB,IAGxB,eAAaA,e,kCCxCzB,qQAAS/L,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EAkB3M,IAAIuiB,EAAa,WACb8T,EAAQ,CAAC,KAAM,KAAM,MACrBC,EAAkB,GAClBC,EAA0C,GAAlBD,EAEjBE,EAAc,SAAqBt2B,GAI5C,OAFAA,EAAQ,eAASA,IAAU,eAAUA,GAAS,eAAQA,EAAO,GAAKA,EAE3D,eAASA,GAAS,GAAG8B,OAAO9B,EAAO,MAAQA,GAAS,MAGzDu2B,EAAY,eAAK,OAAY,CAAC,SAAU,QAAS,cAC1Cj2B,EAAQ,eAAsB,eAASwD,EAAcA,EAAc,GAAIyyB,GAAY,GAAI,CAChG1tB,IAAK,eAAS,OAAkB,UAChC8qB,UAAW,eAAS,QACpB6C,MAAO,eAAS,QAA0B,GAC1CC,UAAW,eAAS,QAAmB,GACvCC,YAAa,eAAS,QACtBC,SAAU,eAAS,QAAmB,GACtCC,aAAc,eAAS,OAAkB,WACzC/C,OAAQ,eAAS,QAAmB,GACpCgD,WAAY,eAAS,OAAkB,UACvChyB,KAAM,eAAS,QACfwL,QAAS,eAAS,QAA0B,GAC5CC,KAAM,eAAS,QACfC,OAAQ,eAAS,QAAmB,GACpC3H,IAAK,eAAS,QACdkuB,KAAM,eAAS,QACfl2B,QAAS,eAAS,OAAkB,gBACjC,QAGM0iB,EAAuB,aAAIxiB,OAAO,CAC3CC,KAAM,OACN0P,OAAQ,CAAC,QACT6c,OAAQ,CACN3c,cAAe,CACbmN,QAAS,OAGbxd,MAAOA,EACPe,KAAM,WACJ,MAAO,CACL01B,SAAU30B,KAAKwG,KAAO,OAG1B5G,SAAU,CACR4O,aAAc,WAEZ,IAAID,EAAgBvO,KAAKuO,cACzB,OAAO2lB,EAAY3lB,EAAgBA,EAAcL,KAAOlO,KAAKkO,OAE/Dsa,gBAAiB,WACf,IAAIja,EAAgBvO,KAAKuO,cACzB,OAAOA,GAAiBA,EAAc/P,QAAU+P,EAAc/P,QAAUwB,KAAKxB,SAE/E+pB,gBAAiB,WACf,IAAIha,EAAgBvO,KAAKuO,cACrBJ,KAASI,IAAiBA,EAAcJ,SAAgBnO,KAAKmO,OAC7DF,EAAUM,GAAiBA,EAAcN,QAAUM,EAAcN,QAAUjO,KAAKiO,QACpF,OAAOE,EAAS,IAAkB,KAAZF,IAAwBA,GAAW,WAE3D2mB,UAAW,WACT,IAAI1mB,EAAOlO,KAAKwO,aACZqmB,GAAoC,IAAzBd,EAAMrjB,QAAQxC,GAAe,QAAQxO,OAAOwO,EAAM,OAAOxO,OAAOs0B,EAAiB,KAAO,KACvG,OAAOa,EAAW,CAChBA,SAAUA,GACR,IAENC,YAAa,WACX,IAAI5mB,EAAOlO,KAAKwO,aACZD,EAAgBvO,KAAKuO,cACrBE,EAAeF,EAAgBA,EAAcE,aAAe,EAC5D7Q,EAAQsQ,GAAQO,EAAe,QAAQ/O,OAAOwO,EAAM,QAAQxO,OAAO+O,EAAc,KAAO,KAC5F,OAAO7Q,EAAQ,CACbm3B,WAAYn3B,EACZo3B,YAAap3B,GACX,IAENq3B,WAAY,WACV,IAAI/mB,EAAOlO,KAAKwO,aACZ+lB,EAAWv0B,KAAKu0B,SAChBF,EAAYr0B,KAAKq0B,UACjBC,EAAct0B,KAAKs0B,YACnBzoB,EAASyoB,GAAe,MAC5B,MAAO,CACLO,UAAmC,IAAzBd,EAAMrjB,QAAQxC,GAAe,QAAQxO,OAAOwO,EAAM,OAAOxO,OAAOu0B,EAAuB,MAAQ,KACzG3tB,IAAKiuB,EAAW1oB,EAAS,KACzB1F,OAAQouB,EAAW,KAAO1oB,EAC1B/E,KAAMutB,EAAYxoB,EAAS,KAC3BhF,MAAOwtB,EAAY,KAAOxoB,KAIhC6H,MAAO,CACLlN,IAAK,SAAamN,EAAUyI,GACtBzI,IAAayI,IACfpc,KAAK20B,SAAWhhB,GAAY,QAIlCpT,QAAS,CACP20B,WAAY,SAAoBpkB,GAC9B9Q,KAAK20B,SAAW,KAChB30B,KAAKiR,MAAM,OAAsBH,IAEnCuP,QAAS,SAAiBvP,GACxB9Q,KAAKiR,MAAM,OAAkBH,KAGjCjS,OAAQ,SAAgBC,GACtB,IAAIq2B,EAEA32B,EAAUwB,KAAKwoB,gBACfxc,EAAWhM,KAAKgM,SAChBiC,EAAUjO,KAAKuoB,gBACf9lB,EAAOzC,KAAKyC,KACZ+D,EAAMxG,KAAK20B,SACXD,EAAO10B,KAAK00B,KACZE,EAAY50B,KAAK40B,UACjBE,EAAc90B,KAAK80B,YACnB5mB,EAAOlO,KAAKwO,aACZijB,EAASzxB,KAAKyxB,OACdlzB,EAAOyB,KAAKy0B,WACZL,EAAQp0B,KAAKo0B,MACbI,EAAex0B,KAAKw0B,aACpBS,EAAaj1B,KAAKi1B,WAClBG,GAAQ3D,GAAU,eAAOzxB,MACzB1B,EAAMmzB,EAAS,OAAU2D,EAAO,OAAQ,OACxC3uB,EAAMzG,KAAKyG,IACX8qB,EAAYvxB,KAAKuxB,WAAa,KAC9B5oB,EAAW,KAEX3I,KAAK+wB,oBAEPpoB,EAAW7J,EAAE,OAAQ,CACnBS,YAAa,mBACZ,CAACS,KAAK+O,kBACAvI,GACTmC,EAAW7J,EAAE,MAAO,CAClBgQ,MAAOtQ,EAAU,GAAK,CACpBkI,MAAO,OACPC,OAAQ,QAEVnH,MAAO,CACLgH,IAAKA,EACLC,IAAKA,GAEP+O,GAAI,CACF6f,MAAOr1B,KAAKk1B,cAGhBvsB,EAAW7J,EAAE,OAAQ,CACnBS,YAAa,gBACZ,CAACoJ,KAEJA,EADSlG,EACE3D,EAAE,OAAO,CAClBZ,MAAO,CACLuE,KAAMA,GAERjD,MAAO,CACL,cAAe,OACfiH,IAAKA,KAGAiuB,EACE51B,EAAE,OAAQ,CACnBS,YAAa,gBACbuP,MAAO8lB,GACN,CAAC91B,EAAE,OAAQ41B,KAGH51B,EAAE,OAAiB,CAC5BU,MAAO,CACL,cAAe,OACfiH,IAAKA,KAKX,IAAI6uB,EAASx2B,IACTy2B,EAAev1B,KAAK+wB,kBAAkB,QAE1C,GAAIqD,GAAmB,KAAVA,GAAgBmB,EAAc,CACzC,IAAIC,GAAsB,IAAVpB,EAAiB,GAAKA,EACtCkB,EAASx2B,EAAE,OAAQ,CACjBS,YAAa,iBACbE,MAAOhC,EAAgB,GAAI,SAASiC,OAAO80B,GAAeA,GAC1D1lB,MAAOmmB,GACN,CAACM,EAAev1B,KAAK+O,cAAc,QAAmBymB,IAG3D,IAAIC,EAAgB,CAClBl2B,YAAa0gB,EACbxgB,OAAQ01B,EAAU,GAAI13B,EAAgB03B,EAAS,GAAGz1B,OAAOugB,EAAY,KAAKvgB,OAAOwO,GAAOA,IAAiC,IAAzB6lB,EAAMrjB,QAAQxC,IAAezQ,EAAgB03B,EAAS,SAASz1B,OAAOlB,IAAWizB,GAAUjzB,GAAUf,EAAgB03B,EAAS,WAAuB,IAAZlnB,GAAmBxQ,EAAgB03B,EAAS,WAAWz1B,OAAOuO,GAAUA,IAAuB,IAAZA,GAAmBxQ,EAAgB03B,EAAS,WAAYnpB,GAAWmpB,GAC/XrmB,MAAOpN,EAAcA,EAAc,GAAIozB,GAAc,GAAI,CACvDpuB,MAAOwH,EACPvH,OAAQuH,IAEV1O,MAAO,CACL,aAAc+xB,GAAa,MAE7BrzB,MAAOuzB,EAAS,CACdjzB,QAASA,EACTwN,SAAUA,EACVzN,KAAMA,GACJ62B,EAAO,eAAWjB,EAAWn0B,MAAQ,GACzCwV,GAAIic,GAAU2D,EAAO,CACnB9qB,MAAOtK,KAAKqgB,SACV,IAEN,OAAOvhB,EAAER,EAAKm3B,EAAe,CAAC9sB,EAAU2sB,Q,kCC1O5C,sCAAI/a,EAAJ,wTAEA,SAASvZ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOtD,OAAOsD,KAAKF,GAAS,GAAIpD,OAAOuD,sBAAuB,CAAE,IAAIC,EAAUxD,OAAOuD,sBAAsBH,GAAaC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAO1D,OAAO2D,yBAAyBP,EAAQM,GAAKxD,eAAgBoD,EAAKM,KAAKf,MAAMS,EAAME,GAAY,OAAOF,EAE9U,SAASO,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIjB,UAAUkB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBnB,UAAUiB,GAAajB,UAAUiB,GAAK,GAAQA,EAAI,EAAKZ,EAAQnD,OAAOiE,IAAS,GAAMC,SAAQ,SAAUpE,GAAOF,EAAgBkE,EAAQhE,EAAKmE,EAAOnE,OAAsBE,OAAOmE,0BAA6BnE,OAAOoE,iBAAiBN,EAAQ9D,OAAOmE,0BAA0BF,IAAmBd,EAAQnD,OAAOiE,IAASC,SAAQ,SAAUpE,GAAOE,OAAOC,eAAe6D,EAAQhE,EAAKE,OAAO2D,yBAAyBM,EAAQnE,OAAe,OAAOgE,EAE7gB,SAASlE,EAAgBC,EAAKC,EAAKC,GAAiK,OAApJD,KAAOD,EAAOG,OAAOC,eAAeJ,EAAKC,EAAK,CAAEC,MAAOA,EAAOG,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBP,EAAIC,GAAOC,EAAgBF,EA4B3M,IAAIoU,EAAkB,eAAe,QAAS,CAC5CvT,KAAM,SAEJyT,EAAaF,EAAgBG,MAC7BC,EAAaJ,EAAgB5T,MAC7BiU,EAAkBL,EAAgBrE,KAClC2E,EAAmBN,EAAgBhB,MAInC4kB,EAAc,SAAqBC,GACrC,OAAQA,EAAI3pB,UAKV4pB,EAA2B,aAAIl3B,OAAO,CACxCC,KAAM,QACNusB,OAAQ,CACN2K,OAAQ,CACNna,QAEA,WACE,MAAO,MAIbxd,MAAO,CACL43B,SAAU,eAAS,QACnBhqB,GAAI,eAAS,QACbiqB,SAAU,eAAS,QAAmB,GACtCC,SAAU,eAAS,QACnBC,QAAS,eAAS,QAElBN,IAAK,iBACLO,SAAU,eAAS,SAErB31B,QAAS,CACP6J,MAAO,WACL,eAAapK,KAAKC,MAAMm1B,OAE1Be,UAAW,SAAmBrlB,GAE5B,IAAI9Q,KAAK21B,IAAI3pB,SAAb,CAIA,IAAIzN,EAAOuS,EAAMvS,KACbwS,EAAUD,EAAMC,QAChBqlB,EAAWtlB,EAAMslB,SAER,UAAT73B,GAGgB,YAATA,GAAsBwS,IAAY,QAF3C,eAAUD,GACV9Q,KAAKiR,MAAM,OAAkBH,IAOX,YAATvS,GAAuByB,KAAK+1B,YAEqB,IAAtD,CAAC,OAAS,OAAW,QAAWrlB,QAAQK,IAC1C,eAAUD,GAENslB,GAAYrlB,IAAY,OAC1B/Q,KAAKiR,MAAM,OAAkBH,GAE7B9Q,KAAKiR,MAAM,OAAiBH,KAEmC,IAAxD,CAAC,OAAW,OAAY,QAAUJ,QAAQK,KACnD,eAAUD,GAENslB,GAAYrlB,IAAY,OAC1B/Q,KAAKiR,MAAM,OAAiBH,GAE5B9Q,KAAKiR,MAAM,OAAiBH,QAMtCjS,OAAQ,SAAgBC,GACtB,IAAIgN,EAAK9L,KAAK8L,GACVoqB,EAAWl2B,KAAKk2B,SAChBD,EAAUj2B,KAAKi2B,QACfD,EAAWh2B,KAAKg2B,SAChBF,EAAW91B,KAAK81B,SAChBK,EAAYn2B,KAAKm2B,UACjBE,EAAYr2B,KAAK21B,IACjB1yB,EAAQozB,EAAUpzB,MAClBqzB,EAAcD,EAAUC,YACxBtqB,EAAWqqB,EAAUrqB,SACrBuqB,EAAiBF,EAAUE,eAC3BC,EAAiBH,EAAUG,eAC3BC,EAAsBJ,EAAUI,oBAChCC,EAAQ53B,EAAE,OAAO,CACnBS,YAAa,WACbE,MAAO,CAAC,CACNk3B,OAAQL,IAAgBtqB,EACxBA,SAAUA,GACTwqB,EACHF,EAAct2B,KAAK61B,OAAOe,mBAAqB,MAC/C14B,MAAO,CACL8N,SAAUA,GAEZxM,MAAOkC,EAAcA,EAAc,GAAI+0B,GAAsB,GAAI,CAC/D3qB,GAAIA,EACJ1N,KAAM,MAENy4B,SAAUX,EACV,gBAAiBI,IAAgBtqB,EAAW,OAAS,QACrD,eAAgBiqB,EAChB,gBAAiBD,EACjB,gBAAiBF,IAEnBtgB,GAAI,CACFlL,MAAO6rB,EACPW,QAASX,GAEXnL,IAAK,QACJ,CAAChrB,KAAK21B,IAAI5mB,cAAc,UAAoB9L,IAC/C,OAAOnE,EAAE,KAAM,CACbS,YAAa,WACbE,MAAO,CAAC82B,GACR/2B,MAAO,CACLpB,KAAM,iBAEP,CAACs4B,OAIJK,EAAW,eAAK,OAAW,CAAC,OAAQ,WAAY,eACzC74B,EAAQ,eAAsB,eAASwD,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAUwQ,GAAa6kB,GAAW,GAAI,CAElJH,mBAAoB,eAAS,QAG7BI,eAAgB,eAAS,QACzB7vB,KAAM,eAAS,QAAmB,GAClC8vB,aAAc,eAAS,QAEvB7wB,IAAK,eAAS,QAAmB,GAEjCqM,KAAM,eAAS,QAAmB,GAClCykB,SAAU,eAAS,QACnBC,gBAAiB,eAAS,QAC1B7pB,OAAQ,eAAS,QAAmB,GACpCyoB,SAAU,eAAS,QAAmB,GACtCqB,WAAY,eAAS,QAAmB,GACxC94B,IAAK,eAAS,OAAkB,UAC7B,SAGMiiB,EAAqB,aAAI7hB,OAAO,CACzCC,KAAM,QACN0P,OAAQ,CAAC,OAAS2D,EAAY,QAC9B1D,QAAS,WACP,MAAO,CACLunB,OAAQ71B,OAGZ9B,MAAOA,EACPe,KAAM,WACJ,MAAO,CAELo4B,WAAY,eAAUr3B,KAAKmS,IAAmB,GAE9CkM,KAAM,GAENiZ,eAAgB,KAGpB13B,SAAU,CACR23B,KAAM,WAEJ,OAAQv3B,KAAKsN,QAEfkqB,cAAe,WACb,IAAIC,EAAU,GAMd,OAJIz3B,KAAKmH,MAAQnH,KAAKse,UACpBmZ,EAAQh2B,KAAK,cAAe,QAAS,kBAAmB,aAGnD,GAAG/B,OAAO+3B,EAAS,CAACz3B,KAAKk3B,aAGpCxjB,OAAQ6G,EAAS,GAAI9c,EAAgB8c,EAAQpI,GAAiB,SAAUwB,EAAUyI,GAChF,GAAIzI,IAAayI,EAAU,CACzBzI,EAAW,eAAUA,GAAW,GAChCyI,EAAW,eAAUA,EAAU,GAC/B,IAAIsb,EAAO13B,KAAKqe,KAAK1K,GAEjB+jB,IAASA,EAAK1rB,SAChBhM,KAAK23B,YAAYD,GAGb/jB,EAAWyI,EACbpc,KAAK43B,cAEL53B,KAAK63B,cAITp6B,EAAgB8c,EAAQ,cAAc,SAAoB5G,GAC5D,IAAIlD,GAAS,EAEbzQ,KAAKqe,KAAKtc,SAAQ,SAAU21B,EAAM91B,GAC5BA,IAAM+R,GAAa+jB,EAAK1rB,SAI1B0rB,EAAKpB,aAAc,GAHnBoB,EAAKpB,aAAc,EACnB7lB,EAAQ7O,MAMZ5B,KAAKiR,MAAMmB,EAAkB3B,MAC3BhT,EAAgB8c,EAAQ,QAAQ,SAAc5G,EAAUyI,GAC1D,IAAI7H,EAAQvU,KAIP,eAAW2T,EAAS3P,KAAI,SAAU0zB,GACrC,OAAOA,EAAK,WACVtb,EAASpY,KAAI,SAAU0zB,GACzB,OAAOA,EAAK,aAGZ13B,KAAK8N,WAAU,WAGbyG,EAAMtD,MAAM,OAAoB0C,EAAS/P,QAASwY,EAASxY,eAG7DnG,EAAgB8c,EAAQ,kBAAkB,WAC5Cva,KAAK83B,gBACHvd,GACJxG,QAAS,WAEP/T,KAAK+3B,WAAa,MAEpB9jB,QAAS,WACPjU,KAAKg4B,aAAY,IAEnB9jB,cAAe,WACblU,KAAKg4B,aAAY,GAEjBh4B,KAAKqe,KAAO,IAEd9d,QAAS,CACP03B,YAAa,SAAqBP,GAC3B,eAAc13B,KAAKs3B,eAAgBI,IACtC13B,KAAKs3B,eAAe71B,KAAKi2B,IAG7BQ,cAAe,SAAuBR,GACpC13B,KAAKs3B,eAAiBt3B,KAAKs3B,eAAe1zB,QAAQtC,QAAO,SAAU62B,GACjE,OAAOA,IAAOT,MAIlBM,YAAa,WACX,IAAI1b,EAAStc,KAETwV,IAAK7U,UAAUkB,OAAS,QAAsBkI,IAAjBpJ,UAAU,KAAmBA,UAAU,GAIxE,GAHAX,KAAK+3B,YAAc/3B,KAAK+3B,WAAW/Q,aACnChnB,KAAK+3B,WAAa,KAEdviB,EAAI,CAEN,IAAI5E,EAAU,WACZ0L,EAAOxO,WAAU,WACf,gBAAU,WACRwO,EAAOwb,oBAMb93B,KAAK+3B,WAAa,eAAW/3B,KAAKC,MAAMm4B,QAASxnB,EAAS,CACxDynB,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,gBAAiB,CAAC,UAIxBC,QAAS,WACP,IAAIC,EAAQ14B,KAAKs3B,eAAeh2B,QAAO,SAAUo2B,GAC/C,OAEc,IAFPA,EAAK5G,UAAUxvB,QAAO,SAAU62B,GACrC,OAAOA,EAAGQ,UACT92B,UAGD+2B,EAAQ,GAGZ,GAAI,QAAcF,EAAM72B,OAAS,EAAG,CAIlC,IAAIg3B,EAAWH,EAAM10B,KAAI,SAAU0zB,GACjC,MAAO,IAAIh4B,OAAOg4B,EAAK9a,aACtB/Y,KAAK,MACR+0B,EAAQ,eAAUC,EAAU74B,KAAKkV,KAAKlR,KAAI,SAAUkR,GAClD,OAAOA,EAAIpJ,MACVxK,OAAO,QAKZ,OAAO,eAAWo3B,GAAO,SAAUnR,EAAGE,GACpC,OAAOmR,EAAMloB,QAAQ6W,EAAE3K,UAAYgc,EAAMloB,QAAQ+W,EAAE7K,cAGvDkb,WAAY,WACV,IAAIY,EAAQ14B,KAAKy4B,UAGbvC,EAAWwC,EAAMhoB,QAAQgoB,EAAM90B,QAAQk1B,UAAUC,MAAK,SAAUrB,GAClE,OAAOA,EAAKpB,cAAgBoB,EAAK1rB,aAGnC,GAAIkqB,EAAW,EAAG,CAChB,IAAImB,EAAar3B,KAAKq3B,WAElBA,GAAcqB,EAAM72B,OAEtBq0B,EAAWwC,EAAMhoB,QAAQgoB,EAAM90B,QAAQk1B,UAAUC,KAAKrD,IAC7CgD,EAAMrB,KAAgBqB,EAAMrB,GAAYrrB,WAEjDkqB,EAAWmB,GAKXnB,EAAW,IACbA,EAAWwC,EAAMhoB,QAAQgoB,EAAMK,KAAKrD,KAItCgD,EAAM32B,SAAQ,SAAU21B,EAAMjnB,GAC5BinB,EAAKpB,YAAc7lB,IAAUylB,KAE/Bl2B,KAAKqe,KAAOqa,EACZ14B,KAAKq3B,WAAanB,GAIpB8C,gBAAiB,SAAyBtB,GACxC,OAAQ13B,KAAKC,MAAMmyB,SAAW,IAAI2G,MAAK,SAAUE,GAC/C,OAAOA,EAAKtD,MAAQ+B,MAKxBwB,aAAc,SAAsBxB,GAClC,IAAIlE,EAAUxzB,KAAKg5B,gBAAgBtB,GAE/BlE,GAAWA,EAAQ2F,cACrB3F,EAAQ2F,gBAKZxB,YAAa,SAAqBD,GAChC,IAAIL,EAAar3B,KAAKq3B,WAClBqB,EAAQ14B,KAAKqe,KACb7Y,GAAS,EAEb,GAAIkyB,EAAM,CACR,IAAIjnB,EAAQioB,EAAMhoB,QAAQgnB,GAE1B,GAAIjnB,IAAU4mB,GAAc5mB,GAAS,IAAMinB,EAAK1rB,SAAU,CACxD,IAAIotB,EAAW,IAAI,OAAQ,OAAyB,CAClDC,YAAY,EACZC,UAAWt5B,KACXu5B,YAAav5B,KAAK4c,WAEpB5c,KAAKiR,MAAMmoB,EAAS76B,KAAMkS,EAAO4mB,EAAY+B,GAExCA,EAAStkB,mBACZ9U,KAAKq3B,WAAa5mB,EAClBjL,GAAS,IAYf,OAJKA,GAAUxF,KAAKmS,KAAqBklB,GACvCr3B,KAAKiR,MAAMmB,EAAkBilB,GAGxB7xB,GAITg0B,cAAe,SAAuB9B,GACpC,QAAIA,GAGK13B,KAAK23B,YAAY33B,KAAKqe,KAAK/c,QAAO,SAAU62B,GACjD,OAAOA,IAAOT,KACbqB,KAAKrD,KAQZ+D,YAAa,SAAqB/B,GAChC,IAAIgC,EAAS15B,KAGbA,KAAK8N,WAAU,WACb,eAAa4rB,EAAOV,gBAAgBtB,QAIxCiC,aAAc,SAAsBhE,EAAK7kB,GACnC,eAAQA,IAAU6kB,GAAOA,EAAI1kB,QAAU0kB,EAAI3pB,UAC7C2pB,EAAI1kB,MAAM,OAAkBH,IAIhC8oB,SAAU,SAAkBlC,EAAM5mB,GAChC9Q,KAAK23B,YAAYD,GACjB13B,KAAK25B,aAAajC,EAAM5mB,IAG1B+oB,SAAU,SAAkBzvB,GAC1B,IAAIstB,EAAO13B,KAAKqe,KAAK0a,KAAKrD,GAEtB11B,KAAK23B,YAAYD,IAASttB,IAC5BpK,KAAKy5B,YAAY/B,GACjB13B,KAAK25B,aAAajC,EAAMttB,KAI5BwtB,YAAa,SAAqBxtB,GAChC,IAAI0vB,EAAe,eAAQ95B,KAAKq3B,WAAY,GACxCK,EAAO13B,KAAKqe,KAAKza,MAAM,EAAGk2B,GAAchB,UAAUC,KAAKrD,GAEvD11B,KAAK23B,YAAYD,IAASttB,IAC5BpK,KAAKy5B,YAAY/B,GACjB13B,KAAK25B,aAAajC,EAAMttB,KAI5BytB,QAAS,SAAiBztB,GACxB,IAAI0vB,EAAe,eAAQ95B,KAAKq3B,YAAa,GACzCK,EAAO13B,KAAKqe,KAAKza,MAAMk2B,EAAe,GAAGf,KAAKrD,GAE9C11B,KAAK23B,YAAYD,IAASttB,IAC5BpK,KAAKy5B,YAAY/B,GACjB13B,KAAK25B,aAAajC,EAAMttB,KAI5B2vB,QAAS,SAAiB3vB,GACxB,IAAIstB,EAAO13B,KAAKqe,KAAKza,QAAQk1B,UAAUC,KAAKrD,GAExC11B,KAAK23B,YAAYD,IAASttB,IAC5BpK,KAAKy5B,YAAY/B,GACjB13B,KAAK25B,aAAajC,EAAMttB,MAI9BvL,OAAQ,SAAgBC,GACtB,IAAIk7B,EAASh6B,KAEToH,EAAQpH,KAAKoH,MACbD,EAAOnH,KAAKmH,KACZf,EAAMpG,KAAKoG,IACX8X,EAAOle,KAAKke,KACZ2b,EAAW75B,KAAK65B,SAChB1b,EAAYne,KAAKme,UACjB4b,EAAU/5B,KAAK+5B,QACflC,EAAU73B,KAAK63B,QACf9B,EAAW/1B,KAAK+1B,SAChBqB,EAAap3B,KAAKo3B,WAClBhZ,EAAQpe,KAAKoe,MACbwZ,EAAc53B,KAAK43B,YACnBv5B,EAAQ2B,KAAK3B,MACbq6B,EAAQ14B,KAAKqe,KACbC,EAAWte,KAAKse,SAEhB2b,EAAavB,EAAMK,MAAK,SAAUrB,GACpC,OAAOA,EAAKpB,cAAgBoB,EAAK1rB,YAG/BkuB,EAAexB,EAAMK,MAAK,SAAUrB,GACtC,OAAQA,EAAK1rB,YAGXmuB,EAAWzB,EAAM10B,KAAI,SAAU0zB,EAAMjnB,GACvC,IAAI2pB,EAEAxd,EAAS8a,EAAK9a,OAEdsZ,EAAW,KAYf,OAVKH,IAEHG,GAAY,GAERwB,IAASuC,IAAeA,GAAcvC,IAASwC,KAEjDhE,EAAW,OAIRp3B,EAAE82B,EAAa,CACpB13B,MAAO,CACL43B,SAAUlZ,EAASA,IAAW,KAC9B9Q,GAAI4rB,EAAK2C,eAAiBzd,EAASA,EAAO,mBAAqB,MAC/DmZ,SAAUA,EACVC,SAAUvlB,EAAQ,EAClBwlB,QAASyC,EAAM72B,OACf8zB,IAAK+B,EACLxB,SAAUA,GAEZ1gB,IAAK4kB,EAAM,GAAI38B,EAAgB28B,EAAK,QAAkB,SAAUtpB,GAC9DkpB,EAAOJ,SAASlC,EAAM5mB,MACpBrT,EAAgB28B,EAAK,OAAkBP,GAAWp8B,EAAgB28B,EAAK,OAAiBxC,GAAcn6B,EAAgB28B,EAAK,OAAiBvC,GAAUp6B,EAAgB28B,EAAK,OAAiBL,GAAUK,GAC1Mz8B,IAAK+5B,EAAK,SAAsBjnB,EAChCua,IAAK,UAELsP,UAAU,OAGVC,EAAOz7B,EAAE,OAAM,CACjBW,MAAOO,KAAKw3B,cACZh4B,MAAO,CACLpB,KAAM,UACN0N,GAAI9L,KAAK4c,OAAO,sBAElB1e,MAAO,CACLggB,KAAMA,EACNC,UAAWA,EACX/W,MAAOA,EACPiX,MAAO+Y,IAAehZ,EACtBA,OAAQgZ,GAAchZ,EACtBE,SAAUA,EACVjgB,MAAOA,EACP4f,WAAY9W,IAASmX,GAEvB0M,IAAK,OACJ,CAAChrB,KAAK+O,cAAc,UAAyBjQ,IAAKq7B,EAAUn6B,KAAK+O,cAAc,UAAuBjQ,MACzGy7B,EAAOz7B,EAAE,MAAO,CACdW,MAAO,CAAC,CACN,cAAe0H,IAASmX,IAAalY,EACrC,cAAee,IAASmX,GAAYlY,EACpC,WAAYkY,GACXte,KAAKm3B,iBACRx5B,IAAK,eACJ,CAAC48B,IACJ,IAAIzJ,EAAY9wB,KAAK+O,iBAAmB,GACpCyrB,EAAS17B,IAEY,IAArBgyB,EAAUjvB,SACZ24B,EAAS17B,EAAE,MAAO,CAChBW,MAAO,CAAC,WAAY,SAAU,CAC5B,YAAa0H,IAEfxJ,IAAK,gBACJqC,KAAK+O,cAAc,UAGxB,IAAIpG,EAAW7J,EAAE,MAAO,CACtBS,YAAa,cACbE,MAAO,CAAC,CACNg7B,IAAKnc,GACJte,KAAKi3B,cACRz3B,MAAO,CACLsM,GAAI9L,KAAK4c,OAAO,uBAElBjf,IAAK,aACLqtB,IAAK,WACJ,CAAC8F,EAAW0J,IAEf,OAAO17B,EAAEkB,KAAK1B,IAAK,CACjBiB,YAAa,OACbE,MAAO,CACLi7B,IAAKpc,EACL,aAAcA,GAAYnX,GAE5B3H,MAAO,CACLsM,GAAI9L,KAAK4c,WAEV,CAACxW,EAAMuC,EAAW7J,IAAKy7B,EAAMn0B,EAAMtH,IAAM6J","file":"js/chunk-3d26d794.7265d920.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\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 $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n 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)\n }), [$label || h()]);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\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, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\n }\n});","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['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\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\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', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\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(BCardHeaderProps, 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(BCardBodyProps, 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(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(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});","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","import { Vue } from '../../vue';\nimport { NAME_AVATAR_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { mathMax, mathMin } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { computeSize } from './avatar'; // --- Props ---\n\nexport var props = 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\nexport var BAvatarGroup = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR_GROUP,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvAvatarGroup: this\n };\n },\n props: props,\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});","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = 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\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar 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\nvar 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\nvar addClickListener = function addClickListener(el, vnode) {\n removeClickListener(el);\n\n if (vnode.context) {\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 vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, 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\nvar removeRootListeners = function removeRootListeners(el, vnode) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, vnode) {\n removeRootListeners(el, vnode);\n\n if (vnode.context) {\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 vnode.context.$root.$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar 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\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !vnode.context) {\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, vnode);\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 vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport 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, vnode); // 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, vnode); // 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};","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_NAV_ITEM } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_OBJECT } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkAttrs: makeProp(PROP_TYPE_OBJECT, {}),\n linkClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})), NAME_NAV_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BNavItem = /*#__PURE__*/Vue.extend({\n name: NAME_NAV_ITEM,\n functional: true,\n props: props,\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', mergeData(omit(data, ['on']), {\n staticClass: 'nav-item'\n }), [h(BLink, {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props: props,\n on: listeners\n }, children)]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar 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\nexport var props = 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\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\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', mergeData(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});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PROGRESS } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BProgressBar, props as BProgressBarProps } from './progress-bar'; // --- Props ---\n\nvar progressBarProps = omit(BProgressBarProps, ['label', 'labelHtml']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, progressBarProps), {}, {\n animated: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, 100),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, false),\n showValue: makeProp(PROP_TYPE_BOOLEAN, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_PROGRESS); // --- Main component ---\n// @vue/component\n\nexport var BProgress = /*#__PURE__*/Vue.extend({\n name: NAME_PROGRESS,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvProgress: this\n };\n },\n props: props,\n computed: {\n progressHeight: function progressHeight() {\n return {\n height: this.height || null\n };\n }\n },\n render: function render(h) {\n var $childNodes = this.normalizeSlot();\n\n if (!$childNodes) {\n $childNodes = h(BProgressBar, {\n props: pluckProps(progressBarProps, this.$props)\n });\n }\n\n return h('div', {\n staticClass: 'progress',\n style: this.progressHeight\n }, [$childNodes]);\n }\n});","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=style&index=0&lang=scss&\"","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\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\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\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 = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\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, 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, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, 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, 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 handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(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});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar 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\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar 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\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar 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\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\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 mergeData(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});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return Object.keys(_vm.profileData).length ? _c('div', {\n attrs: {\n \"id\": \"user-profile\"\n }\n }, [_c('profile-header', {\n attrs: {\n \"header-data\": _vm.profileData.header\n }\n }), _c('section', {\n attrs: {\n \"id\": \"profile-info\"\n }\n }, [_c('b-row', [_c('b-col', {\n attrs: {\n \"lg\": \"3\",\n \"cols\": \"12\",\n \"order\": \"2\",\n \"order-lg\": \"1\"\n }\n }, [_c('profile-about', {\n attrs: {\n \"about-data\": _vm.profileData.userAbout\n }\n }), _c('profile-suggested-pages', {\n attrs: {\n \"pages-data\": _vm.profileData.suggestedPages\n }\n }), _c('profile-twitter-feed', {\n attrs: {\n \"twitter-feed\": _vm.profileData.twitterFeeds\n }\n })], 1), _c('b-col', {\n attrs: {\n \"lg\": \"6\",\n \"cols\": \"12\",\n \"order\": \"1\",\n \"order-lg\": \"2\"\n }\n }, [_c('profile-post', {\n attrs: {\n \"posts\": _vm.profileData.post\n }\n })], 1), _c('b-col', {\n attrs: {\n \"lg\": \"3\",\n \"cols\": \"12\",\n \"order\": \"3\"\n }\n }, [_c('profile-latest-photos', {\n attrs: {\n \"latest-images\": _vm.profileData.latestPhotos\n }\n }), _c('profile-suggestion', {\n attrs: {\n \"suggestions\": _vm.profileData.suggestions\n }\n }), _c('profile-polls', {\n attrs: {\n \"polls-data\": _vm.profileData.polls\n }\n })], 1), _c('b-col', {\n attrs: {\n \"cols\": \"12\",\n \"order\": \"4\"\n }\n }, [_c('profile-bottom')], 1)], 1)], 1)], 1) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', {\n staticClass: \"profile-header mb-2\",\n attrs: {\n \"img-src\": _vm.headerData.coverImg,\n \"img-top\": \"\",\n \"alt\": \"cover photo\",\n \"body-class\": \"p-0\"\n }\n }, [_c('div', {\n staticClass: \"position-relative\"\n }, [_c('div', {\n staticClass: \"profile-img-container d-flex align-items-center\"\n }, [_c('div', {\n staticClass: \"profile-img\"\n }, [_c('b-img', {\n attrs: {\n \"src\": _vm.headerData.avatar,\n \"rounded\": \"\",\n \"fluid\": \"\",\n \"alt\": \"profile photo\"\n }\n })], 1), _c('div', {\n staticClass: \"profile-title ml-3\"\n }, [_c('h2', {\n staticClass: \"text-white\"\n }, [_vm._v(\" \" + _vm._s(_vm.headerData.username) + \" \")]), _c('p', {\n staticClass: \"text-white\"\n }, [_vm._v(\" \" + _vm._s(_vm.headerData.designation) + \" \")])])])]), _c('div', {\n staticClass: \"profile-header-nav\"\n }, [_c('b-navbar', {\n attrs: {\n \"toggleable\": \"md\",\n \"type\": \"light\"\n }\n }, [_c('b-navbar-toggle', {\n staticClass: \"ml-auto\",\n attrs: {\n \"target\": \"nav-text-collapse\"\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"AlignJustifyIcon\",\n \"size\": \"21\"\n }\n })], 1), _c('b-collapse', {\n attrs: {\n \"id\": \"nav-text-collapse\",\n \"is-nav\": \"\"\n }\n }, [_c('b-tabs', {\n staticClass: \"profile-tabs mt-1 mt-md-0\",\n attrs: {\n \"pills\": \"\",\n \"nav-class\": \"mb-0\"\n },\n scopedSlots: _vm._u([{\n key: \"tabs-start\",\n fn: function fn() {\n return [_c('b-nav-item', {\n staticClass: \"font-weight-bold\",\n attrs: {\n \"role\": \"presentation\",\n \"active\": \"\"\n }\n }, [_c('span', {\n staticClass: \"d-none d-md-block\"\n }, [_vm._v(\"Feed\")]), _c('feather-icon', {\n staticClass: \"d-block d-md-none\",\n attrs: {\n \"icon\": \"RssIcon\"\n }\n })], 1), _c('b-nav-item', {\n staticClass: \"font-weight-bold\",\n attrs: {\n \"role\": \"presentation\"\n }\n }, [_c('span', {\n staticClass: \"d-none d-md-block\"\n }, [_vm._v(\"About\")]), _c('feather-icon', {\n staticClass: \"d-block d-md-none\",\n attrs: {\n \"icon\": \"InfoIcon\"\n }\n })], 1), _c('b-nav-item', {\n staticClass: \"font-weight-bold\",\n attrs: {\n \"role\": \"presentation\"\n }\n }, [_c('span', {\n staticClass: \"d-none d-md-block\"\n }, [_vm._v(\"Photos\")]), _c('feather-icon', {\n staticClass: \"d-block d-md-none\",\n attrs: {\n \"icon\": \"ImageIcon\"\n }\n })], 1), _c('b-nav-item', {\n staticClass: \"font-weight-bold\",\n attrs: {\n \"role\": \"presentation\"\n }\n }, [_c('span', {\n staticClass: \"d-none d-md-block\"\n }, [_vm._v(\"Friends\")]), _c('feather-icon', {\n staticClass: \"d-block d-md-none\",\n attrs: {\n \"icon\": \"UsersIcon\"\n }\n })], 1)];\n },\n proxy: true\n }, {\n key: \"tabs-end\",\n fn: function fn() {\n return [_c('b-button', {\n staticClass: \"ml-auto\",\n attrs: {\n \"variant\": \"primary\"\n }\n }, [_c('feather-icon', {\n staticClass: \"d-block d-md-none\",\n attrs: {\n \"icon\": \"EditIcon\"\n }\n }), _c('span', {\n staticClass: \"font-weight-bold d-none d-md-block\"\n }, [_vm._v(\"Edit\")])], 1)];\n },\n proxy: true\n }])\n })], 1)], 1)], 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue } from '../../vue';\nimport { NAME_COLLAPSE, NAME_NAVBAR_TOGGLE } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { getRootEventName } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { VBToggle } from '../../directives/toggle/toggle'; // --- Constants ---\n\nvar CLASS_NAME = 'navbar-toggler';\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n label: makeProp(PROP_TYPE_STRING, 'Toggle navigation'),\n target: makeProp(PROP_TYPE_ARRAY_STRING, undefined, true) // Required\n\n}, NAME_NAVBAR_TOGGLE); // --- Main component ---\n// @vue/component\n\nexport var BNavbarToggle = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR_TOGGLE,\n directives: {\n VBToggle: VBToggle\n },\n mixins: [listenOnRootMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n toggleState: false\n };\n },\n created: function created() {\n this.listenOnRoot(ROOT_EVENT_NAME_STATE, this.handleStateEvt);\n this.listenOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.handleStateEvt);\n },\n methods: {\n onClick: function onClick(event) {\n if (!this.disabled) {\n // Emit courtesy `click` event\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n handleStateEvt: function handleStateEvt(id, state) {\n // We listen for state events so that we can pass the\n // boolean expanded state to the default scoped slot\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n render: function render(h) {\n var disabled = this.disabled;\n return h('button', {\n staticClass: CLASS_NAME,\n class: {\n disabled: disabled\n },\n directives: [{\n name: 'VBToggle',\n value: this.target\n }],\n attrs: {\n type: 'button',\n disabled: disabled,\n 'aria-label': this.label\n },\n on: {\n click: this.onClick\n }\n }, [this.normalizeSlot(SLOT_NAME_DEFAULT, {\n expanded: this.toggleState\n }) || h('span', {\n staticClass: \"\".concat(CLASS_NAME, \"-icon\")\n })]);\n }\n});","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileHeader.vue?vue&type=template&id=30c9be0c&\"\nimport script from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', _vm._l(_vm.aboutData, function (data, key, index) {\n return _c('div', {\n key: data.title,\n class: index ? 'mt-2' : ''\n }, [_c('h5', {\n staticClass: \"text-capitalize mb-75\"\n }, [_vm._v(\" \" + _vm._s(key) + \" \")]), _c('b-card-text', [_vm._v(\" \" + _vm._s(data) + \" \")])], 1);\n }), 0);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileAbout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileAbout.vue?vue&type=template&id=1c7f2c2e&\"\nimport script from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileAbout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', [_c('h5', {\n staticClass: \"mb-2\"\n }, [_vm._v(\" Suggested Pages \")]), _vm._l(_vm.pagesData, function (data, index) {\n return _c('div', {\n key: index,\n staticClass: \"d-flex justify-content-start align-items-center mt-1\"\n }, [_c('div', {\n staticClass: \"mr-1\"\n }, [_c('b-avatar', {\n attrs: {\n \"size\": \"40\",\n \"src\": data.avatar\n }\n })], 1), _c('div', {\n staticClass: \"profile-user-info\"\n }, [_c('h6', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" \" + _vm._s(data.username) + \" \")]), _c('small', {\n staticClass: \"text-muted\"\n }, [_vm._v(_vm._s(data.subtitle))])]), _c('div', {\n staticClass: \"profile-star ml-auto\"\n }, [_c('feather-icon', {\n class: data.favorite ? 'profile-favorite' : '',\n attrs: {\n \"icon\": \"StarIcon\",\n \"size\": \"18\"\n }\n })], 1)]);\n })], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestedPages.vue?vue&type=template&id=71fb2880&\"\nimport script from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestedPages.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', [_c('h5', [_vm._v(\"Twitter Feeds\")]), _vm._l(_vm.twitterFeed, function (data, index) {\n return _c('div', {\n key: data.avatar,\n staticClass: \"profile-twitter-feed\",\n class: index != 0 ? 'mt-2' : 'mt-1'\n }, [_c('div', {\n staticClass: \"d-flex justify-content-start align-items-center mb-1\"\n }, [_c('b-avatar', {\n staticClass: \"mr-1\",\n attrs: {\n \"size\": \"40\",\n \"src\": data.imgUrl\n }\n }), _c('div', {\n staticClass: \"profile-user-info\"\n }, [_c('h6', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" \" + _vm._s(data.title) + \" \")]), _c('b-link', [_c('small', {\n staticClass: \"text-muted\"\n }, [_vm._v(\"@\" + _vm._s(data.id))]), _c('feather-icon', {\n attrs: {\n \"icon\": \"CheckCircleIcon\"\n }\n })], 1)], 1), _c('div', {\n staticClass: \"profile-star ml-auto\"\n }, [_c('feather-icon', {\n class: data.favorite ? 'profile-favorite' : '',\n attrs: {\n \"icon\": \"StarIcon\",\n \"size\": \"18\"\n }\n })], 1)], 1), _c('b-card-text', {\n staticClass: \"mb-50\"\n }, [_vm._v(\" \" + _vm._s(data.desc) + \" \")]), _c('b-link', [_c('small', [_vm._v(\" \" + _vm._s(data.tags) + \" \")])])], 1);\n })], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileTwitterFeed.vue?vue&type=template&id=885479f2&\"\nimport script from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileTwitterFeed.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', _vm._l(_vm.posts, function (data) {\n return _c('b-card', {\n key: data.avatar\n }, [_c('div', {\n staticClass: \"d-flex justify-content-start align-items-center mb-1\"\n }, [_c('b-avatar', {\n staticClass: \"mr-1\",\n attrs: {\n \"src\": data.avatar,\n \"size\": \"50\"\n }\n }), _c('div', {\n staticClass: \"profile-user-info\"\n }, [_c('h6', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" \" + _vm._s(data.username) + \" \")]), _c('small', {\n staticClass: \"text-muted\"\n }, [_vm._v(_vm._s(data.postTime))])])], 1), _c('b-card-text', [_vm._v(\" \" + _vm._s(data.postText) + \" \")]), data.postImg ? _c('b-img', {\n staticClass: \"mb-25\",\n attrs: {\n \"fluid\": \"\",\n \"rounded\": \"\",\n \"src\": data.postImg\n }\n }) : _vm._e(), data.postVid ? _c('b-embed', {\n staticClass: \"rounded mb-50\",\n attrs: {\n \"type\": \"iframe\",\n \"src\": data.postVid,\n \"allowfullscreen\": \"\"\n }\n }) : _vm._e(), _c('b-row', {\n staticClass: \"pb-50 mt-50\"\n }, [_c('b-col', {\n staticClass: \"d-flex justify-content-between justify-content-sm-start mb-2\",\n attrs: {\n \"sm\": \"8\"\n }\n }, [_c('b-link', {\n staticClass: \"d-flex align-items-center text-muted text-nowrap\"\n }, [_c('feather-icon', {\n staticClass: \"mr-50\",\n class: data.youLiked ? 'profile-likes' : 'profile-icon',\n attrs: {\n \"icon\": \"HeartIcon\",\n \"size\": \"18\"\n }\n }), _c('span', [_vm._v(_vm._s(_vm.kFormatter(data.likes)))])], 1), _c('div', {\n staticClass: \"d-flex align-item-center\"\n }, [_c('b-avatar-group', {\n staticClass: \"ml-1\",\n attrs: {\n \"size\": \"26\"\n }\n }, _vm._l(data.likedUsers, function (avatarData, i) {\n return _c('b-avatar', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover.bottom\",\n value: avatarData.username,\n expression: \"avatarData.username\",\n modifiers: {\n \"hover\": true,\n \"bottom\": true\n }\n }],\n key: i,\n staticClass: \"pull-up\",\n attrs: {\n \"src\": avatarData.avatar\n }\n });\n }), 1), _c('b-link', {\n staticClass: \"text-muted text-nowrap mt-50 ml-50\"\n }, [_vm._v(\" +\" + _vm._s(data.likedCount) + \" more \")])], 1)], 1), _c('b-col', {\n staticClass: \"d-flex justify-content-between justify-content-sm-end align-items-center mb-2\",\n attrs: {\n \"sm\": \"4\"\n }\n }, [_c('b-link', {\n staticClass: \"text-body text-nowrap\"\n }, [_c('feather-icon', {\n staticClass: \"profile-icon mr-50\",\n attrs: {\n \"icon\": \"MessageSquareIcon\",\n \"size\": \"18\"\n }\n }), _c('span', {\n staticClass: \"text-muted mr-1\"\n }, [_vm._v(_vm._s(_vm.kFormatter(data.comments)))])], 1), _c('b-link', {\n staticClass: \"text-body text-nowrap\"\n }, [_c('feather-icon', {\n staticClass: \"profile-icon mr-50\",\n attrs: {\n \"icon\": \"Share2Icon\",\n \"size\": \"18\"\n }\n }), _c('span', {\n staticClass: \"text-muted\"\n }, [_vm._v(_vm._s(_vm.kFormatter(data.share)))])], 1)], 1)], 1), _vm._l(data.detailedComments, function (comment, ind) {\n return _c('div', {\n key: ind,\n staticClass: \"d-flex align-items-start mb-1\"\n }, [_c('b-avatar', {\n staticClass: \"mt-25 mr-75\",\n attrs: {\n \"src\": comment.avatar,\n \"size\": \"34\"\n }\n }), _c('div', {\n staticClass: \"profile-user-info w-100\"\n }, [_c('div', {\n staticClass: \"d-flex align-items-center justify-content-between\"\n }, [_c('h6', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" \" + _vm._s(comment.username) + \" \")]), _c('b-link', {\n staticClass: \"text-body\"\n }, [_c('feather-icon', {\n staticClass: \"mr-25\",\n class: comment.youLiked ? 'profile-likes' : 'profile-icon',\n attrs: {\n \"icon\": \"HeartIcon\",\n \"size\": \"18\"\n }\n }), _c('span', {\n staticClass: \"text-muted align-middle\"\n }, [_vm._v(_vm._s(comment.commentsLikes))])], 1)], 1), _c('small', [_vm._v(_vm._s(comment.comment))])])], 1);\n }), _c('b-form-group', [_c('b-form-textarea', {\n attrs: {\n \"rows\": \"3\",\n \"placeholder\": \"Add Comment\"\n }\n })], 1), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(255, 255, 255, 0.15)',\n expression: \"'rgba(255, 255, 255, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n attrs: {\n \"size\": \"sm\",\n \"variant\": \"primary\"\n }\n }, [_vm._v(\" Post Comment \")])], 2);\n }), 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePost.vue?vue&type=template&id=e74908a2&\"\nimport script from \"./ProfilePost.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePost.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', [_c('h5', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" Latest Photos \")]), _c('b-row', _vm._l(_vm.latestImages, function (data) {\n return _c('b-col', {\n key: data.img,\n staticClass: \"profile-latest-img\",\n attrs: {\n \"md\": \"4\",\n \"cols\": \"6\"\n }\n }, [_c('b-link', [_c('b-img', {\n attrs: {\n \"fluid\": \"\",\n \"rounded\": \"\",\n \"src\": data.img,\n \"alt\": data.img.slice(5)\n }\n })], 1)], 1);\n }), 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileLatestPhotos.vue?vue&type=template&id=3c7158db&\"\nimport script from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileLatestPhotos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', [_c('h5', [_vm._v(\"Suggestions\")]), _vm._l(_vm.suggestions, function (data, index) {\n return _c('div', {\n key: data.avatar,\n staticClass: \"d-flex justify-content-start align-items-center\",\n class: index == 0 ? 'mt-2' : 'mt-1'\n }, [_c('b-avatar', {\n staticClass: \"mr-50\",\n attrs: {\n \"src\": data.avatar,\n \"size\": \"40\"\n }\n }), _c('div', {\n staticClass: \"user-page-info\"\n }, [_c('h6', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" \" + _vm._s(data.name) + \" \")]), _c('small', {\n staticClass: \"text-muted\"\n }, [_vm._v(_vm._s(data.mutualFriend))])]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"btn-icon ml-auto\",\n attrs: {\n \"variant\": \"primary\",\n \"size\": \"sm\"\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"UserPlusIcon\"\n }\n })], 1)], 1);\n })], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSuggestion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileSuggestion.vue?vue&type=template&id=682a83c9&\"\nimport script from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSuggestion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-card', [_c('h5', {\n staticClass: \"mb-1\"\n }, [_vm._v(\" Polls \")]), _c('b-card-text', [_vm._v(\"Who is the best actor in Marvel Cinematic Universe?\")]), _vm._l(_vm.pollsData, function (data) {\n return _c('div', {\n key: data.name,\n staticClass: \"polls-info mt-2\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between\"\n }, [_c('b-form-radio', {\n staticClass: \"mb-25\",\n attrs: {\n \"name\": \"polls\",\n \"value\": data.username\n },\n model: {\n value: _vm.Selected,\n callback: function callback($$v) {\n _vm.Selected = $$v;\n },\n expression: \"Selected\"\n }\n }, [_vm._v(\" \" + _vm._s(data.name) + \" \")]), _c('div', {\n staticClass: \"text-right\"\n }, [_vm._v(\" \" + _vm._s(data.result) + \" \")])], 1), _c('b-progress', {\n staticClass: \"my-50\",\n attrs: {\n \"value\": data.result,\n \"max\": \"100\",\n \"height\": \"6px\"\n }\n }), _c('b-avatar-group', {\n staticClass: \"mt-1\",\n attrs: {\n \"size\": \"26\"\n }\n }, _vm._l(data.votedUser, function (avatar) {\n return _c('b-avatar', {\n directives: [{\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip.hover.bottom\",\n value: avatar.username,\n expression: \"avatar.username\",\n modifiers: {\n \"hover\": true,\n \"bottom\": true\n }\n }],\n key: avatar.img,\n staticClass: \"pull-up\",\n attrs: {\n \"src\": avatar.img\n }\n });\n }), 1)], 1);\n })], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePolls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilePolls.vue?vue&type=template&id=4d360c98&\"\nimport script from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePolls.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"text-center mb-2\"\n }, [_c('b-overlay', {\n staticClass: \"d-inline-block\",\n attrs: {\n \"show\": _vm.show,\n \"rounded\": \"sm\",\n \"spinner-variant\": \"primary\",\n \"spinner-small\": \"\"\n }\n }, [_c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n attrs: {\n \"variant\": \"primary\",\n \"size\": \"sm\"\n },\n on: {\n \"click\": _vm.onClick\n }\n }, [_vm._v(\" Load More \")])], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./profileBottom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./profileBottom.vue?vue&type=template&id=7dafae0a&\"\nimport script from \"./profileBottom.vue?vue&type=script&lang=js&\"\nexport * from \"./profileBottom.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=2b703750&\"\nimport script from \"./Profile.vue?vue&type=script&lang=js&\"\nexport * from \"./Profile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Profile.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, 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\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\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(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, 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\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\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, mergeData(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});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\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(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\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(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 vnode.context.$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\nvar destroy = 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\nvar bind = function bind(el, _ref, vnode) {\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(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // 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\nvar componentUpdated = 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(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_EMBED } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { omit } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Constants ---\n\nvar TYPES = ['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy']; // --- Props ---\n\nexport var props = 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, value);\n })\n}, NAME_EMBED); // --- Main component ---\n// @vue/component\n\nexport var BEmbed = /*#__PURE__*/Vue.extend({\n name: NAME_EMBED,\n functional: true,\n props: props,\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, mergeData(omit(data, ['ref']), {\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, 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\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props,\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, mergeData(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});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = 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\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","import router from '@/router'\r\n// eslint-disable-next-line object-curly-newline\r\nimport {\r\n reactive,\r\n getCurrentInstance,\r\n watch,\r\n toRefs,\r\n} from '@vue/composition-api'\r\n\r\nexport const isObject = obj => typeof obj === 'object' && obj !== null\r\n\r\nexport const isToday = date => {\r\n const today = new Date()\r\n return (\r\n /* eslint-disable operator-linebreak */\r\n date.getDate() === today.getDate() &&\r\n date.getMonth() === today.getMonth() &&\r\n date.getFullYear() === today.getFullYear()\r\n /* eslint-enable */\r\n )\r\n}\r\n\r\nconst getRandomFromArray = array =>\r\n array[Math.floor(Math.random() * array.length)]\r\n\r\n// ? Light and Dark variant is not included\r\n// prettier-ignore\r\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\r\n\r\nexport const isDynamicRouteActive = route => {\r\n const { route: resolvedRoute } = router.resolve(route)\r\n return resolvedRoute.path === router.currentRoute.path\r\n}\r\n\r\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\r\nexport const useRouter = () => {\r\n const vm = getCurrentInstance().proxy\r\n const state = reactive({\r\n route: vm.$route,\r\n })\r\n\r\n watch(\r\n () => vm.$route,\r\n r => {\r\n state.route = r\r\n }\r\n )\r\n\r\n return { ...toRefs(state), router: vm.$router }\r\n}\r\n\r\nexport const cloneObject = obj => JSON.parse(JSON.stringify(obj))\r\n\r\n/**\r\n * This is just enhancement over Object.extend [Gives deep extend]\r\n * @param {target} a Object which contains values to be overridden\r\n * @param {source} b Object which contains values to override\r\n */\r\n// export const objectExtend = (a, b) => {\r\n// // Don't touch 'null' or 'undefined' objects.\r\n// if (a == null || b == null) {\r\n// return a\r\n// }\r\n\r\n// Object.keys(b).forEach(key => {\r\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\r\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = objectExtend(a[key], b[key])\r\n// }\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// }\r\n// })\r\n\r\n// return a\r\n// }\r\n","import { Vue } from '../../vue';\nimport { NAME_PROGRESS_BAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { isBoolean } from '../../utils/inspect';\nimport { mathMax, mathPow } from '../../utils/math';\nimport { toFixed, toFloat, toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animated: makeProp(PROP_TYPE_BOOLEAN, null),\n label: makeProp(PROP_TYPE_STRING),\n labelHtml: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, null),\n precision: makeProp(PROP_TYPE_NUMBER_STRING, null),\n showProgress: makeProp(PROP_TYPE_BOOLEAN, null),\n showValue: makeProp(PROP_TYPE_BOOLEAN, null),\n striped: makeProp(PROP_TYPE_BOOLEAN, null),\n value: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_PROGRESS_BAR); // --- Main component ---\n// @vue/component\n\nexport var BProgressBar = /*#__PURE__*/Vue.extend({\n name: NAME_PROGRESS_BAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: props,\n computed: {\n progressBarClasses: function progressBarClasses() {\n var computedAnimated = this.computedAnimated,\n computedVariant = this.computedVariant;\n return [computedVariant ? \"bg-\".concat(computedVariant) : '', this.computedStriped || computedAnimated ? 'progress-bar-striped' : '', computedAnimated ? 'progress-bar-animated' : ''];\n },\n progressBarStyles: function progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n };\n },\n computedValue: function computedValue() {\n return toFloat(this.value, 0);\n },\n computedMax: function computedMax() {\n // Prefer our max over parent setting\n // Default to `100` for invalid values (`-x`, `0`, `NaN`)\n var max = toFloat(this.max) || toFloat(this.bvProgress.max, 0);\n return max > 0 ? max : 100;\n },\n computedPrecision: function computedPrecision() {\n // Prefer our precision over parent setting\n // Default to `0` for invalid values (`-x`, `NaN`)\n return mathMax(toInteger(this.precision, toInteger(this.bvProgress.precision, 0)), 0);\n },\n computedProgress: function computedProgress() {\n var precision = this.computedPrecision;\n var p = mathPow(10, precision);\n return toFixed(100 * p * this.computedValue / this.computedMax / p, precision);\n },\n computedVariant: function computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant;\n },\n computedStriped: function computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false;\n },\n computedAnimated: function computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false;\n },\n computedShowProgress: function computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress) ? this.showProgress : this.bvProgress.showProgress || false;\n },\n computedShowValue: function computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false;\n }\n },\n render: function render(h) {\n var label = this.label,\n labelHtml = this.labelHtml,\n computedValue = this.computedValue,\n computedPrecision = this.computedPrecision;\n var $children;\n var domProps = {};\n\n if (this.hasNormalizedSlot()) {\n $children = this.normalizeSlot();\n } else if (label || labelHtml) {\n domProps = htmlOrText(labelHtml, label);\n } else if (this.computedShowProgress) {\n $children = this.computedProgress;\n } else if (this.computedShowValue) {\n $children = toFixed(computedValue, computedPrecision);\n }\n\n return h('div', {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(computedValue, computedPrecision)\n },\n domProps: domProps\n }, $children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_NAVBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getBreakpoints } from '../../utils/config';\nimport { isTag } from '../../utils/dom';\nimport { isString } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n fixed: makeProp(PROP_TYPE_STRING),\n print: makeProp(PROP_TYPE_BOOLEAN, false),\n sticky: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'nav'),\n toggleable: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n type: makeProp(PROP_TYPE_STRING, 'light'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_NAVBAR); // --- Main component ---\n// @vue/component\n\nexport var BNavbar = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR,\n mixins: [normalizeSlotMixin],\n provide: function provide() {\n return {\n bvNavbar: this\n };\n },\n props: props,\n computed: {\n breakpointClass: function breakpointClass() {\n var toggleable = this.toggleable;\n var xs = getBreakpoints()[0];\n var breakpoint = null;\n\n if (toggleable && isString(toggleable) && toggleable !== xs) {\n breakpoint = \"navbar-expand-\".concat(toggleable);\n } else if (toggleable === false) {\n breakpoint = 'navbar-expand';\n }\n\n return breakpoint;\n }\n },\n render: function render(h) {\n var _ref;\n\n var tag = this.tag,\n type = this.type,\n variant = this.variant,\n fixed = this.fixed;\n return h(tag, {\n staticClass: 'navbar',\n class: [(_ref = {\n 'd-print': this.print,\n 'sticky-top': this.sticky\n }, _defineProperty(_ref, \"navbar-\".concat(type), type), _defineProperty(_ref, \"bg-\".concat(variant), variant), _defineProperty(_ref, \"fixed-\".concat(fixed), fixed), _ref), this.breakpointClass],\n attrs: {\n role: isTag(tag, 'nav') ? null : 'navigation'\n }\n }, [this.normalizeSlot()]);\n }\n});","var _watch, _methods;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = 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\nexport var cardMixin = Vue.extend({\n props: props\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\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\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\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(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,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").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: _objectSpread(_objectSpread({}, 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, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_FIRST, EVENT_NAME_LAST, EVENT_NAME_NEXT, EVENT_NAME_PREV } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, selectAll, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isEvent } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { stableSort } from '../../utils/stable-sort';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink } from '../link/link';\nimport { BNav, props as BNavProps } from '../nav/nav'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Filter function to filter out disabled tabs\n\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BVTabButton = /*#__PURE__*/Vue.extend({\n name: NAME_TAB_BUTTON_HELPER,\n inject: {\n bvTabs: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: {\n controls: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n posInSet: makeProp(PROP_TYPE_NUMBER),\n setSize: makeProp(PROP_TYPE_NUMBER),\n // Reference to the child instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvt: function handleEvt(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvt = this.handleEvt;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvt,\n keydown: handleEvt\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/Vue.extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this2 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this2.$nextTick(function () {\n requestAF(function () {\n _this2.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs.filter(function ($tab) {\n return $tab.$children.filter(function ($t) {\n return $t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this3 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this3.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, {\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this4.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true\n });\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});"],"sourceRoot":""}