{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?8c8c","webpack:///src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?49b9","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue","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:///./src/@core/components/toastification/ToastificationContent.vue?4819","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?3fc5","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./src/views/apps/invoice/invoice-list/InvoiceList.vue?5ffa","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.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/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.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/core-js/modules/es.string.replace.js","webpack:///./src/views/apps/invoice/invoice-list/InvoiceList.vue?6057","webpack:///./src/views/apps/user/userStoreModule.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?9210","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./src/views/apps/invoice/invoiceStoreModule.js","webpack:///./src/views/apps/invoice/invoice-list/InvoiceList.vue?05f1","webpack:///./src/views/apps/invoice/invoice-list/useInvoiceList.js","webpack:///src/views/apps/invoice/invoice-list/InvoiceList.vue","webpack:///./src/views/apps/invoice/invoice-list/InvoiceList.vue?b443","webpack:///./src/views/apps/invoice/invoice-list/InvoiceList.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6534","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/views/apps/user/users-list/useUsersList.js","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?668e","webpack:///./src/views/apps/user/users-view/UsersView.vue?dcc9","webpack:///./src/views/apps/user/users-view/UserViewUserInfoCard.vue?67c1","webpack:///src/views/apps/user/users-view/UserViewUserInfoCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserInfoCard.vue?f8b1","webpack:///./src/views/apps/user/users-view/UserViewUserInfoCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserPlanCard.vue?ae71","webpack:///src/views/apps/user/users-view/UserViewUserPlanCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserPlanCard.vue?0318","webpack:///./src/views/apps/user/users-view/UserViewUserPlanCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserTimelineCard.vue?cd5e","webpack:///src/views/apps/user/users-view/UserViewUserTimelineCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserTimelineCard.vue?c5ad","webpack:///./src/views/apps/user/users-view/UserViewUserTimelineCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserPermissionsCard.vue?e796","webpack:///src/views/apps/user/users-view/UserViewUserPermissionsCard.vue","webpack:///./src/views/apps/user/users-view/UserViewUserPermissionsCard.vue?989a","webpack:///./src/views/apps/user/users-view/UserViewUserPermissionsCard.vue","webpack:///src/views/apps/user/users-view/UsersView.vue","webpack:///./src/views/apps/user/users-view/UsersView.vue?b955","webpack:///./src/views/apps/user/users-view/UsersView.vue","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?8a05","webpack:///src/@core/components/app-timeline/AppTimeline.vue","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?f3c1","webpack:///./src/@core/components/app-timeline/AppTimeline.vue","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/assets/images/icons/pdf.png"],"names":["formSelectionMixin","extend","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","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","variant","BTd","mixins","inject","bvTableTr","default","inheritAttrs","tag","inTbody","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","role","scope","bvAttrs","$content","normalizeSlot","class","attrs","on","bvListeners","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","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","_vm","_h","$createElement","_c","_self","staticClass","fillBorder","_t","domProps","_s","time","subtitle","staticRenderFns","type","Boolean","component","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","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","html","overlay","$footer","hasFooterSlot","_e","text","$event","$emit","hideClose","BAvatar","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","INCORRECT_NAME","R","p","rf","f","undefined","unsafe","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","perPage","totalRows","BPagination","numberOfPages","pageSizeNumberOfPages","watch","newValue","oldValue","currentPage","localNumberOfPages","created","_this","$nextTick","onClick","event","pageNumber","_this2","clickEvt","cancelable","vueTarget","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","BTfoot","isTfoot","tfootClasses","tfootAttrs","bottomRowMixin","renderBottomRow","fields","computedFields","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","stopIfBusy","renderBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","row","ignoreFields","includeFields","fieldsObj","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","timeout","setTimeout","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","lastIndex","computedFieldsObj","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","id","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","BTable","LIGHT","DARK","BTr","isTbody","isRowDark","trClasses","trAttrs","hasListenerMixin","hasListener","$listeners","$events","_events","rightAlign","verticalAlign","BMedia","children","$children","$aside","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","label","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$rows","detailsId","safeId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","tbody","trs","tr","getTbodyTrIndex","el","tagName","indexOf","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","classof","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","formatValue","force","updateValue","doUpdate","$input","onInput","composing","formattedValue","propagation","onChange","onBlur","focus","disabled","blur","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","computedAriaInvalid","computedListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","stackedMixin","isStackedAlways","stackedTableClasses","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","fixRegExpWellKnownSymbolLogic","toObject","toLength","advanceStringIndex","regExpExec","Math","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","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","match","ch","capture","namespaced","state","getters","mutations","actions","fetchUsers","queryParams","Promise","resolve","reject","axios","params","response","catch","error","fetchUser","addUser","userData","post","user","origFields","sample","memo","itemsMixin","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","dismiss","$alert","$dismissButton","noFade","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BTh","extends","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","small","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","style","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","BMediaAside","BMediaBody","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","stableSort","compareFn","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","BRow","_classList$push","classList","c","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","fetchInvoices","fetchInvoice","fetchClients","_v","$store","appConfig","isRTL","perPageOptions","model","callback","$$v","expression","searchQuery","statusOptions","_u","statusFilter","tableColumns","isSortDirDesc","proxy","resolveInvoiceStatusVariantAndIcon","invoiceStatus","balance","dueDate","avatar","client","resolveClientAvatarVariant","companyEmail","$router","dataMeta","to","of","totalInvoices","useInvoicesList","toast","useToast","refInvoiceListTable","localItemsCount","refetchData","store","dispatch","q","page","status","invoices","total","ToastificationContent","BCol","BButton","BLink","BBadge","BDropdown","BDropdownItem","BTooltip","vSelect","setup","console","log","validator","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","makePageArray","startNumber","_","classes","sanitizeLimit","limit","sanitizeCurrentPage","onSpaceKey","immediatePropagation","currentTarget","ariaLabel","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","_i","_i2","_i3","handleKeyNav","isNav","focusFirst","focusPrev","focusLast","focusNext","getButtons","btn","find","_this4","reverse","_this5","buttons","_this6","_this7","pageNumbers","_this$paginationParam2","fill","$buttons","isActivePage","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","$btnContent","$inner","makeEllipsis","isLast","makePageButton","active","btnContent","content","$firstPageBtn","offset","$lastPageBtn","$pagination","plain","formCustomMixin","custom","formSizeMixin","TABLE_TAG_NAMES","filterEvent","labelFor","ALIGN_SELF_VALUES","computeBreakpoint","className","computeBreakpointClass","breakpointPropMap","breakpoints","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","_keys","hasColClasses","_makePropsConfigurabl","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","boundary","boundaryPadding","container","customClass","delay","localTitle","localContent","templateData","interactive","noninteractive","templateTitleContent","$_toolpop","forceHide","doDisable","doEnable","updateData","updateContent","updated","doOpen","doClose","$destroy","Component","getComponent","scopeId","$toolpop","_scopeId","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","bvEvent","hide","disable","enable","thisNumberValue","nativeToFixed","pow","x","acc","x2","FORCED","fractionDigits","z","fractDigits","sign","multiply","c2","divide","dataToString","s","t","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","useUsersList","refUserListTable","totalUsers","roleFilter","planFilter","plan","users","resolveUserRoleVariant","resolveUserRoleIcon","resolveUserStatusVariant","fullName","email","username","country","contact","directives","rawName","modifiers","Ripple","AppTimeline","AppTimelineItem","permissionsData","UserViewUserInfoCard","UserViewUserPlanCard","UserViewUserTimelineCard","UserViewUserPermissionsCard","InvoiceList","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","labelHtml","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","_objectSpread2","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","BFormCheckbox","bvGroup","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","isGroup","_typeof","isObject","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolvedRoute","path","currentRoute","useRouter","vm","getCurrentInstance","reactive","$route","r","toRefs","textSelectionActive","sel","containsNode","_methods","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","hasFocus","isBtnMode","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","handleFocus","$button","$label","for","formStateMixin","colgroupMixin","$colgroup","SELECTOR","autofocus","formControlMixin","handleAutofocus","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","square","bvAvatarGroup","localSrc","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","$badge","hasBadgeSlot","badgeText","componentData","href","pill"],"mappings":"qKAAA,kDAEWA,EAAqB,aAAIC,OAAO,CACzCC,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,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAII,EAAoB,SAASA,EAAkBC,EAAKC,GACtD,IAAKD,EACH,OAAO,KAGT,IAAIE,GAAcF,EAAIG,UAAY,IAAID,WAClCE,EAAgBF,EAAWD,GAC/B,OAAOG,GAAiBL,EAAkBC,EAAIK,QAASJ,IAI9CK,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAK,OAAiB,CAAC,UAAW,aAAc,GAAI,CACpIuB,KAAM,eAAS,QACfC,QAAS,eAAS,QAAmB,MAClC,SAKMC,EAAqB,aAAI1D,OAAO,CACzC2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAAOD,EAAKC,KACZT,EAAQQ,EAAKR,MACbU,EAASF,EAAKE,OACdT,EAAO,eAAW,eAAKD,EAAMC,MAAQ,KAAKU,QAAQ,OAAgB,IAItE,OAAOJ,EAAEN,GAAOR,EAAkBiB,EAAQ,QAAQE,OAAOX,KAAuB,OAAY,eAAUQ,EAAM,CAC1GT,MAAOtB,EAAcA,EAAc,GAAIsB,GAAQ,GAAI,CACjDC,KAAM,c,oCCjDd,qNAASnC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAe3M,IAAIwB,EAAY,SAAmBvB,GAEjC,OADAA,EAAQ,eAAUA,EAAO,GAClBA,EAAQ,EAAIA,EAAQ,MAKzBwB,EAAgB,SAAuBxB,GACzC,OAAO,eAAkBA,IAAUuB,EAAUvB,GAAS,GAI7CU,EAAQ,eAAsB,CACvCe,QAAS,eAAS,OAAyB,KAAMD,GACjDE,QAAS,eAAS,OAAyB,KAAMF,GACjDG,eAAgB,eAAS,QACzBC,aAAc,eAAS,QAAmB,GAC1CC,QAAS,eAAS,SACjB,SAMQC,EAAmB,aAAI3E,OAAO,CACvC2D,KAAM,QAENiB,OAAQ,CAAC,OAAY,OAAgB,QACrCC,OAAQ,CACNC,UAAW,CACTC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERgF,IAAK,WACH,MAAO,MAETC,QAAS,WACP,OAAO7E,KAAKyE,UAAUI,SAExBC,QAAS,WACP,OAAO9E,KAAKyE,UAAUK,SAExBC,QAAS,WACP,OAAO/E,KAAKyE,UAAUM,SAExBC,OAAQ,WACN,OAAOhF,KAAKyE,UAAUO,QAExBC,UAAW,WACT,OAAOjF,KAAKyE,UAAUQ,WAGxBC,cAAe,WACb,OAAOlF,KAAK6E,SAAW7E,KAAKiF,WAE9BE,aAAc,WACZ,OAAOnF,KAAKyE,UAAUU,cAKxBC,eAAgB,WACd,OAAOpF,KAAKyE,UAAUW,gBAIxBC,gBAAiB,WACf,OAAOrF,KAAKyE,UAAUY,iBAOxBC,eAAgB,WACd,OAAQtF,KAAKiF,YAAcjF,KAAKmF,cAAgBnF,KAAKqF,kBAAoBrF,KAAKoE,cAEhFmB,WAAY,WACV,OAAOvF,KAAKyE,UAAUJ,SAExBmB,YAAa,WACX,OAAOxF,KAAKyE,UAAUe,aAExBC,YAAa,WACX,OAAOzF,KAAKyE,UAAUgB,aAExBC,aAAc,WACZ,OAAO1F,KAAKyE,UAAUiB,cAExBC,gBAAiB,WACf,OAAO5B,EAAU/D,KAAKiE,UAExB2B,gBAAiB,WACf,OAAO7B,EAAU/D,KAAKkE,UAIxB2B,YAAa,WACX,IAAIxB,EAAUrE,KAAKqE,QACfmB,EAAcxF,KAAKwF,YACnBF,EAAiBtF,KAAKsF,eAQ1B,QANKjB,GAAWrE,KAAKoF,iBAAmBI,IAAgBnB,GAAWiB,GAAkBtF,KAAK+E,UAAY/E,KAAKyF,cAAgBpB,GAAWiB,GAAkBtF,KAAK8E,UAAYU,IAAgBnB,GAAWiB,GAAkBtF,KAAK6E,WAGzNR,EAAUrE,KAAKuF,YAAcvF,KAAK0F,cAAgB,mBAG7C,CAACrB,EAAU,GAAGP,OAAO9D,KAAKgF,OAAS,KAAO,QAAS,KAAKlB,OAAOO,GAAW,KAAMiB,EAAiB,wBAA0B,OAEpIQ,UAAW,WACT,IAAI3B,EAAiBnE,KAAKmE,eAGtB4B,EAAa/F,KAAK8E,SAAW9E,KAAK+E,QAElCd,EAAUjE,KAAK2F,gBACfzB,EAAUlE,KAAK4F,gBAEfI,EAAO,OACPC,EAAQ,KAaZ,OAVIF,GAEFC,EAAO,eACPC,EAAQhC,EAAU,EAAI,UAAY,OACzB,eAAMjE,KAAK4E,IAAK,QAEzBoB,EAAO,YACPC,EAAQ/B,EAAU,EAAI,WAAa,OAG9BtC,EAAcA,EAAc,CACjCqC,QAASA,EACTC,QAASA,EACT8B,KAAMA,EACNC,MAAOA,GACNjG,KAAKkG,SAAU,GAAI,CAGpB,aAAclG,KAAKkF,gBAAkB,eAAkBf,GAEvD,eAASA,GAAkB,SAIjCX,OAAQ,SAAgBC,GACtB,IAAI0C,EAAW,CAACnG,KAAKoG,iBACrB,OAAO3C,EAAEzD,KAAK4E,IAAK,CACjByB,MAAOrG,KAAK6F,YACZS,MAAOtG,KAAK8F,UAEZS,GAAIvG,KAAKwG,aACR,CAACxG,KAAKkF,cAAgBzB,EAAE,MAAO,CAAC0C,IAAaA,Q,oCCrLpD,mIAASnF,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CAGvCsC,YAAa,eAAS,SACrB,SAMQiB,EAAsB,aAAI9G,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERiH,QAAS,WACP,OAAO,GAGT7B,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAMtBC,eAAgB,WACd,OAAQpF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAKzC1B,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtBsB,aAAc,WACZ,MAAO,CAAChH,KAAKwF,YAAc,SAAS1B,OAAO9D,KAAKwF,aAAe,OAEjEyB,WAAY,WACV,OAAOrF,EAAc,CACnBoE,KAAM,YACLhG,KAAKkG,WAGZ1C,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAKgH,aACZV,MAAOtG,KAAKiH,WAEZV,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,qWC3FCc,EAAa,SAAAC,GAAG,OAAKA,EAAM,IAAN,WAAgBA,EAAM,KAAMC,QAAQ,GAApC,KAA4CD,GAEjEE,EAAQ,SAAC7E,GAA0B,IAAnB8E,EAAmB,uDAAR,IACtC,IAAK9E,EAAO,MAAO,GACnB,IAAM+E,EAAM/E,EAAMgF,WAEZC,EAAMF,EAAIG,MAAMJ,GAChBK,EAAmB,GAKzB,OAJAF,EAAIxF,SAAQ,SAAA2F,GACV,IAAMC,EAAcD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,MAAM,GAC9DL,EAAiBhG,KAAKkG,MAEjBF,EAAiBM,KAAK,MAGlBC,EAAa,SAAA1F,GACxB,IAAKA,EAAO,MAAO,GACnB,IAAM2F,EAAY3F,EAAMkF,MAAM,KAC9B,OAAOS,EAAUC,KAAI,SAAAR,GAAI,OAAIA,EAAKE,OAAO,GAAGC,iBAAeE,KAAK,KAUrDI,EAAa,SAAC7F,GAA4E,IAArE8F,EAAqE,uDAAxD,CAAEC,MAAO,QAASC,IAAK,UAAWC,KAAM,WACrF,OAAKjG,EACE,IAAIkG,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAKrG,IADjDA,GAURsG,EAAyB,SAACtG,GAAsC,IAA/BuG,IAA+B,yDACrEC,EAAO,IAAIH,KAAKrG,GAClB8F,EAAa,CAAEC,MAAO,QAASC,IAAK,WAMxC,OAJIO,GAAuBE,eAAQD,KACjCV,EAAa,CAAEY,KAAM,UAAWC,OAAQ,YAGnC,IAAIT,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAKrG,KAIzD4G,EAAa,SAAA5G,GAAK,OAAIA,EAAMqB,QAAQ,kBAAmB,M,kCCpDpE,IAAIwF,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QAIrCC,EAAOC,QAAU,GAAGC,QAAU,SAAgBC,GAC5C,IAAInC,EAAMoC,OAAOL,EAAuBtJ,OACpC4J,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,2DCZT,IAAIpG,EAAS,WAAa,IAAIwG,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACE,YAAY,gBAAgBhE,MAAM,CAAE,oBAAsB2D,EAAI3F,QAAU2F,EAAIM,WAAc,6BAA+BN,EAAI3F,QAAW,OAAO,CAAG2F,EAAI7G,KAAoDgH,EAAG,MAAM,CAACE,YAAY,sFAAsF,CAACF,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO0D,EAAI7G,SAAS,GAAzMgH,EAAG,MAAM,CAACE,YAAY,wBAAsLL,EAAIO,GAAG,UAAU,CAACJ,EAAG,MAAM,CAACE,YAAY,iFAAiF,CAACF,EAAG,KAAK,CAACK,SAAS,CAAC,YAAcR,EAAIS,GAAGT,EAAI3C,UAAU8C,EAAG,QAAQ,CAACE,YAAY,4CAA4CG,SAAS,CAAC,YAAcR,EAAIS,GAAGT,EAAIU,WAAWP,EAAG,IAAI,CAACE,YAAY,OAAOG,SAAS,CAAC,YAAcR,EAAIS,GAAGT,EAAIW,gBAAgB,IAC7zBC,EAAkB,GCgCtB,GACE1H,MAAO,CACLmB,QAAS,CACPwG,KAAMlB,OACNjF,QAAS,WAEX2C,MAAO,CACLwD,KAAMlB,OACNjF,QAAS,MAEXiG,SAAU,CACRE,KAAMlB,OACNjF,QAAS,MAEXgG,KAAM,CACJG,KAAMlB,OACNjF,QAAS,MAEXvB,KAAM,CACJ0H,KAAMlB,OACNjF,QAAS,MAEX4F,WAAY,CACVO,KAAMC,QACNpG,SAAS,KCzDwW,I,wBCQnXqG,EAAY,eACd,EACAvH,EACAoH,GACA,EACA,KACA,WACA,MAIa,OAAAG,E,6CCnBf,kDAEWC,EAAoB,aAAIrL,OAAO,CACxCC,SAAU,CACRqL,SAAU,CAERnL,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAM+K,WAG5BC,kBAAmB,CAEjBpL,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMgL,oBAG5BC,aAAc,CAEZrL,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMiL,gBAI9B5K,QAAS,CAEP6K,kBAAmB,WACjB,IAAI3K,EAGJ,OAAQA,EAAoBT,KAAKC,MAAMC,OAAOkL,kBAAkB1K,MAAMD,EAAmBE,YAI3F0K,cAAe,WACb,IAAIxK,EAGJ,OAAQA,EAAqBb,KAAKC,MAAMC,OAAOmL,cAAc3K,MAAMG,EAAoBF,YAIzF2K,eAAgB,WACd,IAAIvK,EAGJ,OAAQA,EAAqBf,KAAKC,MAAMC,OAAOoL,eAAe5K,MAAMK,EAAoBJ,gB,kPCtD9F,SAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EASpM,IAAI,EAAQ,eAAsB,eAASX,EAAcA,EAAc,GAAI,eAAK,OAAW,CAAC,MAAO,MAAO,QAAS,SAAU,OAAQ,WAAY,GAAI,CAC1J2J,OAAQ,eAAS,QAAmB,GACpCC,IAAK,eAAS,QAAmB,GACjCC,MAAO,eAAS,QAAmB,GACnCC,IAAK,eAAS,QAAmB,MAC9B,QAGMC,EAAwB,aAAIhM,OAAO,CAC5C2D,KAAM,OACNC,YAAY,EACZL,MAAO,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZiI,EAAM1I,EAAM0I,IACZC,EAAM3I,EAAM2I,IACZC,EAAQ5I,EAAM4I,MACdC,EAAS7I,EAAM6I,OACfC,EAAY,WAYhB,OAVI9I,EAAMwI,IACRM,GAAa,OACJ9I,EAAM+I,OAAS/I,EAAMsI,IAC9BQ,GAAa,SACJ9I,EAAMqI,OACfS,GAAa,WACJ9I,EAAMgJ,MAAQhJ,EAAMuI,SAC7BO,GAAa,SAGRvI,EAAE,MAAO,eAAUE,EAAM,CAC9B0C,MAAO2F,EACP1F,MAAO,CACLsF,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EACPC,OAAQA,SClDhB,SAAS,EAAQ9K,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,EAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,EAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,EAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,EAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,EAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgB3M,IAAI4J,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,aAAI/M,OAAO,CACzC2D,KAAM,OACNC,YAAY,EACZL,MAAO,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIiJ,EAEAzJ,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZiJ,EAAQlJ,EAAKkJ,MACbC,EAAcnJ,EAAKmJ,YACnBR,EAASnJ,EAAMmJ,OACfS,EAAU5J,EAAM4J,QAChBC,EAAW7J,EAAM6J,SACjBC,EAAW9J,EAAM8J,SACjBC,EAAS/J,EAAM+J,OACfC,EAAYhK,EAAMgK,UAClBC,EAASjK,EAAMiK,OACfC,EAAalK,EAAMkK,WACnBC,EAASnK,EAAMmK,OACfC,EAAapK,EAAMoK,WACnBd,EAAQtJ,EAAMsJ,MACde,EAAcrK,EAAMqK,YACpBC,EAAYtK,EAAMsK,UAClBC,EAAgBvK,EAAMuK,cACtBC,EAAeb,GAAe,GAC9Bc,EAASf,IACTgB,EAAY,GACZC,EAAYpK,IACZqK,EAAWrK,IAEf,GAAI4I,EAAQ,CACV,IAAI0B,EAAOtK,EAAEkI,EAAU,CACrBzI,MAAO,eAAWiJ,EAAcjJ,EAAO,OAAiBkJ,KAAK,KAAM,UAGjEc,EACFY,EAAWC,EAEXF,EAAYE,EAIhB,IAAIC,EAAUvK,IACVwK,EAAgB,eAAkB,OAAkBP,EAAcC,IAElEM,GAAiBd,GAAUC,KAC7BY,EAAUvK,EAAE,OAAa,CACvBP,MAAO,eAAW,OAAkBA,GACpCsH,SAAUyD,EAAgB,GAAK,OAAAC,EAAA,MAAWd,EAAYD,IACrD,eAAc,OAAkBS,EAAWF,EAAcC,KAG9D,IAAIxH,EAAW,eAAc,OAAmByH,EAAWF,EAAcC,GAEpEzK,EAAMuJ,SACTtG,EAAW1C,EAAE,OAAW,CACtBP,MAAO,eAAW,OAAgBA,IACjCiD,GAGCjD,EAAMiL,SAAW9B,IACnBlG,EAAW1C,EAAE,MAAO,CAClB4G,YAAa,qBACZ,CAACwD,EAAW1H,EAAU2H,IAEzBD,EAAYpK,IACZqK,EAAWrK,MAIf,IAAI2K,EAAU3K,IACV4K,EAAgB,eAAkB,OAAkBX,EAAcC,GAStE,OAPIU,GAAiBhB,GAAUC,KAC7Bc,EAAU3K,EAAE,OAAa,CACvBP,MAAO,eAAW,OAAkBA,GACpCsH,SAAUyD,EAAgB,GAAK,OAAAC,EAAA,MAAWZ,EAAYD,IACrD,eAAc,OAAkBO,EAAWF,EAAcC,KAGvDlK,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0G,YAAa,OACbhE,OAAQsG,EAAS,CACf,WAAYG,GAAWE,EACvB,oBAAqBD,GAAYE,MAAaH,GAAWE,IACxD,EAAgBL,EAAQ,QAAQ7I,OAAO0I,GAAQA,GAAQ,EAAgBG,EAAQ,MAAM7I,OAAO0J,GAAYA,GAAY,EAAgBb,EAAQ,UAAU7I,OAAO2J,GAAgBA,GAAgB,EAAgBd,EAAQ,QAAQ7I,OAAOyJ,GAAcA,GAAcZ,KACjQ,CAACkB,EAAWG,EAAS7H,EAAUiI,EAASN,Q,oCCnHhD,IAAItK,EAAS,WAAa,IAAIwG,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,WAAW,CAACE,YAAY,sBAAsB/D,MAAM,CAAC,QAAU0D,EAAI3F,QAAQ,KAAO,WAAW,CAAC8F,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO0D,EAAI7G,KAAK,KAAO,SAAS,GAAGgH,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAAEH,EAAS,MAAEG,EAAG,KAAK,CAACE,YAAY,+CAA+ChE,MAAO,QAAU2D,EAAI3F,QAASmG,SAAS,CAAC,YAAcR,EAAIS,GAAGT,EAAI3C,UAAU2C,EAAIsE,KAAMtE,EAAQ,KAAEG,EAAG,QAAQ,CAACE,YAAY,2BAA2BG,SAAS,CAAC,YAAcR,EAAIS,GAAGT,EAAIuE,SAASvE,EAAIsE,OAAOnE,EAAG,OAAO,CAACE,YAAY,oDAAoD9D,GAAG,CAAC,MAAQ,SAASiI,GAAQ,OAAOxE,EAAIyE,MAAM,kBAAkB,CAAGzE,EAAI0E,UAA+E1E,EAAIsE,KAAxEnE,EAAG,eAAe,CAACE,YAAY,YAAY/D,MAAM,CAAC,KAAO,YAAqB,MAAM,MACv5BsE,EAAkB,G,YC4CtB,GACE9H,WAAY,CACV6L,QAAJ,QAEEzL,MAAO,CACLmB,QAAS,CACPwG,KAAMlB,OACNjF,QAAS,WAEXvB,KAAM,CACJ0H,KAAMlB,OACNjF,QAAS,MAEX2C,MAAO,CACLwD,KAAMlB,OACNjF,QAAS,MAEX6J,KAAM,CACJ1D,KAAMlB,OACNjF,QAAS,MAEXgK,UAAW,CACT7D,KAAMC,QACNpG,SAAS,KCpE8W,I,wBCQzXqG,EAAY,eACd,EACAvH,EACAoH,GACA,EACA,KACA,WACA,MAIa,OAAAG,E,6CClBf,IAAI6D,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,CAAEtN,OAAQ,IAAK+M,MAAO,SAEnFQ,EAAiBH,EAAe9L,MAAQ0L,GAIxCK,GAAeE,IACjBX,EAASM,OAAOC,UAAWH,GAAW,WACpC,IAAIQ,EAAIX,EAAS7O,MACbyP,EAAI9F,OAAO6F,EAAExN,QACb0N,EAAKF,EAAET,MACPY,EAAIhG,YAAciG,IAAPF,GAAoBF,aAAaN,UAAY,UAAWD,GAAmBF,EAAMO,KAAKE,GAAKE,GAC1G,MAAO,IAAMD,EAAI,IAAME,IACtB,CAAEE,QAAQ,K,oCCvBf,+LAAS7O,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAe3M,IAAIuN,EAAmB,GACnBC,EAAqB,EAGrBC,EAAkB,SAAyBxN,GAC7C,OAAO,eAAQ,eAAUA,IAAUsN,EAAkB,IAInDG,EAAoB,SAA2BzN,GACjD,OAAO,eAAQ,eAAUA,IAAUuN,EAAoB,IAI9C7M,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,QAAkB,GAAI,CACtGsO,aAAc,eAAS,QACvBC,QAAS,eAAS,OAAyBL,GAC3CM,UAAW,eAAS,OAAyBL,MAC1C,SAGMM,EAA2B,aAAI1Q,OAAO,CAC/C2D,KAAM,QAENiB,OAAQ,CAAC,QACTrB,MAAOA,EACPtD,SAAU,CACR0Q,cAAe,WACb,IAAI1G,EAAS,eAASqG,EAAkBjQ,KAAKoQ,WAAaJ,EAAgBhQ,KAAKmQ,UAC/E,OAAOvG,EAAS,EAAI,EAAIA,GAG1B2G,sBAAuB,WACrB,MAAO,CACLJ,QAASH,EAAgBhQ,KAAKmQ,SAC9BC,UAAWH,EAAkBjQ,KAAKoQ,WAClCE,cAAetQ,KAAKsQ,iBAI1BE,MAAO,CACLD,sBAAuB,SAA+BE,EAAUC,GACzD,eAAkBA,KACjBD,EAASN,UAAYO,EAASP,SAAWM,EAASL,YAAcM,EAASN,WAGlEK,EAASH,gBAAkBI,EAASJ,eAAiBtQ,KAAK2Q,YAAcF,EAASH,iBAD1FtQ,KAAK2Q,YAAc,GAQvB3Q,KAAK4Q,mBAAqBH,EAASH,gBAGvCO,QAAS,WACP,IAAIC,EAAQ9Q,KAGZA,KAAK4Q,mBAAqB5Q,KAAKsQ,cAE/B,IAAIK,EAAc,eAAU3Q,KAAK,QAAkB,GAE/C2Q,EAAc,EAChB3Q,KAAK2Q,YAAcA,EAEnB3Q,KAAK+Q,WAAU,WAGbD,EAAMH,YAAc,MAI1BpQ,QAAS,CAEPyQ,QAAS,SAAiBC,EAAOC,GAC/B,IAAIC,EAASnR,KAGb,GAAIkR,IAAelR,KAAK2Q,YAAxB,CAIA,IAAI9O,EAASoP,EAAMpP,OAEfuP,EAAW,IAAI,OAAQ,OAAuB,CAChDC,YAAY,EACZC,UAAWtR,KACX6B,OAAQA,IAEV7B,KAAKyO,MAAM2C,EAASvG,KAAMuG,EAAUF,GAEhCE,EAASG,mBAKbvR,KAAK2Q,YAAcO,EAEnBlR,KAAKyO,MAAM,OAAmBzO,KAAK2Q,aAEnC3Q,KAAK+Q,WAAU,WACT,eAAUlP,IAAWsP,EAAOK,IAAIC,SAAS5P,GAC3C,eAAaA,GAEbsP,EAAOO,qBAIbC,SAAU,SAAkBC,GAC1B,OAAOA,GAITC,UAAW,WAET,MAAO,Q,kCCxIb,mIAAS7Q,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CAEvCuC,YAAa,eAAS,SACrB,SAMQqM,EAAsB,aAAInS,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERmS,QAAS,WACP,OAAO,GAGT/M,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAItBC,eAAgB,WACd,OAAO,GAKTC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtBsM,aAAc,WACZ,MAAO,CAAChS,KAAKyF,YAAc,SAAS3B,OAAO9D,KAAKyF,aAAe,OAEjEwM,WAAY,WACV,OAAOrQ,EAAcA,EAAc,GAAI5B,KAAKkG,SAAU,GAAI,CACxDF,KAAM,eAIZxC,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAKgS,aACZ1L,MAAOtG,KAAKiS,WAEZ1L,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,+MCrFD,EAAQ,GAGR8L,EAAiB,aAAIvS,OAAO,CACrCuD,MAAO,EACP3C,QAAS,CACP4R,gBAAiB,WACf,IAAIC,EAASpS,KAAKqS,eACdjP,EAAUpD,KAAKoD,QACfkP,EAAetS,KAAKsS,aACpBC,EAAcvS,KAAKuS,YACnB9O,EAAIzD,KAAKkK,eAGb,OAAKlK,KAAKwS,kBAAkB,UAAqC,IAAZpP,GAAgC,KAAZA,EAIlEK,EAAE,OAAK,CACZ4G,YAAa,qBACbhE,MAAO,CAAC,eAAWiM,GAEnBA,EAAa,KAAM,cAAgBA,GACnChM,MAAO,eAAWiM,GAElBA,EAAY,KAAM,cAAgBA,EAClCrQ,IAAK,gBACJlC,KAAKoG,cAAc,OAAsB,CAC1CqM,QAASL,EAAOrQ,OAChBqQ,OAAQA,KAdD3O,Q,gDCpBf,SAAStB,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAImQ,EAAuB,OACvBC,EAAwB,QAA0BD,EAE3C,EAAQvQ,EAAgB,GAAIuQ,EAAsB,eAAS,QAAmB,IAG9EE,EAAY,aAAIjT,OAAO,CAChCuD,MAAO,EACPS,KAAM,WACJ,MAAO,CACLkP,WAAW,IAGfjT,SAAU,CACRkT,aAAc,WACZ,OAAO9S,KAAK0S,IAAyB1S,KAAK6S,YAG9CrC,MAAO,CACLqC,UAAW,SAAmBpC,EAAUC,GAClCD,IAAaC,GACf1Q,KAAKyO,MAAMkE,EAAuBlC,KAIxClQ,QAAS,CAEPwS,WAAY,SAAoB9B,GAE9B,QAAIjR,KAAK8S,eACP,eAAU7B,IACH,IAMX+B,WAAY,WACV,IAAIV,EAAetS,KAAKsS,aACpBC,EAAcvS,KAAKuS,YACnB9O,EAAIzD,KAAKkK,eAEb,OAAIlK,KAAK8S,cAAgB9S,KAAKwS,kBAAkB,QACvC/O,EAAE,OAAK,CACZ4G,YAAa,oBACbhE,MAAO,CAAC,eAAWiM,GAEnBA,EAAa,KAAM,QAAwBA,GAC3ChM,MAAO,eAAWiM,GAElBA,EAAY,KAAM,QAAwBA,EAC1CrQ,IAAK,mBACJ,CAACuB,EAAE,OAAK,CACTP,MAAO,CACLe,QAASjE,KAAKqS,eAAetQ,QAAU,OAExC,CAAC/B,KAAKoG,cAAc,YAKlB,S,oCChEF,EAAQ,CACjB6M,kBAAmB,eAAS,QAC5BC,kBAAmB,eAAS,OAAkB,8CAC9CC,UAAW,eAAS,QACpBC,UAAW,eAAS,OAAkB,gCACtCC,UAAW,eAAS,QAAmB,IAI9BC,EAAa,aAAI3T,OAAO,CACjCuD,MAAO,EACP3C,QAAS,CACPgT,YAAa,WACX,IAAIC,EAAQxT,KAAKyT,cACbhQ,EAAIzD,KAAKkK,eACTwJ,EAASjQ,IAEb,GAAIzD,KAAKqT,aAAeG,GAA0B,IAAjBA,EAAMzR,WAAmB/B,KAAK8S,eAAgB9S,KAAKwS,kBAAkB,SAAwB,CAC5H,IAAIJ,EAASpS,KAAKqS,eACdsB,EAAa3T,KAAK2T,WAClBP,EAAYpT,KAAKoT,UACjBD,EAAYnT,KAAKmT,UACjBD,EAAoBlT,KAAKkT,kBACzBD,EAAoBjT,KAAKiT,kBACzBX,EAAetS,KAAKsS,aACpBC,EAAcvS,KAAKuS,YACvBmB,EAAS1T,KAAKoG,cAAcuN,EAAa,OAA0B,OAAiB,CAClFV,kBAAmBA,EACnBC,kBAAmBA,EACnBC,UAAWA,EACXC,UAAWA,EACXhB,OAAQA,EAERoB,MAAOA,IAGJE,IACHA,EAASjQ,EAAE,MAAO,CAChB4C,MAAO,CAAC,cAAe,QACvBmE,SAAUmJ,EAAa,OAAAzF,EAAA,MAAW+E,EAAmBC,GAAqB,OAAAhF,EAAA,MAAWiF,EAAWC,MAIpGM,EAASjQ,EAAE,OAAK,CACdP,MAAO,CACLe,QAASmO,EAAOrQ,QAAU,OAE3B,CAAC0B,EAAE,MAAO,CACX6C,MAAO,CACLN,KAAM,QACN,YAAa,WAEd,CAAC0N,MACJA,EAASjQ,EAAE,OAAK,CACd4G,YAAa,oBACbhE,MAAO,CAAC,eAAWiM,GAEnBA,EAAa,KAAM,aAAeA,GAClChM,MAAO,eAAWiM,GAElBA,EAAY,KAAM,aAAeA,EACjCrQ,IAAKyR,EAAa,uBAAyB,eAC1C,CAACD,IAGN,OAAOA,M,gGC3DF,EAAwB,SAASE,EAAsBpR,GAChE,OAAI,eAAkBA,GACb,GAKL,eAASA,KAAW,eAAOA,GACtB,eAAKA,GAAOqR,OAClBzL,KAAI,SAAU0L,GACb,OAAOF,EAAsBpR,EAAMsR,OAClCvS,QAAO,SAAUwS,GAClB,QAASA,KAEV9L,KAAK,KAGD,eAASzF,I,YC3BP,EAAc,SAAqBwR,EAAKC,EAAcC,GAC/D,IAAIC,EAAYxT,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,GAAmBA,UAAU,GAAK,GAIhFyT,EAAe,eAAKD,GAAWE,QAAO,SAAUzK,EAAQ1H,GAC1D,IAAIoS,EAAQH,EAAUjS,GAClBqS,EAAoBD,EAAMC,kBAC1BC,EAAY,eAAWD,GAE3BA,EAAoBA,EAEpBD,EAAME,UAAY,KAMlB,OAJI,eAAWA,KACb5K,EAAO1H,GAAOsS,EAAUR,EAAI9R,GAAMA,EAAK8R,IAGlCpK,IACN,eAAMoK,IAKLS,EAAc,eAAKL,GAAc7S,QAAO,SAAUW,GACpD,OAAQ,OAAmBA,MAAU,eAAQ+R,IAAiBA,EAAalS,OAAS,GAAK,OAAA2S,EAAA,MAAcT,EAAc/R,OAAW,eAAQgS,IAAkBA,EAAcnS,OAAS,IAAM,OAAA2S,EAAA,MAAcR,EAAehS,OAEtN,OAAO,eAAKkS,EAAcK,IC3BjB,EAAwB,SAA+BT,EAAKC,EAAcC,EAAeC,GAClG,OAAO,eAASH,GAAO,EAAsB,EAAYA,EAAKC,EAAcC,EAAeC,IAE3F,ICRF,SAASQ,EAAmBlN,GAAO,OAAOmN,EAAmBnN,IAAQoN,EAAiBpN,IAAQqN,EAA4BrN,IAAQsN,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIrL,EAAIzI,OAAO+N,UAAU3H,SAAS8H,KAAK2F,GAAGjN,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBoL,EAAEG,cAAavL,EAAIoL,EAAEG,YAAY9R,MAAgB,QAANuG,GAAqB,QAANA,EAAoBwL,MAAMC,KAAKL,GAAc,cAANpL,GAAqB,2CAA2C0L,KAAK1L,GAAWsL,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYtU,OAAOoU,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmBnN,GAAO,GAAI4N,MAAMM,QAAQlO,GAAM,OAAO0N,EAAkB1N,GAEpF,SAAS0N,EAAkB1N,EAAKmO,IAAkB,MAAPA,GAAeA,EAAMnO,EAAI1F,UAAQ6T,EAAMnO,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG+T,EAAO,IAAIR,MAAMO,GAAM9T,EAAI8T,EAAK9T,IAAO+T,EAAK/T,GAAK2F,EAAI3F,GAAM,OAAO+T,EAkBhL,IAAIC,EAA0B,8FAEnB,EAAQ,CACjBvU,OAAQ,eAAS,GAAGuC,OAAO6Q,EAAmB,QAAgC,CAAC,UAC/EoB,eAAgB,eAAS,OAAyB,GAAG,SAAUvT,GAC7D,OAAO,OAAU+S,KAAK5L,OAAOnH,OAE/BwT,eAAgB,eAAS,QACzBC,oBAAqB,eAAS,OAAiB,IAC/CC,qBAAsB,eAAS,OAAiB,KAIvCC,EAAiB,aAAIxW,OAAO,CACrCuD,MAAO,EACPS,KAAM,WACJ,MAAO,CAELgQ,YAAY,EAGZyC,YAAapW,KAAKqW,eAAerW,KAAKuB,UAG1C3B,SAAU,CACR0W,sBAAuB,WACrB,OAAO,eAAOtW,KAAKiW,qBAAuB,IAAI1U,OAAOgV,EAAA,OAEvDC,uBAAwB,WACtB,OAAO,eAAOxW,KAAKkW,sBAAwB,IAAI3U,OAAOgV,EAAA,OAExDE,uBAAwB,WACtB,IAAIC,EAAK,eAAU1W,KAAK+V,eAAgB,GAOxC,OAJIW,EAAK,GACP,OAAAC,EAAA,MAAKb,EAAyB,SAGzBY,GAETE,eAAgB,WACd,OAAO5W,KAAK6W,eAAgB7W,KAAK8W,qBAGnCC,cAAe,WACb,IAAIC,EAAgBhX,KAAKgX,cACrBC,EAAajX,KAAKiX,WAClBb,EAAcpW,KAAKoW,YACvB,MAAO,CACLY,cAAeA,EACfC,WAAYA,EACZb,YAAaA,IAIjBc,cAAe,WAEb,IAAIlB,EAAiBhW,KAAKgW,eAC1B,OAAO,eAAgBA,GAAkBA,EAAiB,MAI5DgB,cAAe,WAEb,IAAIxD,EAAQxT,KAAKiX,WACbE,EAAWnX,KAAKoW,YAIhBgB,EAAWpX,KAAK4W,eAAiB5W,KAAKqX,gBAAgBrX,KAAKkX,cAAeC,IAAanX,KAAKsX,uBAAuBH,GAAY,KAEnI,OAAOC,GAAY5D,EAAMzR,OAAS,EAAIyR,EAAMjS,OAAO6V,GAAY5D,IAGnEhD,MAAO,CAELiG,uBAAwB,SAAgChG,IACjDA,GAAYzQ,KAAKuX,gBACpBvX,KAAKwX,mBACLxX,KAAKoW,YAAcpW,KAAKqW,eAAerW,KAAKuB,UAIhDA,OAAQ,CAGNkW,MAAM,EACNC,QAAS,SAAiBC,GACxB,IAAI7G,EAAQ9Q,KAER4X,EAAU5X,KAAKyW,uBACnBzW,KAAKwX,mBAEDI,GAAWA,EAAU,EAEvB5X,KAAKuX,cAAgBM,YAAW,WAC9B/G,EAAMsF,YAActF,EAAMuF,eAAesB,KACxCC,GAGH5X,KAAKoW,YAAcpW,KAAKqW,eAAesB,KAM7CZ,cAAe,SAAuBrT,GACpC,IAAIsT,EAAgBtT,EAAKsT,cACrBZ,EAAc1S,EAAK0S,YAEnBzC,GAAa,EAEZyC,EAGM,eAAWA,EAAa,KAAO,eAAWA,EAAa,IAEhEzC,GAAa,EACJyC,IAETzC,GAAa,GANbA,GAAa,EASXA,GACF3T,KAAKyO,MAAM,OAAqBuI,EAAeA,EAAcjV,QAG/D/B,KAAK2T,WAAaA,GAEpBA,WAAY,SAAoBlD,EAAUC,GACxC,IAAiB,IAAbD,IAAmC,IAAbC,EAAmB,CAG3C,IAAIuG,EAAajX,KAAKiX,WACtBjX,KAAKyO,MAAM,OAAqBwI,EAAYA,EAAWlV,WAI7D8O,QAAS,WACP,IAAIM,EAASnR,KAGbA,KAAKuX,cAAgB,KAMrBvX,KAAK+Q,WAAU,WACbI,EAAOwC,WAAa7I,QAAQqG,EAAOiF,iBAGvC0B,cAAe,WACb9X,KAAKwX,oBAEPjX,QAAS,CACPiX,iBAAkB,WAChBO,aAAa/X,KAAKuX,eAClBvX,KAAKuX,cAAgB,MAEvBlB,eAAgB,SAAwBc,GAEtC,OAAInX,KAAK4W,gBAAmB5W,KAAKkX,eAAmB,eAASC,IAAa,eAASA,GAS5E,eAAUA,GANR,IASXE,gBAAiB,SAAyBD,EAAUD,GAOlD,IAAKC,IAAa,eAAWA,KAAcD,GAAY,eAAWA,EAAU,KAAO,eAAWA,EAAU,IACtG,OAAO,KAIT,IAAIa,EAAK,SAAYC,GAGnB,OAAOb,EAASa,EAAMd,IAIxB,OAAOa,GAETV,uBAAwB,SAAgCH,GACtD,IAAIe,EAASlY,KAIb,IAAKmX,IAAc,eAASA,KAAa,eAASA,GAEhD,OAAO,KAIT,IAAIgB,EAAShB,EAEb,GAAI,eAASgB,GAAS,CAGpB,IAAIC,EAAU,eAAajB,GAAUtT,QAAQ,OAAW,QAGxDsU,EAAS,IAAIjJ,OAAO,KAAKpL,OAAOsU,EAAS,MAAO,KAIlD,IAAIJ,EAAK,SAAYC,GAenB,OADAE,EAAOE,UAAY,EACZF,EAAO5C,KAAK,EAAsB0C,EAAMC,EAAO5B,sBAAuB4B,EAAO1B,uBAAwB0B,EAAOI,qBAIrH,OAAON,M,wBCpQF,EAAQ,CACjBrH,YAAa,eAAS,OAAyB,GAC/CR,QAAS,eAAS,OAAyB,IAIlCoI,GAAkB,aAAI5Y,OAAO,CACtCuD,MAAO,EACPtD,SAAU,CACR4Y,YAAa,WACX,OAAOxY,KAAK6W,eAAgB7W,KAAKyY,kBAEnCC,eAAgB,WACd,IAAIlF,EAAQxT,KAAK2Y,aAAe3Y,KAAKgX,eAAiBhX,KAAKiX,YAAc,GACrEtG,EAAc,OAAAiI,EAAA,MAAQ,eAAU5Y,KAAK2Q,YAAa,GAAI,GACtDR,EAAU,OAAAyI,EAAA,MAAQ,eAAU5Y,KAAKmQ,QAAS,GAAI,GAQlD,OANInQ,KAAKwY,aAAerI,IAEtBqD,EAAQA,EAAMxL,OAAO2I,EAAc,GAAKR,EAASQ,EAAcR,IAI1DqD,M,aCjBTqF,GAA4B,eAAiB,QAAY,QACzDC,GAAiC,eAAuB,QAAY,QAE7D,GAAQ,CAGjBC,OAAQ,eAAS,QAEjBvF,MAAO,eAAS,OAA0B,IAC1CsD,oBAAqB,eAAS,QAAmB,GACjD2B,iBAAkB,eAAS,QAAmB,GAC9CO,kBAAmB,eAAS,QAAmB,IAItCC,GAAgB,aAAItZ,OAAO,CACpC4E,OAAQ,CAAC,SACTrB,MAAO,GACPtD,SAAU,CACRiX,YAAa,WACX,OAAO,eAAW7W,KAAKwT,QAEzB0F,uBAAwB,WAKtB,IAAItW,EAAM,CACRmW,OAAQ/Y,KAAK+Y,OACbxX,OAAQ,KACR4X,OAAQ,KACRC,SAAU,KACVjJ,QAAS,KACTQ,YAAa,MAkBf,OAfK3Q,KAAK8W,sBAERlU,EAAIrB,OAASvB,KAAKoW,aAGfpW,KAAKgZ,oBACRpW,EAAIuW,OAASnZ,KAAKqZ,YAClBzW,EAAIwW,SAAWpZ,KAAKsZ,eAGjBtZ,KAAKyY,mBACR7V,EAAIuN,QAAUnQ,KAAKmQ,QACnBvN,EAAI+N,YAAc3Q,KAAK2Q,aAGlB,eAAM/N,KAGjB4N,MAAO,CAELgD,MAAO,SAAe/C,IAEhBzQ,KAAK6W,aAAe,eAAWpG,KACjCzQ,KAAK+Q,UAAU/Q,KAAKuZ,kBAGxBL,uBAAwB,SAAgCzI,EAAUC,GAE3D,eAAWD,EAAUC,IACxB1Q,KAAK+Q,UAAU/Q,KAAKuZ,mBAI1BC,QAAS,WACP,IAAI1I,EAAQ9Q,MAGRA,KAAK6W,aAAiB7W,KAAKiX,YAAyC,IAA3BjX,KAAKiX,WAAWlV,QAE3D/B,KAAKuZ,kBAIPvZ,KAAKyZ,aAAaX,IAAgC,SAAUY,GACtDA,IAAO5I,EAAM4I,IAAMA,IAAO5I,GAC5BA,EAAM6I,cAIZpZ,QAAS,CACPoZ,QAAS,WACP,IAAInG,EAAQxT,KAAKwT,MACbmG,EAAU3Z,KAAK2Z,QAEnB3Z,KAAK4Z,KAAK,OAAsBD,GAE5B3Z,KAAK8S,aAEH9S,KAAK6S,WAAa7S,KAAK6W,aAEzB7W,KAAK6Z,IAAI,OAAsBF,IAGjC3Z,KAAK8Z,gBAED9Z,KAAK6W,YACP7W,KAAK+Q,UAAU/Q,KAAKuZ,iBAGpBvZ,KAAKiX,WAAa,eAAQzD,GAASA,EAAMxL,QAAU,KAKzD+R,kBAAmB,SAA2BvG,GAC5CxT,KAAKiX,WAAa,eAAQzD,GAASA,EAAMxL,QAAU,GACnDhI,KAAK6S,WAAY,EACjB7S,KAAKyO,MAAM,QAEPzO,KAAK0Z,IACP1Z,KAAKga,WAAWnB,GAA2B7Y,KAAK0Z,KAGpDH,gBAAiB,WACf,IAAIpI,EAASnR,KAGRA,KAAK6W,cAMN7W,KAAK8S,aAEP9S,KAAK+Q,UAAU/Q,KAAK2Z,UAKtB3Z,KAAK6S,WAAY,EAEjB7S,KAAK+Q,WAAU,WACb,IAEE,IAAIpN,EAAOwN,EAAOqC,MAAMrC,EAAO8I,QAAS9I,EAAO4I,mBAE3C,eAAUpW,GAEZA,EAAKuW,MAAK,SAAU1G,GAElBrC,EAAO4I,kBAAkBvG,MAElB,eAAQ7P,GAEjBwN,EAAO4I,kBAAkBpW,GAGG,IAAxBwN,EAAOqC,MAAMzR,SAMf,OAAA4U,EAAA,MAAK,kFAAmF,SACxFxF,EAAO0B,WAAY,GAGvB,MAAOsH,GAKP,OAAAxD,EAAA,MAAK,4BAA4B7S,OAAOqW,EAAE7W,KAAM,MAAMQ,OAAOqW,EAAEC,QAAS,KAAM,SAC9EjJ,EAAO0B,WAAY,EAEnB1B,EAAOyI,KAAK,OAAsBzI,EAAOwI,mBCxLnD,SAAS,GAAgBpX,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,ICbI8X,GAAQC,GDaRC,GAAe,CAAC,QAAS,QAAS,UAE3B,GAAQ,CAEjBC,gBAAiB,eAAS,QAAmB,GAC7CC,WAAY,eAAS,OAAkB,SAAS,SAAUjY,GACxD,OAAO,OAAAkS,EAAA,MAAc6F,GAAc/X,MAErCkY,WAAY,eAAS,QAAmB,GACxCC,gBAAiB,eAAS,OAAkB,WAInCC,GAAkB,aAAIjb,OAAO,CACtCuD,MAAO,GACPS,KAAM,WACJ,MAAO,CACLkX,aAAc,GACdC,iBAAkB,IAGtBlb,SAAU,CACRmb,aAAc,WACZ,OAAO/a,KAAK0a,YAAc1a,KAAKya,YAEjCO,sBAAuB,WACrB,OAAOhb,KAAK+a,eAAiB/a,KAAKwa,iBAEpCS,uBAAwB,WACtB,OAAO,GAETC,uBAAwB,WACtB,IAAIL,EAAe7a,KAAK6a,aACxB,OAAO7a,KAAK+a,cAAgBF,GAAgBA,EAAa9Y,OAAS,GAAK8Y,EAAaM,KAAK5E,EAAA,OAE3F6E,wBAAyB,WACvB,OAAOpb,KAAK+a,cAAgB,OAAArG,EAAA,MAAc,CAAC,QAAS,SAAU1U,KAAKya,aAErEY,uBAAwB,WACtB,IAAI3X,EAEAqX,EAAe/a,KAAK+a,aACxB,OAAOrX,EAAO,CACZ,qBAAsBqX,GACrB,GAAgBrX,EAAM,kBAAkBI,OAAO9D,KAAKya,YAAaM,GAAe,GAAgBrX,EAAM,oBAAqB1D,KAAKkb,wBAAyB,GAAgBxX,EAAM,8BAA+BqX,IAAiB/a,KAAKgb,uBAAwBtX,GAEjQ4X,qBAAsB,WACpB,MAAO,CAIL,uBAAyBtb,KAAK+a,aAAsB/a,KAAKob,wBAA0B,OAAS,QAA/C,QAInD5K,MAAO,CACLiD,cAAe,SAAuBhD,EAAUC,GAE9C,IAAI6K,GAAQ,EAEZ,GAAIvb,KAAK+a,cAAgB/a,KAAK6a,aAAa9Y,OAAS,EAAG,CAErDwZ,EAAQ,eAAQ9K,IAAa,eAAQC,IAAaD,EAAS1O,SAAW2O,EAAS3O,OAE/E,IAAK,IAAID,EAAI,EAAGyZ,GAASzZ,EAAI2O,EAAS1O,OAAQD,IAE5CyZ,EAAQ,eAAW,EAAY9K,EAAS3O,IAAK,EAAY4O,EAAS5O,KAIjEyZ,GACHvb,KAAK8Z,iBAGTY,WAAY,SAAoBjK,GAC9BzQ,KAAK8Z,gBACL9Z,KAAKwb,qBAAqB/K,IAE5BgK,WAAY,WACVza,KAAK8Z,iBAEPkB,sBAAuB,SAA+BvK,GACpDzQ,KAAK8Z,gBACL9Z,KAAKwb,sBAAsB/K,IAE7BoK,aAAc,SAAsBY,EAAe/K,GACjD,IAAII,EAAQ9Q,KAEZ,GAAIA,KAAK+a,eAAiB,eAAWU,EAAe/K,GAAW,CAC7D,IAAI8C,EAAQ,GAEZiI,EAAcxZ,SAAQ,SAAU8R,EAAG2H,GAC7B3H,GACFP,EAAM7R,KAAKmP,EAAM2C,cAAciI,OAInC1b,KAAKyO,MAAM,OAAyB+E,MAI1CmI,YAAa,WAEP3b,KAAK+a,cACP/a,KAAKwb,sBAAqB,IAG9Bjb,QAAS,CAEPqb,UAAW,SAAmBC,GAE5B,GAAI7b,KAAK+a,cAAgB,eAASc,IAAUA,GAAS,GAAKA,EAAQ7b,KAAKyT,cAAc1R,SAAW/B,KAAK8b,cAAcD,GAAQ,CACzH,IAAIhB,EAAe7a,KAAKob,wBAA0Bpb,KAAK6a,aAAa7S,QAAU,GAC9E6S,EAAagB,IAAS,EACtB7b,KAAK+b,qBAAuB,EAC5B/b,KAAK6a,aAAeA,IAGxBmB,YAAa,SAAqBH,GAEhC,GAAI7b,KAAK+a,cAAgB,eAASc,IAAU7b,KAAK8b,cAAcD,GAAQ,CACrE,IAAIhB,EAAe7a,KAAK6a,aAAa7S,QACrC6S,EAAagB,IAAS,EACtB7b,KAAK+b,qBAAuB,EAC5B/b,KAAK6a,aAAeA,IAGxBoB,cAAe,WACb,IAAIla,EAAS/B,KAAKyT,cAAc1R,OAE5B/B,KAAK+a,cAAgBhZ,EAAS,IAChC/B,KAAK+b,qBAAuB,EAC5B/b,KAAK6a,aAAe7a,KAAKob,wBAA0B,eAAYrZ,GAAQ,GAAQ,EAAC,KAGpF+Z,cAAe,SAAuBD,GAEpC,SAAU,eAASA,KAAU7b,KAAK6a,aAAagB,KAEjD/B,cAAe,WAEb9Z,KAAK+b,qBAAuB,EAC5B/b,KAAK6a,aAAe,IAGtBqB,qBAAsB,SAA8BL,GAClD,GAAI7b,KAAK+a,cAAgB/a,KAAK8b,cAAcD,GAAQ,CAClD,IAAIxX,EAAUrE,KAAK2a,gBACnB,OAAO,GAAgB,CACrB,wBAAwB,GACvB,GAAG7W,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAOO,GAAUA,GAGjE,MAAO,IAET8X,mBAAoB,SAA4BN,GAC9C,MAAO,CACL,gBAAkB7b,KAAK+a,aAAsB/a,KAAK8b,cAAcD,GAAS,OAAS,QAA5C,OAG1CL,qBAAsB,SAA8BjV,GAClD,IAAI6V,EAAS7V,IAAOvG,KAAKwa,gBAAkB,MAAQ,OAEnDxa,KAAKoc,GAAQ,OAAwBpc,KAAKqc,kBAE1Crc,KAAKoc,GAAQ,OAAqBpc,KAAK8Z,eACvC9Z,KAAKoc,GAAQ,OAA4Bpc,KAAK8Z,gBAEhDuC,iBAAkB,SAA0BpE,EAAM4D,EAAO5K,GAEvD,GAAKjR,KAAK+a,eAAgB/a,KAAKwa,gBAA/B,CAMA,IAAIC,EAAaza,KAAKya,WAClBK,EAAkB9a,KAAK8a,gBACvBD,EAAe7a,KAAK6a,aAAa7S,QACjCsU,GAAYzB,EAAagB,GAE7B,GAAmB,WAAfpB,EACFI,EAAe,QACV,GAAmB,UAAfJ,EACT,GAAIK,GAAmB,GAAK7J,EAAMsL,SAAU,CAE1C,IAAK,IAAIb,EAAM,OAAA9C,EAAA,MAAQkC,EAAiBe,GAAQH,GAAO,OAAA9C,EAAA,MAAQkC,EAAiBe,GAAQH,IACtFb,EAAaa,IAAO,EAGtBY,GAAW,OAELrL,EAAMuL,SAAWvL,EAAMwL,UAE3B5B,EAAe,GACfyB,GAAW,GAGbtc,KAAK8a,gBAAkBwB,EAAWT,GAAS,EAI/ChB,EAAagB,GAASS,EACtBtc,KAAK6a,aAAeA,OA/BlB7a,KAAK8Z,oB,0BEpLT,GAAiB,SAAwBtX,GAC3C,OAAI,eAAkBA,GACb,GAGL,eAAUA,GACL,eAAQA,EAAOA,GAGjBA,GAYE,GAAqB,SAA4Bka,EAAGC,GAC7D,IAAIjZ,EAAO/C,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,GAAmBA,UAAU,GAAK,GAC3Eic,EAAclZ,EAAKyV,OACnBA,OAAyB,IAAhByD,EAAyB,KAAOA,EACzCC,EAAiBnZ,EAAK8Q,UACtBA,OAA+B,IAAnBqI,EAA4B,KAAOA,EAC/CC,EAAcpZ,EAAKqZ,OACnBA,OAAyB,IAAhBD,OAAyBlN,EAAYkN,EAC9CE,EAAqBtZ,EAAKuZ,cAC1BA,OAAuC,IAAvBD,EAAgC,GAAKA,EACrDE,EAAgBxZ,EAAKyZ,SACrBA,OAA6B,IAAlBD,GAAmCA,EAG9CE,EAAK,OAAArd,GAAA,MAAI2c,EAAGvD,EAAQ,MACpBkE,EAAK,OAAAtd,GAAA,MAAI4c,EAAGxD,EAAQ,MAaxB,OAXI,eAAW3E,KACb4I,EAAK5I,EAAU4I,EAAIjE,EAAQuD,GAC3BW,EAAK7I,EAAU6I,EAAIlE,EAAQwD,IAM7BS,EAAK,GAAeA,GACpBC,EAAK,GAAeA,GAEhB,eAAOD,IAAO,eAAOC,IAAO,eAASD,IAAO,eAASC,GAGhDD,EAAKC,GAAM,EAAID,EAAKC,EAAK,EAAI,EAC3BF,GAAmB,KAAPC,GAAoB,KAAPC,EAE3B,EACEF,GAAmB,KAAPC,GAAoB,KAAPC,GAE1B,EAIH,EAAsBD,GAAIE,cAAc,EAAsBD,GAAKN,EAAQE,IDjEpF,SAASjc,GAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,GAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,GAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,GAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,GAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,GAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAIgb,GAA0B,SAC1BC,GAA2B,QAA0BD,GACrDE,GAA4B,WAC5BC,GAA6B,QAA0BD,GACvDE,GAAqB,MACrBC,GAAsB,OACtBC,GAAsB,OACtBC,GAAkB,CAACH,GAAoBC,GAAqBC,IAErD,IAASxD,GAAS,CAC3B0D,aAAc,eAAS,OAAkB,2BACzCC,eAAgB,eAAS,OAAkB,0BAC3CC,cAAe,eAAS,OAAkB,4BAC1CC,gBAAiB,eAAS,QAAmB,GAC7CC,eAAgB,eAAS,QAAmB,GAK5CC,YAAa,eAAS,QAAmB,IACxC,GAAgB/D,GAAQkD,GAAyB,eAAS,SAAoB,GAAgBlD,GAAQ,cAAe,eAAS,SAAsB,GAAgBA,GAAQ,oBAAqB,eAAS,SAA0B,GAAgBA,GAAQ,qBAAsB,eAAS,OAAkB,CAC9SgE,SAAS,KACN,GAAgBhE,GAAQoD,GAA2B,eAAS,QAAmB,IAAS,GAAgBpD,GAAQ,gBAAiB,eAAS,OAAkBsD,IAAoB,SAAUnb,GAC7L,OAAO,OAAAkS,EAAA,MAAcoJ,GAAiBtb,OACnC,GAAgB6X,GAAQ,eAAgB,eAAS,QAAmB,IAAS,GAAgBA,GAAQ,eAAgB,eAAS,QAAmB,IAASA,IAGpJiE,GAAe,aAAI3e,OAAO,CACnCuD,MAAO,GACPS,KAAM,WACJ,MAAO,CACL0V,YAAarZ,KAAKud,KAA4B,GAC9CjE,cAAetZ,KAAKyd,MAA8B,IAGtD7d,SAAU,CACR2e,aAAc,WACZ,OAAOve,KAAK6W,cAAgB7W,KAAKgZ,mBAAqBhZ,KAAKme,gBAE7DK,WAAY,WACV,OAAOxe,KAAKqS,eAAe8I,MAAK,SAAUxL,GACxC,OAAOA,EAAE8O,aAKb9F,YAAa,WACX,IAAIQ,EAASnZ,KAAKqZ,YACdD,EAAWpZ,KAAKsZ,cAChByD,EAAS/c,KAAK0e,kBACdvB,EAAWnd,KAAK2e,aAChBC,EAAc5e,KAAK4e,YACnBL,EAAeve,KAAKue,aACpB/K,GAASxT,KAAKgX,eAAiBhX,KAAKiX,YAAc,IAAIjP,QAEtDiV,EAAgBrb,GAAcA,GAAc,GAAI5B,KAAK6e,oBAAqB,GAAI,CAChFC,MAAO,SAGT,GAAI3F,GAAUoF,EAAc,CAC1B,IAAIjK,EAAQtU,KAAKsY,kBAAkBa,IAAW,GAC1C4F,EAAkBzK,EAAMyK,gBACxBvK,EAAY,eAAWuK,GAE3BA,EAAkBA,EAAkB/e,KAAKgf,kBAAkB7F,QAAUvJ,EAErE,OAAO,gBAAW4D,GAAO,SAAUkJ,EAAGC,GACpC,IAAI/S,EAAS,KAsBb,OApBI,eAAWgV,KAIbhV,EAASgV,EAAYlC,EAAGC,EAAGxD,EAAQC,EAAU5E,EAAWyI,EAAeF,KAKrE,eAAkBnT,KAAsB,IAAXA,KAC/BA,EAAS,GAAmB8S,EAAGC,EAAG,CAChCxD,OAAQA,EACR3E,UAAWA,EACXuI,OAAQA,EACRE,cAAeA,EACfE,SAAUA,MAKNvT,GAAU,IAAMwP,GAAY,EAAI,MAI5C,OAAO5F,IAGXhD,OAAQ8J,GAAS,CAEfkE,WAAY,SAAoB/N,GAC1BA,EACEzQ,KAAKwe,YACPxe,KAAK6Z,IAAI,OAAyB7Z,KAAKif,YAGzCjf,KAAK4Z,KAAK,OAAyB5Z,KAAKif,cAG3C,GAAgB3E,GAAQmD,IAA2B,SAAUhN,GAE1DA,IAAazQ,KAAKsZ,gBAItBtZ,KAAKsZ,cAAgB7I,IAAY,MAC/B,GAAgB6J,GAAQiD,IAAyB,SAAU9M,GAEzDA,IAAazQ,KAAKqZ,cAItBrZ,KAAKqZ,YAAc5I,GAAY,OAC7B,GAAgB6J,GAAQ,iBAAiB,SAAuB7J,EAAUC,GAExED,IAAaC,GACf1Q,KAAKyO,MAAMiP,GAA4BjN,MAEvC,GAAgB6J,GAAQ,eAAe,SAAqB7J,EAAUC,GACpED,IAAaC,GACf1Q,KAAKyO,MAAM+O,GAA0B/M,MAErC6J,IACJzJ,QAAS,WACH7Q,KAAKwe,YACPxe,KAAK6Z,IAAI,OAAyB7Z,KAAKif,aAG3C1e,QAAS,CAGP0e,WAAY,SAAoB/c,EAAKoS,EAAOrD,EAAOiO,GACjD,IAAIpO,EAAQ9Q,KAEZ,GAAKA,KAAKwe,cAKNU,IAAUlf,KAAKke,iBAAnB,CAMA,IAAIiB,GAAc,EAEdC,EAAsB,WACxB,IAAIC,EAAgB/K,EAAM+K,eAAiBvO,EAAMuO,cAE7CA,IAAkB1B,GACpB7M,EAAMwI,eAAgB,EACb+F,IAAkBzB,KAC3B9M,EAAMwI,eAAgB,IAM1B,GAAIhF,EAAMmK,SAAU,CAClB,IAAIa,GAAWtf,KAAKue,cAAgBjK,EAAMgL,QAAUhL,EAAMgL,QAAUpd,EAEhElC,KAAKqZ,cAAgBiG,EAEvBtf,KAAKsZ,eAAiBtZ,KAAKsZ,eAG3BtZ,KAAKqZ,YAAciG,EAEnBF,KAGFD,GAAc,OACLnf,KAAKqZ,cAAgBrZ,KAAKoe,cACnCpe,KAAKqZ,YAAc,GACnB+F,IACAD,GAAc,GAGZA,GAEFnf,KAAKyO,MAAM,OAAyBzO,KAAKia,WAI7CsF,mBAAoB,SAA4Brd,EAAKoS,EAAO4K,GAC1D,MAAO,CAEL,yBAA0B5K,EAAMmK,UAAYze,KAAKwf,gBAAkBN,GAAUlf,KAAKke,mBAGtFuB,iBAAkB,SAA0Bvd,EAAKoS,EAAO4K,GACtD,IAAKlf,KAAKwe,YAAcU,GAAUlf,KAAKke,gBAErC,MAAO,GAGT,IAAIO,EAAWnK,EAAMmK,SAEjBiB,EAAWjB,GAAYze,KAAKqZ,cAAgBnX,EAAMlC,KAAKsZ,cAAgB,aAAe,YAAcmF,EAAW,OAAS,KAE5H,MAAO,CACL,YAAaiB,IAGjBC,iBAAkB,SAA0Bzd,EAAKoS,EAAO4K,GAEtD,IAAKlf,KAAKwe,YAAcU,GAAUlf,KAAKke,gBAErC,OAAO,KAGT,IAAIO,EAAWnK,EAAMmK,SAEjBmB,EAAe,GAEnB,GAAInB,EACF,GAAIze,KAAKqZ,cAAgBnX,EAEvB0d,EAAe5f,KAAKsZ,cAAgBtZ,KAAK+d,aAAe/d,KAAKie,kBACxD,CAIL2B,EAAe5f,KAAKsZ,cAAgBtZ,KAAKie,cAAgBje,KAAK+d,aAE9D,IAAIsB,EAAgBrf,KAAKqf,eAAiB/K,EAAM+K,cAE5CA,IAAkB1B,GACpBiC,EAAe5f,KAAK+d,aACXsB,IAAkBzB,KAC3BgC,EAAe5f,KAAKie,oBAGdje,KAAKoe,cAEfwB,EAAe5f,KAAKqZ,YAAcrZ,KAAKge,eAAiB,IAI1D,OAAO,eAAK4B,IAAiB,S,kEErQxB,GAAQ,GAGRC,GAAc,aAAIlgB,OAAO,CAClCY,QAAS,CACPuf,aAAc,WACZ,IAAI1N,EAASpS,KAAKqS,eACdjP,EAAUpD,KAAKoD,QACfkP,EAAetS,KAAKsS,aACpBC,EAAcvS,KAAKuS,YACnB9O,EAAIzD,KAAKkK,eAGb,OAAKlK,KAAKwS,kBAAkB,WAAkC,IAAZpP,GAAgC,KAAZA,EAI/DK,EAAE,OAAK,CACZ4G,YAAa,kBACbhE,MAAO,CAAC,eAAWiM,GAAgBA,EAAa,KAAM,WAAaA,GACnEhM,MAAO,eAAWiM,GAAeA,EAAY,KAAM,WAAaA,EAChErQ,IAAK,aACJ,CAAClC,KAAKoG,cAAc,QAAmB,CACxCqM,QAASL,EAAOrQ,OAChBqQ,OAAQA,MAVD3O,QCnBf,SAAS,GAAQxC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,GAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,GAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,GAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,GAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,GAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EA4BpM,IAAI,GAAQ,eAAsB,eAAS,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAImX,EAAA,MAAU,GAAiB,GAAY,QAAe,QAAgB,GAAa,GAAiB,QAAa,GAAkB,IAAgB,IAAkB,IAAe,SAAe,SAAqB,SAAa,SAAa,SAAa,KAAe,SAGrjBqG,GAAsB,aAAIpgB,OAAO,CAC1C2D,KAAM,QAGNiB,OAAQ,CACR+B,EAAA,KAAY,OAAkBoT,EAAA,KAAS,OACvC,OAAY,QAAoB,QAAc,QAAY,QAAY,QACtE,QAAcvD,EAAgBmI,GAAc/F,GAAiB,OAAc,OAAeqC,GAAiBtH,EAAYuM,GAAa3N,EAAgBU,EAAWqG,IAC/J/V,MAAO,M,oCC3CT,mIAASlC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAU3M,IAAIyd,EAAQ,QACRC,EAAO,OAEA/c,EAAQ,eAAsB,CACvCmB,QAAS,eAAS,SACjB,SAMQ6b,EAAmB,aAAIvgB,OAAO,CACvC2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLjC,UAAWzE,OAGfwE,OAAQ,CACNmC,gBAAiB,CACfjC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERiF,QAAS,WACP,OAAO7E,KAAK2G,gBAAgBwZ,SAG9Brb,QAAS,WACP,OAAO9E,KAAK2G,gBAAgBE,SAG9B9B,QAAS,WACP,OAAO/E,KAAK2G,gBAAgBoL,SAG9B/M,OAAQ,WACN,OAAOhF,KAAK2G,gBAAgB3B,QAG9BC,UAAW,WACT,OAAOjF,KAAK2G,gBAAgB1B,WAG9BE,aAAc,WACZ,OAAOnF,KAAK2G,gBAAgBxB,cAI9BC,eAAgB,WACd,OAAOpF,KAAK2G,gBAAgBvB,gBAK9BC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK2G,gBAAgBtB,iBAGjDK,aAAc,WACZ,OAAO1F,KAAK2G,gBAAgBjB,cAG9BF,YAAa,WACX,OAAOxF,KAAK8E,QAAU9E,KAAK2G,gBAAgBnB,YAAc,MAG3DC,YAAa,WACX,OAAOzF,KAAK+E,QAAU/E,KAAK2G,gBAAgBlB,YAAc,MAE3D2a,UAAW,WACT,OAAOpgB,KAAKwF,cAAgBwa,GAAShgB,KAAKyF,cAAgBua,IAElDhgB,KAAKwF,cAAgBya,GAAQjgB,KAAKyF,cAAgBwa,GAEnDjgB,KAAKgF,SAEdqb,UAAW,WACT,IAAIhc,EAAUrE,KAAKqE,QACnB,MAAO,CAACA,EAAU,GAAGP,OAAO9D,KAAKogB,UAAY,KAAO,QAAS,KAAKtc,OAAOO,GAAW,OAEtFic,QAAS,WACP,OAAO1e,EAAc,CACnBoE,KAAM,OACLhG,KAAKkG,WAGZ1C,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,KAAM,CACb4C,MAAOrG,KAAKqgB,UACZ/Z,MAAOtG,KAAKsgB,QAEZ/Z,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,2DCnHZ,W,oCCAA,8DAOWma,EAAmB,aAAI5gB,OAAO,CACvCY,QAAS,CACPigB,YAAa,SAAqBld,GAEhC,IAAImd,EAAazgB,KAAKygB,YAAc,GAIhCC,EAAU1gB,KAAK2gB,SAAW,GAG9B,OAAQ,eAAYF,EAAWnd,KAAU,eAAQod,EAAQpd,KAAUod,EAAQpd,GAAMvB,OAAS,O,oCClBhG,kJASWmB,EAAQ,eAAsB,CACvCuJ,OAAQ,eAAS,QAAmB,GACpCmU,WAAY,eAAS,QAAmB,GACxChc,IAAK,eAAS,OAAkB,OAChCic,cAAe,eAAS,OAAkB,QACzC,SAGQC,EAAsB,aAAInhB,OAAO,CAC1C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZiJ,EAAQlJ,EAAKkJ,MACbC,EAAcnJ,EAAKmJ,YACnBkU,EAAWrd,EAAKqd,SAChBtU,EAASvJ,EAAMuJ,OACfmU,EAAa1d,EAAM0d,WACnBC,EAAgB3d,EAAM2d,cACtBG,EAAYvU,EAASsU,EAAW,GAEpC,IAAKtU,EAAQ,CACX,IAAImB,EAAY,GACZD,EAASf,IACTc,EAAeb,GAAe,GAClCmU,EAAUrf,KAAK8B,EAAE,OAAY,eAAc,OAAmBmK,EAAWF,EAAcC,KACvF,IAAIsT,EAAS,eAAc,OAAiBrT,EAAWF,EAAcC,GAEjEsT,GACFD,EAAUJ,EAAa,OAAS,WAAWnd,EAAE,OAAa,CACxDP,MAAO,CACL+I,MAAO2U,EACPC,cAAeA,IAEhBI,IAIP,OAAOxd,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0G,YAAa,UACX2W,O,6VCnDR,SAAShgB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAE3M,SAASoS,EAAmBlN,GAAO,OAAOmN,EAAmBnN,IAAQoN,EAAiBpN,IAAQqN,EAA4BrN,IAAQsN,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIrL,EAAIzI,OAAO+N,UAAU3H,SAAS8H,KAAK2F,GAAGjN,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBoL,EAAEG,cAAavL,EAAIoL,EAAEG,YAAY9R,MAAgB,QAANuG,GAAqB,QAANA,EAAoBwL,MAAMC,KAAKL,GAAc,cAANpL,GAAqB,2CAA2C0L,KAAK1L,GAAWsL,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYtU,OAAOoU,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmBnN,GAAO,GAAI4N,MAAMM,QAAQlO,GAAM,OAAO0N,EAAkB1N,GAEpF,SAAS0N,EAAkB1N,EAAKmO,IAAkB,MAAPA,GAAeA,EAAMnO,EAAI1F,UAAQ6T,EAAMnO,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG+T,EAAO,IAAIR,MAAMO,GAAM9T,EAAI8T,EAAK9T,IAAO+T,EAAK/T,GAAK2F,EAAI3F,GAAM,OAAO+T,EAezK,IAAI,EAAQ,CACjBqL,eAAgB,eAAS,QACzB3O,YAAa,eAAS,QACtBD,aAAc,eAAS,GAAGxO,OAAO6Q,EAAmB,QAAgC,CAAC,WAI5EwM,EAAgB,aAAIxhB,OAAO,CACpCuD,MAAO,EACP3C,QAAS,CAEP6gB,YAAa,SAAqBnJ,EAAM/V,EAAKmf,EAASC,GACpD,IAAIre,EAAUjD,KAAKiD,QAEnB,GAAIoe,EAAS,CACX,IAAI7e,EAAQ,OAAAzC,EAAA,MAAIkY,EAAM/V,EAAK,IAE3B,OAAI,eAAWmf,GACNA,EAAQ7e,EAAON,EAAK+V,GAClB,eAASoJ,IAAY,eAAWpe,EAAQoe,IAC1Cpe,EAAQoe,GAAS7e,EAAON,EAAK+V,GAG/BoJ,EAGT,OAAOC,GAETC,YAAa,SAAqBtJ,EAAM/V,EAAKsf,EAAS3W,EAAMyW,GAC1D,IAAIre,EAAUjD,KAAKiD,QAEnB,GAAIue,EAAS,CACX,IAAIhf,EAAQ,OAAAzC,EAAA,MAAIkY,EAAM/V,EAAK,IAE3B,OAAI,eAAWsf,GACNA,EAAQhf,EAAON,EAAK+V,EAAMpN,GACxB,eAAS2W,IAAY,eAAWve,EAAQue,IAC1Cve,EAAQue,GAAShf,EAAON,EAAK+V,EAAMpN,GAGrC2W,EAGT,OAAOF,GAGTG,kBAAmB,SAA2BxJ,EAAM3D,GAClD,IAAIpS,EAAMoS,EAAMpS,IACZsS,EAAYxU,KAAKgf,kBAAkB9c,GACnCM,EAAQ,OAAAzC,EAAA,MAAIkY,EAAM/V,EAAK,MAM3B,OAJI,eAAWsS,KACbhS,EAAQgS,EAAUhS,EAAON,EAAK+V,IAGzB,eAAkBzV,GAAS,GAAKA,GAGzCkf,qBAAsB,SAA8BC,EAAgB1J,GAClE,IAAInH,EAAQ9Q,KAGZ,OAAO,WACD2hB,GACF7Q,EAAM8Q,KAAK3J,EAAM,QAAyBA,EAAK,WAKrD4J,WAAY,SAAoB5Q,GAGzBjR,KAAK8hB,mBAAmB7Q,IAE3BjR,KAAK+hB,kBAAkB,OAAwB9Q,IAGnD+Q,aAAc,SAAsB/Q,GAG7BjR,KAAK8hB,mBAAmB7Q,IAE3BjR,KAAK+hB,kBAAkB,OAA0B9Q,IAIrDgR,mBAAoB,SAA4B3N,EAAO4N,EAAUjK,EAAMkK,GACrE,IAAIhR,EAASnR,KAETiF,EAAYjF,KAAKiF,UACjB/C,EAAMoS,EAAMpS,IACZkgB,EAAQ9N,EAAM8N,MACdC,EAAc/N,EAAM+N,YACpB5e,EAAIzD,KAAKkK,eACTyX,EAAiB3hB,KAAKwS,kBAAkB,QACxC8P,EAAYtiB,KAAKyhB,kBAAkBxJ,EAAM3D,GACzClQ,GAAgBa,IAAcjF,KAAKmF,cAAgBnF,KAAK+G,eAAiBuN,EAAMlQ,aAI/Eme,EAAUne,EAAeie,EAAc,OAAM,OAAMA,EAAc,KAAO,KACxEG,EAAcvK,EAAK,SAA2BA,EAAK,QAAwB/V,GAAO+V,EAAK,QAAwB/V,GAAOoS,EAAMjQ,SAAW,KACvIV,EAAO,CAKT0C,MAAO,CAACiO,EAAMjO,MAAQiO,EAAMjO,MAAQ,GAAIrG,KAAKohB,YAAYnJ,EAAM/V,EAAKoS,EAAMmO,QAAS,KACnFvf,MAAO,GACPoD,MAAO1E,EAAc,CACnB,gBAAiB+H,OAAOuY,EAAW,IAClCG,EAAcriB,KAAKuhB,YAAYtJ,EAAM/V,EAAKoS,EAAMoO,OAAQ,MAAO,IAAM1iB,KAAKohB,YAAYnJ,EAAM/V,EAAKoS,EAAMqO,OAAQ,KAClHzgB,IAAK,OAAO4B,OAAOqe,EAAU,UAAUre,OAAOoe,EAAU,KAAKpe,OAAO5B,IAGlEkC,EAEFT,EAAKT,MAAQ,CACXiB,eAAgBc,EAAYmd,EAAQ,KACpChe,cAAc,EACdC,QAASme,IAKX7e,EAAK2C,MAAM,cAAgBrB,IAAc,eAAkBmd,GAAS,eAASA,GAAS,KACtFze,EAAK2C,MAAMN,KAAOqc,EAAc,YAAc,OAC9C1e,EAAK2C,MAAML,MAAQoc,EAAc,MAAQ,KAErCG,GACF7e,EAAK0C,MAAM1E,KAAK,GAAGmC,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAO0e,KAItE,IAAI5U,EAAY,CACdqK,KAAMA,EACN4D,MAAOsG,EACP7N,MAAOA,EACPsO,YAAa,OAAA7iB,EAAA,MAAIkY,EAAM/V,EAAK,IAC5BM,MAAO8f,EACPO,cAAe7iB,KAAK0hB,qBAAqBC,EAAgB1J,GACzD6K,eAAgBhY,QAAQmN,EAAK,UAI3BjY,KAAKib,yBACPrN,EAAUmV,YAAc/iB,KAAK8b,cAAcqG,GAE3CvU,EAAUgO,UAAY,WACpB,OAAOzK,EAAOyK,UAAUuG,IAG1BvU,EAAUoO,YAAc,WACtB,OAAO7K,EAAO6K,YAAYmG,KAY9B,IAAIa,EAAWhjB,KAAKijB,yBAAyB/gB,GACzCghB,EAAcF,EAAWhjB,KAAKoG,cAAc4c,EAAUpV,GAAa,eAAS0U,GAQhF,OANItiB,KAAKiF,YAEPie,EAAc,CAACzf,EAAE,MAAO,CAACyf,MAIpBzf,EAAE8e,EAAS5e,EAAM,CAACuf,KAG3BC,eAAgB,SAAwBlL,EAAMkK,GAC5C,IAAIjK,EAASlY,KAEToS,EAASpS,KAAKqS,eACd+Q,EAAUpjB,KAAKojB,QACfC,EAAarjB,KAAKqjB,WAClB1S,EAAc3Q,KAAK2Q,YACnBR,EAAUnQ,KAAKmQ,QACfmC,EAAetS,KAAKsS,aACpBC,EAAcvS,KAAKuS,YACnB9O,EAAIzD,KAAKkK,eACTyX,EAAiB3hB,KAAKwS,kBAAkB,QACxC8Q,EAAiBrL,EAAK,SAA2B0J,EACjD4B,EAAqBvjB,KAAKygB,WAAW,SAA2BzgB,KAAKgb,sBAErEwI,EAAQ,GAIRC,EAAYH,EAAiBtjB,KAAK0jB,OAAO,YAAY5f,OAAOqe,EAAU,MAAQ,KAE9EwB,EAAOvR,EAAOhK,KAAI,SAAUkM,EAAO4N,GACrC,OAAOhK,EAAO+J,mBAAmB3N,EAAO4N,EAAUjK,EAAMkK,MAGtDyB,EAAe,KAEfjT,GAAeR,GAAWA,EAAU,IACtCyT,EAAeja,QAAQgH,EAAc,GAAKR,EAAUgS,EAAW,IAOjE,IAAI0B,EAAkB,eAAS,OAAA9jB,EAAA,MAAIkY,EAAMoL,KAAgB,KACrDS,EAASD,GAAmB,eAAS1B,GAGrC4B,EAAQF,EAAkB7jB,KAAK0jB,OAAO,QAAQ5f,OAAO+f,IAAoB,KAEzEG,EAAoBhkB,KAAKkc,qBAAuBlc,KAAKkc,qBAAqBiG,GAAY,GACtF8B,EAAkBjkB,KAAKmc,mBAAqBnc,KAAKmc,mBAAmBgG,GAAY,GAEhF+B,EAAgB,eAAW5R,GAAgBA,EAAa2F,EAAM,OAAS3F,EACvE6R,EAAc,eAAW5R,GAE7BA,EAAY0F,EAAM,OAAS1F,EA2B3B,GAzBAiR,EAAM7hB,KAAK8B,EAAE,OAAK,CAChB4C,MAAO,CAAC6d,EAAeF,EAAmBV,EAAiB,sBAAwB,IACnFpgB,MAAO,CACLmB,QAAS4T,EAAK,SAA0B,MAE1C3R,MAAO1E,EAAcA,EAAc,CACjC8X,GAAIqK,GACHI,GAAc,GAAI,CAEnBC,SAAUb,EAAqB,IAAM,KACrC,UAAWM,GAAmB,KAC9B,eAAgBJ,EAChB,YAAaA,EACb,gBAAiBG,GAChBK,GACH1d,GAAI,CAEF8d,WAAYrkB,KAAK6hB,WACjByC,WAAYtkB,KAAKgiB,cAEnB9f,IAAK,iBAAiB4B,OAAOggB,EAAQ,MACrCS,IAAK,YACLC,UAAU,GACTb,IAECL,EAAgB,CAClB,IAAImB,EAAe,CACjBxM,KAAMA,EACN4D,MAAOsG,EACP/P,OAAQA,EACRyQ,cAAe7iB,KAAK0hB,qBAAqBC,EAAgB1J,IAIvDjY,KAAKib,yBACPwJ,EAAa1B,YAAc/iB,KAAK8b,cAAcqG,GAE9CsC,EAAa7I,UAAY,WACvB,OAAO1D,EAAO0D,UAAUuG,IAG1BsC,EAAazI,YAAc,WACzB,OAAO9D,EAAO8D,YAAYmG,KAK9B,IAAIuC,EAAWjhB,EAAE,OAAK,CACpBP,MAAO,CACLe,QAASmO,EAAOrQ,QAElBsE,MAAOrG,KAAKkhB,gBACX,CAAClhB,KAAKoG,cAAc,OAAuBqe,KAG1CrB,GACFI,EAAM7hB,KACN8B,EAAE,KAAM,CACN4G,YAAa,SACb/D,MAAO,CACL,cAAe,OACfN,KAAM,gBAER9D,IAAK,6BAA6B4B,OAAOggB,MAK7C,IAAIa,EAAuB,eAAW3kB,KAAKsS,cAE3CtS,KAAKsS,aAAa2F,EAAM,QAAyBjY,KAAKsS,aAClDsS,EAAqB,eAAW5kB,KAAKuS,aAEzCvS,KAAKuS,YAAY0F,EAAM,QAAyBjY,KAAKuS,YACrDiR,EAAM7hB,KAAK8B,EAAE,OAAK,CAChB4G,YAAa,kBACbhE,MAAO,CAACse,GACRzhB,MAAO,CACLmB,QAAS4T,EAAK,SAA0B,MAE1C3R,MAAO1E,EAAcA,EAAc,GAAIgjB,GAAqB,GAAI,CAE9DlL,GAAI+J,EACJW,SAAU,OAEZliB,IAAK,sBAAsB4B,OAAOggB,IACjC,CAACY,UACK/C,IAET6B,EAAM7hB,KAAK8B,KAEP2f,GAEFI,EAAM7hB,KAAK8B,MAKf,OAAO+f,MCnWb,SAAS,EAAQviB,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,EAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,EAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,EAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,EAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,EAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgB3M,IAAIsiB,EAAkB,SAAyBriB,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAI1B,EAAQ,eAAS,EAAc,EAAc,EAAc,GAAI,QAAc,GAAgB,GAAI,CAC1GsiB,WAAY,eAAS,WAIZC,EAAa,aAAIplB,OAAO,CACjC4E,OAAQ,CAAC4c,GACTje,MAAO,EACP4U,cAAe,WACb9X,KAAKijB,yBAA2B,MAElC1iB,QAAS,CAKPykB,YAAa,WACX,IAAI/kB,EAAQD,KAAKC,MACbglB,EAAQhlB,EAAMglB,MAAQhlB,EAAMglB,MAAMzT,KAAOvR,EAAMglB,MAAQ,KACvDC,GAAOjlB,EAAM,cAAgB,IAAImI,KAAI,SAAU+c,GACjD,OAAOA,EAAG3T,KAAO2T,KAEnB,OAAOF,GAASA,EAAMlE,UAAYkE,EAAMlE,SAAShf,OAAS,GAAKmjB,GAAOA,EAAInjB,OAAS,EAAI,OAAA2S,EAAA,MAAUuQ,EAAMlE,UAAUxf,QAAO,SAAU4jB,GAChI,OAAO,OAAAzQ,EAAA,MAAcwQ,EAAKC,MAG5B,IAIFC,gBAAiB,SAAyBC,GAExC,IAAK,eAAUA,GACb,OAAQ,EAGV,IAAIF,EAAoB,OAAfE,EAAGC,QAAmBD,EAAK,eAAQ,KAAMA,GAAI,GACtD,OAAOF,EAAKnlB,KAAKglB,cAAcO,QAAQJ,IAAO,GAGhDpD,kBAAmB,SAA2BlX,EAAMoG,GAClD,GAAIpG,GAAQ7K,KAAKwgB,YAAY3V,IAASoG,GAASA,EAAMpP,OAAQ,CAC3D,IAAIsgB,EAAWniB,KAAKolB,gBAAgBnU,EAAMpP,QAE1C,GAAIsgB,GAAY,EAAG,CAEjB,IAAIlK,EAAOjY,KAAKyT,cAAc0O,GAC9BniB,KAAKyO,MAAM5D,EAAMoN,EAAMkK,EAAUlR,MAIvC6Q,mBAAoB,SAA4B7Q,GAC9C,OAAOjR,KAAK+S,YAAc/S,KAAK+S,WAAW9B,IAG5CuU,kBAAmB,SAA2BvU,GAE5C,IAAIpP,EAASoP,EAAMpP,OACf4jB,EAAUxU,EAAMwU,QAEpB,IAAIzlB,KAAK8hB,mBAAmB7Q,IAA6B,OAAnBpP,EAAOyjB,SAAqB,eAAgBzjB,IAA+B,IAApBA,EAAO6jB,SAKpG,GAAI,OAAAhR,EAAA,MAAc,CAAC,OAAY,QAAa+Q,GAE1C,eAAUxU,GACVjR,KAAK2lB,kBAAkB1U,QAClB,GAAI,OAAAyD,EAAA,MAAc,CAAC,OAAS,OAAW,OAAW,QAAW+Q,GAAU,CAE5E,IAAItD,EAAWniB,KAAKolB,gBAAgBvjB,GAEpC,GAAIsgB,GAAY,EAAG,CACjB,eAAUlR,GACV,IAAIiU,EAAMllB,KAAKglB,cACXY,EAAQ3U,EAAMsL,SAEdkJ,IAAY,QAAaG,GAASH,IAAY,OAEhD,eAAaP,EAAI,IACRO,IAAY,QAAYG,GAASH,IAAY,OAEtD,eAAaP,EAAIA,EAAInjB,OAAS,IACrB0jB,IAAY,QAAWtD,EAAW,EAE3C,eAAa+C,EAAI/C,EAAW,IACnBsD,IAAY,QAAatD,EAAW+C,EAAInjB,OAAS,GAE1D,eAAamjB,EAAI/C,EAAW,OAKpCwD,kBAAmB,SAA2B1U,GAGxCjR,KAAK8hB,mBAAmB7Q,IAAU,eAAYA,IAAU,eAAoBjR,KAAKwR,MAIrFxR,KAAK+hB,kBAAkB,OAAwB9Q,IAEjD4U,gCAAiC,SAAyC5U,GACnEjR,KAAK8hB,mBAAmB7Q,IAA0B,IAAhBA,EAAM6U,OAC3C9lB,KAAK+hB,kBAAkB,OAA+B9Q,IAG1D8U,sBAAuB,SAA+B9U,GAC/CjR,KAAK8hB,mBAAmB7Q,IAC3BjR,KAAK+hB,kBAAkB,OAA4B9Q,IAGvD+U,qBAAsB,SAA8B/U,GAC7CjR,KAAK8hB,mBAAmB7Q,IAAW,eAAYA,IAClDjR,KAAK+hB,kBAAkB,OAA2B9Q,IAOtDgV,YAAa,WACX,IAAInV,EAAQ9Q,KAERwT,EAAQxT,KAAKyT,cACbT,EAAahT,KAAKgT,WAClB8M,EAAe9f,KAAK8f,aACpBvM,EAAcvT,KAAKuT,YACnBpB,EAAkBnS,KAAKmS,gBACvB1O,EAAIzD,KAAKkK,eACTqZ,EAAqBvjB,KAAKwgB,YAAY,SAA2BxgB,KAAKgb,sBAEtEwI,EAAQ,GAER0C,EAAQlT,EAAaA,IAAe,KAExC,GAAIkT,EAEF1C,EAAM7hB,KAAKukB,OACN,CAML,IAAIpmB,EAAQ,GACRqmB,EAAkBtB,IACtBsB,EAAkBnmB,KAAKwS,kBAAkB2T,GAAmBA,EAAkB,KAC9EnmB,KAAKqS,eAAepQ,SAAQ,SAAUqS,GACpC,IAAIpS,EAAMoS,EAAMpS,IACZ8gB,EAAW6B,EAAgB3iB,GAC3BkkB,EAAoBvB,EAAgB3iB,EAAImkB,eAC5CvmB,EAAMoC,GAAO4O,EAAM0B,kBAAkBwQ,GAAYA,EAAWlS,EAAM0B,kBAAkB4T,GAEpFA,EAAoBD,KAItBnmB,KAAKijB,yBAA2BnjB,EAGhC0jB,EAAM7hB,KAAKme,EAAeA,IAAiBrc,KAE3C+P,EAAMvR,SAAQ,SAAUgW,EAAMkK,GAE5BqB,EAAM7hB,KAAKmP,EAAMqS,eAAelL,EAAMkK,OAGxCqB,EAAM7hB,KAAK4R,EAAcA,IAAgB9P,KAGzC+f,EAAM7hB,KAAKwQ,EAAkBA,IAAoB1O,KAInD,IAAI6iB,EAAW,CACbC,SAAUvmB,KAAK6lB,gCAKfW,YAAaxmB,KAAK+lB,sBAElBU,SAAUzmB,KAAKgmB,sBAIbzC,IACF+C,EAASI,MAAQ1mB,KAAK2lB,kBACtBW,EAASK,QAAU3mB,KAAKwlB,mBAI1B,IAAIoB,EAASnjB,EAAE,OAAQ,CACrB4C,MAAOrG,KAAK8kB,YAAc,KAC1B5hB,MAAO,eAAW,OAAalD,KAAK6mB,QAGpCtgB,GAAI+f,EACJ/B,IAAK,SACJf,GAEH,OAAOoD,O,oCCpOb,oIAMW1jB,EAAQ,CACjB4jB,QAAS,eAAS,QAClBC,YAAa,eAAS,SAMbC,EAAe,aAAIrnB,OAAO,CACnCuD,MAAOA,EACPtD,SAAU,CACRqnB,UAAW,WAGT,OAAOjnB,KAAKiF,UAAYjF,KAAK0jB,OAAO,aAAe,OAGvDnjB,QAAS,CACP2mB,cAAe,WACb,IAAIJ,EAAU9mB,KAAK8mB,QACfC,EAAc/mB,KAAK+mB,YACnBtjB,EAAIzD,KAAKkK,eACTid,EAAW1jB,IACX2jB,EAAiBpnB,KAAKwS,kBAAkB,SAY5C,OAVI4U,GAAkBN,GAAWC,KAC/BI,EAAW1jB,EAAE,UAAW,CACtB6C,MAAO,CACLoT,GAAI1Z,KAAKinB,WAEXzc,SAAU4c,EAAiB,GAAK,eAAWL,EAAaD,GACxD5kB,IAAK,WACJlC,KAAKoG,cAAc,WAGjB+gB,O,uBCzCb,IAAIE,EAAU,EAAQ,QAItB9d,EAAOC,QAAU,SAAUhH,GACzB,GAAoB,iBAATA,GAAuC,UAAlB6kB,EAAQ7kB,GACtC,MAAMwS,UAAU,wBAElB,OAAQxS,I,oCCRV,qNAASxB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAc3M,IAAI+kB,EAAkB,eAAe,QAAS,CAC5Czc,KAAM,OACNyW,aAAc,GACdrQ,MAAO,UAELsW,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBpkB,MAC7BwkB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgBrW,MAI5B/N,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI6lB,GAAa,GAAI,CACjGI,YAAa,eAAS,QAA0B,GAChDC,aAAc,eAAS,QAEvBC,SAAU,eAAS,OAAyB,GAC5CvT,UAAW,eAAS,QAEpBwT,KAAM,eAAS,QAAmB,GAClCC,cAAe,eAAS,QAAmB,GAC3CC,OAAQ,eAAS,QAAmB,GACpCC,YAAa,eAAS,QACtBC,UAAW,eAAS,QAAmB,GACvCC,SAAU,eAAS,QAAmB,GACtCC,KAAM,eAAS,QAAmB,MAC/B,oBAGMC,EAAgB,aAAI5oB,OAAO,CACpC4E,OAAQ,CAACgjB,GACTrkB,MAAOA,EACPS,KAAM,WACJ,IAAInB,EAAQxC,KAAK0nB,GACjB,MAAO,CACLc,WAAY,eAAShmB,GACrBimB,YAAazoB,KAAK0oB,YAAYlmB,KAGlC5C,SAAU,CACR+oB,cAAe,WACb,IAAIP,EAAYpoB,KAAKooB,UACjBvd,EAAO7K,KAAK6K,KACZ+d,EAAmB,UAAT/d,EACVge,EAAmB,UAAThe,EACd,MAAO,CAAC,CAEN,eAAgB+d,EAEhB,yBAA0BR,IAAcQ,IAAYC,EAGpD,eAAgBA,IAAYT,IAAcQ,GACzC5oB,KAAK8oB,cAAe9oB,KAAK+oB,aAE9BC,iBAAkB,WAEhB,OAAO,eAAQ,eAAUhpB,KAAK+nB,SAAU,GAAI,IAE9CkB,aAAc,WACZ,OAAO,eAAgBjpB,KAAKwU,aAGhChE,MAAOrO,EAAgB,GAAIulB,GAAiB,SAAUjX,GACpD,IAAIyY,EAAiB,eAASzY,GAC1B0Y,EAAgBnpB,KAAK0oB,YAAYjY,GAEjCyY,IAAmBlpB,KAAKwoB,YAAcW,IAAkBnpB,KAAKyoB,cAE/DzoB,KAAKopB,gBAELppB,KAAKwoB,WAAaU,EAClBlpB,KAAKyoB,YAAcU,MAGvBtY,QAAS,WAEP7Q,KAAKqpB,qBAAuB,MAE9B7P,QAAS,WAEPxZ,KAAK6Z,IAAI,QAAgC7Z,KAAKopB,gBAEhDtR,cAAe,WACb9X,KAAKopB,iBAEP7oB,QAAS,CACP6oB,cAAe,WACbrR,aAAa/X,KAAKqpB,sBAClBrpB,KAAKqpB,qBAAuB,MAE9BC,YAAa,SAAqB9mB,EAAOyO,GACvC,IAAIsY,EAAQ5oB,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,IAAmBA,UAAU,GAO3E,OANA6B,EAAQ,eAASA,IAEbxC,KAAKipB,cAAkBjpB,KAAKioB,gBAAiBsB,IAC/C/mB,EAAQxC,KAAKwU,UAAUhS,EAAOyO,IAGzBzO,GAETkmB,YAAa,SAAqBlmB,GAYhC,OAXAA,EAAQ,eAASA,GAEbxC,KAAKsoB,OACP9lB,EAAQA,EAAM8lB,QAIZtoB,KAAKkoB,SACP1lB,EAAQ,eAAQA,EAAOA,IAGlBA,GAETgnB,YAAa,SAAqBhnB,GAChC,IAAIsO,EAAQ9Q,KAERupB,EAAQ5oB,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,IAAmBA,UAAU,GACvEqnB,EAAOhoB,KAAKgoB,KAEhB,IAAIA,GAASuB,EAAb,CAMAvpB,KAAKopB,gBAGL,IAAIK,EAAW,WAGb,GAFAjnB,EAAQsO,EAAM4X,YAAYlmB,GAEtBA,IAAUsO,EAAM2X,YAClB3X,EAAM2X,YAAcjmB,EAEpBsO,EAAMrC,MAAMmZ,EAAkBplB,QACzB,GAAIsO,EAAMmY,aAAc,CAS7B,IAAIS,EAAS5Y,EAAM7Q,MAAMC,MAGrBwpB,GAAUlnB,IAAUknB,EAAOlnB,QAC7BknB,EAAOlnB,MAAQA,KAOjBulB,EAAW/nB,KAAKgpB,iBAEhBjB,EAAW,IAAMC,IAASuB,EAC5BvpB,KAAKqpB,qBAAuBxR,WAAW4R,EAAU1B,GAGjD0B,MAGJE,QAAS,SAAiB1Y,GAMxB,IAAIA,EAAMpP,OAAO+nB,UAAjB,CAIA,IAAIpnB,EAAQyO,EAAMpP,OAAOW,MACrBqnB,EAAiB7pB,KAAKspB,YAAY9mB,EAAOyO,IAKtB,IAAnB4Y,GAA4B5Y,EAAMM,iBACpC,eAAUN,EAAO,CACf6Y,aAAa,KAKjB9pB,KAAKwoB,WAAaqB,EAClB7pB,KAAKwpB,YAAYK,GACjB7pB,KAAKyO,MAAM,OAAkBob,MAE/BE,SAAU,SAAkB9Y,GAC1B,IAAIzO,EAAQyO,EAAMpP,OAAOW,MACrBqnB,EAAiB7pB,KAAKspB,YAAY9mB,EAAOyO,IAKtB,IAAnB4Y,GAA4B5Y,EAAMM,iBACpC,eAAUN,EAAO,CACf6Y,aAAa,KAKjB9pB,KAAKwoB,WAAaqB,EAClB7pB,KAAKwpB,YAAYK,GAAgB,GACjC7pB,KAAKyO,MAAM,OAAmBob,KAEhCG,OAAQ,SAAgB/Y,GAGtB,IAAIzO,EAAQyO,EAAMpP,OAAOW,MACrBqnB,EAAiB7pB,KAAKspB,YAAY9mB,EAAOyO,GAAO,IAE7B,IAAnB4Y,IAGF7pB,KAAKwoB,WAAa,eAASxoB,KAAK0oB,YAAYmB,IAG5C7pB,KAAKwpB,YAAYK,GAAgB,IAInC7pB,KAAKyO,MAAM,OAAiBwC,IAE9BgZ,MAAO,WAEAjqB,KAAKkqB,UACR,eAAalqB,KAAKwR,MAGtB2Y,KAAM,WAECnqB,KAAKkqB,UACR,eAAYlqB,KAAKwR,U,kCChQzB,+OAASxQ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAoB3M,IAAI6nB,EAAQ,CAAC,OAAQ,WAAY,QAAS,SAAU,MAAO,MAAO,SAAU,QAAS,QAAS,OAAQ,OAAQ,WAAY,iBAAkB,QAAS,QAE1IlnB,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAmB,QAAgB,QAAiB,QAAgB,GAAI,CAC1NyoB,KAAM,eAAS,QACfC,IAAK,eAAS,QACdC,IAAK,eAAS,QAEdC,QAAS,eAAS,QAAmB,GACrCC,KAAM,eAAS,QACf5f,KAAM,eAAS,OAAkB,QAAQ,SAAUA,GACjD,OAAO,eAAcuf,EAAOvf,SAE3B,QAGM6f,EAA0B,aAAI/qB,OAAO,CAC9C2D,KAAM,OAENiB,OAAQ,CAAC,OAAgB,OAAS,OAAkB,OAAe,OAAgB,OAAe,OAAoB,QACtHrB,MAAOA,EACPtD,SAAU,CACR+qB,UAAW,WAET,IAAI9f,EAAO7K,KAAK6K,KAChB,OAAO,eAAcuf,EAAOvf,GAAQA,EAAO,QAE7C+f,cAAe,WACb,IAAI/f,EAAO7K,KAAK2qB,UACZrnB,EAAOtD,KAAKsD,KACZunB,EAAO7qB,KAAK6qB,KACZX,EAAWlqB,KAAKkqB,SAChB/B,EAAcnoB,KAAKmoB,YACnB7b,EAAWtM,KAAKsM,SAChBie,EAAMvqB,KAAKuqB,IACXD,EAAMtqB,KAAKsqB,IACXG,EAAOzqB,KAAKyqB,KAChB,MAAO,CACL/Q,GAAI1Z,KAAK0jB,SACTpgB,KAAMA,EACNunB,KAAMA,EACNhgB,KAAMA,EACNqf,SAAUA,EACV/B,YAAaA,EACb7b,SAAUA,EACVwb,aAAc9nB,KAAK8nB,cAAgB,KACnCO,SAAUroB,KAAKqoB,UAAYroB,KAAKooB,UAChCmC,IAAKA,EACLD,IAAKA,EACLG,KAAMA,EACNJ,KAAe,aAATxf,EAAsB7K,KAAKqqB,KAAO,KACxC,gBAAiB/d,EAAW,OAAS,KACrC,eAAgBtM,KAAK8qB,sBAGzBC,kBAAmB,WACjB,OAAOnpB,EAAcA,EAAc,GAAI5B,KAAKwG,aAAc,GAAI,CAC5DtG,MAAOF,KAAK2pB,QACZqB,OAAQhrB,KAAK+pB,SACbI,KAAMnqB,KAAKgqB,WAIjBxZ,MAAO,CACLga,QAAS,SAAiB/Z,GACxBzQ,KAAKirB,gBAAgBxa,KAGzB+I,QAAS,WACPxZ,KAAKirB,gBAAgBjrB,KAAKwqB,UAI5BU,YAAa,WAIXlrB,KAAKirB,iBAAgB,IAIvBE,UAAW,WAITnrB,KAAKirB,gBAAgBjrB,KAAKwqB,UAE5B1S,cAAe,WAEb9X,KAAKirB,iBAAgB,IAEvB1qB,QAAS,CACP0qB,gBAAiB,SAAyB1kB,GACxC,IAAIrG,EAAQF,KAAKwR,IAEjB,eAAWjL,EAAIrG,EAAO,QAASF,KAAKorB,cACpC,eAAW7kB,EAAIrG,EAAO,OAAQF,KAAKqrB,aAE9B9kB,GACH,eAAS+kB,SAAU,QAAStrB,KAAKurB,YAGrCH,aAAc,WACZ,eAAQE,SAAU,QAAStrB,KAAKurB,YAElCF,YAAa,WACX,eAASC,SAAU,QAAStrB,KAAKurB,YAEnCA,UAAW,SAAmBta,GAC5B,eAAUA,EAAO,CACf6Y,aAAa,IAEf,eAAY9pB,KAAKwR,OAGrBhO,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAK2oB,cACZriB,MAAOtG,KAAK4qB,cACZpgB,SAAU,CACRhI,MAAOxC,KAAKwoB,YAEdjiB,GAAIvG,KAAK+qB,kBACTxG,IAAK,c,oCClJX,qHAASpiB,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAMpM,IAAIW,EAAQ,CACjBE,QAAS,eAAS,QAA0B,IAInCooB,EAAe,aAAI7rB,OAAO,CACnCuD,MAAOA,EACPtD,SAAU,CACRqF,UAAW,WACT,IAAI7B,EAAUpD,KAAKoD,QAEnB,MAAmB,KAAZA,GAAwBA,GAEjCqoB,gBAAiB,WACf,OAA0B,IAAnBzrB,KAAKiF,WAEdymB,oBAAqB,WACnB,IAAID,EAAkBzrB,KAAKyrB,gBAC3B,OAAOtpB,EAAgB,CACrB,kBAAmBspB,GAClB,mBAAmB3nB,OAAO9D,KAAKoD,UAAWqoB,GAAmBzrB,KAAKiF,gB,kCC1B3E,yMAAS9C,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAIopB,EAAiB,0LAEjBC,EAAkB,SAAyB9f,EAAOC,EAAQ8f,GAC5D,IAAIjgB,EAAMkgB,mBAAmBH,EAAe9nB,QAAQ,OAAQ,eAASiI,IAAQjI,QAAQ,OAAQ,eAASkI,IAASlI,QAAQ,OAAQgoB,IAC/H,MAAO,oCAAoC/nB,OAAO8H,IAIzC1I,EAAQ,eAAsB,CACvC2I,IAAK,eAAS,QACdkgB,MAAO,eAAS,QAAmB,GACnCC,WAAY,eAAS,OAAkB,eACvCC,MAAO,eAAS,QAAmB,GACnCC,OAAQ,eAAS,QAAmB,GACpCC,MAAO,eAAS,QAAmB,GAEnCC,UAAW,eAAS,QAAmB,GACvCrgB,OAAQ,eAAS,QACjBG,KAAM,eAAS,QAAmB,GAClCD,MAAO,eAAS,QAAmB,GAUnCogB,QAAS,eAAS,QAA0B,GAC5CC,MAAO,eAAS,QAChB1gB,IAAK,eAAS,QACd2gB,OAAQ,eAAS,QACjBC,UAAW,eAAS,QAAmB,GACvC1gB,MAAO,eAAS,SACf,SAGQ2gB,EAAoB,aAAI9sB,OAAO,CACxC2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIiJ,EAEAzJ,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZkI,EAAM3I,EAAM2I,IACZD,EAAM1I,EAAM0I,IACZqgB,EAAQ/oB,EAAM+oB,MACdG,EAAYlpB,EAAMkpB,UAClBC,EAAUnpB,EAAMmpB,QAChBvgB,EAAQ,eAAU5I,EAAM4I,QAAU,KAClCC,EAAS,eAAU7I,EAAM6I,SAAW,KACpCS,EAAQ,KACR+f,EAAS,eAAOrpB,EAAMqpB,QAAQhrB,OAAO,QAAU0G,KAAK,KACpDqkB,EAAQ,eAAOppB,EAAMopB,OAAO/qB,OAAO,QAAU0G,KAAK,KA8BtD,OA5BI/E,EAAM6oB,SACHhgB,GAAUD,EACbC,EAASD,GACCA,GAASC,IACnBD,EAAQC,GAGLD,GAAUC,IACbD,EAAQ,EACRC,EAAS,GAIXH,EAAMggB,EAAgB9f,EAAOC,EAAQ7I,EAAM8oB,YAAc,eAEzDO,EAAS,KACTD,EAAQ,MAGNppB,EAAMgJ,KACRM,EAAQ,aACCtJ,EAAM+I,MACfO,EAAQ,cACCtJ,EAAMgpB,SACf1f,EAAQ,UACRyf,GAAQ,GAGHxoB,EAAE,MAAO,eAAUE,EAAM,CAC9B2C,MAAO,CACLsF,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EAAQ,eAASA,GAAS,KACjCC,OAAQA,EAAS,eAASA,GAAU,KACpCwgB,OAAQA,GAAU,KAClBD,MAAOA,GAAS,MAElBjmB,OAAQsG,EAAS,CACf,gBAAiBzJ,EAAMspB,UACvB,YAAatpB,EAAMipB,OAASC,EAC5B,QAASA,EACTC,QAAqB,KAAZA,IAA8B,IAAZA,GAC1BlqB,EAAgBwK,EAAQ,WAAW7I,OAAOuoB,GAAU,eAASA,IAAwB,KAAZA,GAAiBlqB,EAAgBwK,EAAQH,EAAOA,GAAQrK,EAAgBwK,EAAQ,UAAWsf,GAAQtf,U,kCCjHrL,gJAMWzJ,EAAQ,eAAsB,CACvCmE,MAAO,eAAS,QAChBqlB,SAAU,eAAS,OAAkB,OACpC,QAGQC,EAA0B,aAAIhtB,OAAO,CAC9C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SACpB,OAAOtd,EAAEP,EAAMwpB,SAAU,eAAU/oB,EAAM,CACvC0G,YAAa,eACX0W,GAAY,eAAS7d,EAAMmE,Y,kCCrBnC,IAAIulB,EAAgC,EAAQ,QACxC/d,EAAW,EAAQ,QACnBge,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBzjB,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QACjCyjB,EAAqB,EAAQ,QAC7BC,EAAa,EAAQ,QAErB1C,EAAM2C,KAAK3C,IACXC,EAAM0C,KAAK1C,IACX2C,EAAQD,KAAKC,MACbC,EAAuB,4BACvBC,EAAgC,oBAEhCC,EAAgB,SAAUC,GAC5B,YAAc1d,IAAP0d,EAAmBA,EAAK3jB,OAAO2jB,IAIxCV,EAA8B,UAAW,GAAG,SAAUW,EAASC,EAAeC,EAAiBC,GAC7F,IAAIC,EAA+CD,EAAOC,6CACtDC,EAAmBF,EAAOE,iBAC1BC,EAAoBF,EAA+C,IAAM,KAE7E,MAAO,CAGL,SAAiBG,EAAaC,GAC5B,IAAIC,EAAI1kB,EAAuBtJ,MAC3BsH,OAA0BsI,GAAfke,OAA2Ble,EAAYke,EAAYP,GAClE,YAAoB3d,IAAbtI,EACHA,EAASgI,KAAKwe,EAAaE,EAAGD,GAC9BP,EAAcle,KAAK3F,OAAOqkB,GAAIF,EAAaC,IAIjD,SAAUE,EAAQF,GAChB,IACIJ,GAAgDC,GACzB,kBAAjBG,IAA0E,IAA7CA,EAAaxI,QAAQsI,GAC1D,CACA,IAAIK,EAAMT,EAAgBD,EAAeS,EAAQjuB,KAAM+tB,GACvD,GAAIG,EAAIC,KAAM,OAAOD,EAAI1rB,MAG3B,IAAI4rB,EAAKvf,EAASof,GACdI,EAAI1kB,OAAO3J,MAEXsuB,EAA4C,oBAAjBP,EAC1BO,IAAmBP,EAAepkB,OAAOokB,IAE9C,IAAIQ,EAASH,EAAGG,OAChB,GAAIA,EAAQ,CACV,IAAIC,EAAcJ,EAAGK,QACrBL,EAAG/V,UAAY,EAEjB,IAAIqW,EAAU,GACd,MAAO,EAAM,CACX,IAAI9kB,EAASojB,EAAWoB,EAAIC,GAC5B,GAAe,OAAXzkB,EAAiB,MAGrB,GADA8kB,EAAQ/sB,KAAKiI,IACR2kB,EAAQ,MAEb,IAAII,EAAWhlB,OAAOC,EAAO,IACZ,KAAb+kB,IAAiBP,EAAG/V,UAAY0U,EAAmBsB,EAAGvB,EAASsB,EAAG/V,WAAYmW,IAKpF,IAFA,IAAII,EAAoB,GACpBC,EAAqB,EAChB/sB,EAAI,EAAGA,EAAI4sB,EAAQ3sB,OAAQD,IAAK,CACvC8H,EAAS8kB,EAAQ5sB,GAUjB,IARA,IAAIgtB,EAAUnlB,OAAOC,EAAO,IACxBmlB,EAAWzE,EAAIC,EAAIlhB,EAAUO,EAAOiS,OAAQwS,EAAEtsB,QAAS,GACvDitB,EAAW,GAMNC,EAAI,EAAGA,EAAIrlB,EAAO7H,OAAQktB,IAAKD,EAASrtB,KAAK0rB,EAAczjB,EAAOqlB,KAC3E,IAAIC,EAAgBtlB,EAAOulB,OAC3B,GAAIb,EAAmB,CACrB,IAAIc,EAAe,CAACN,GAAShrB,OAAOkrB,EAAUD,EAAUV,QAClCze,IAAlBsf,GAA6BE,EAAaztB,KAAKutB,GACnD,IAAIG,EAAc1lB,OAAOokB,EAAartB,WAAMkP,EAAWwf,SAEvDC,EAAcC,EAAgBR,EAAST,EAAGU,EAAUC,EAAUE,EAAenB,GAE3EgB,GAAYF,IACdD,GAAqBP,EAAErmB,MAAM6mB,EAAoBE,GAAYM,EAC7DR,EAAqBE,EAAWD,EAAQ/sB,QAG5C,OAAO6sB,EAAoBP,EAAErmB,MAAM6mB,KAKvC,SAASS,EAAgBR,EAASvnB,EAAKwnB,EAAUC,EAAUE,EAAeG,GACxE,IAAIE,EAAUR,EAAWD,EAAQ/sB,OAC7BytB,EAAIR,EAASjtB,OACbT,EAAU8rB,EAKd,YAJsBxd,IAAlBsf,IACFA,EAAgBrC,EAASqC,GACzB5tB,EAAU6rB,GAELK,EAAcle,KAAK+f,EAAa/tB,GAAS,SAAUmuB,EAAOC,GAC/D,IAAIC,EACJ,OAAQD,EAAG5nB,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOgnB,EACjB,IAAK,IAAK,OAAOvnB,EAAIS,MAAM,EAAG+mB,GAC9B,IAAK,IAAK,OAAOxnB,EAAIS,MAAMunB,GAC3B,IAAK,IACHI,EAAUT,EAAcQ,EAAG1nB,MAAM,GAAI,IACrC,MACF,QACE,IAAI6B,GAAK6lB,EACT,GAAU,IAAN7lB,EAAS,OAAO4lB,EACpB,GAAI5lB,EAAI2lB,EAAG,CACT,IAAI7f,EAAIud,EAAMrjB,EAAI,IAClB,OAAU,IAAN8F,EAAgB8f,EAChB9f,GAAK6f,OAA8B5f,IAApBof,EAASrf,EAAI,GAAmB+f,EAAG5nB,OAAO,GAAKknB,EAASrf,EAAI,GAAK+f,EAAG5nB,OAAO,GACvF2nB,EAETE,EAAUX,EAASnlB,EAAI,GAE3B,YAAmB+F,IAAZ+f,EAAwB,GAAKA,U,oCCnI1C,W,8DCEe,QACbC,YAAY,EACZC,MAAO,GACPC,QAAS,GACTC,UAAW,GACXC,QAAS,CACPC,WADO,SACIrtB,EAAKstB,GACd,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAC3BC,OACGvwB,IAAI,mBAAoB,CAAEwwB,OAAQL,IAClChW,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,UAG7BC,UATO,SASG/tB,EATH,GASgB,IAAN8W,EAAM,EAANA,GACf,OAAO,IAAIyW,SAAQ,SAACC,EAASC,GAC3BC,OACGvwB,IADH,2BAC2B2Z,IACxBQ,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,UAG7BE,QAjBO,SAiBChuB,EAAKiuB,GACX,OAAO,IAAIV,SAAQ,SAACC,EAASC,GAC3BC,OACGQ,KAAK,mBAAoB,CAAEC,KAAMF,IACjC3W,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,a,iSCvB7B,EAAe,SAAsBxuB,EAAKM,GAC5C,IAAI8R,EAAQ,KA0BZ,OAxBI,eAAS9R,GAEX8R,EAAQ,CACNpS,IAAKA,EACLkgB,MAAO5f,GAEA,eAAWA,GAEpB8R,EAAQ,CACNpS,IAAKA,EACLsS,UAAWhS,GAEJ,eAASA,IAClB8R,EAAQ,eAAM9R,GACd8R,EAAMpS,IAAMoS,EAAMpS,KAAOA,IACN,IAAVM,IAIT8R,EAAQ,CACNpS,IAAKA,IAIFoS,GAKE,EAAkB,SAAyB0c,EAAYxd,GAChE,IAAIpB,EAAS,GA0Bb,GAxBI,eAAQ4e,IAEVA,EAAWzvB,OAAOgV,EAAA,MAAUtU,SAAQ,SAAU0N,GAC5C,GAAI,eAASA,GACXyC,EAAOzQ,KAAK,CACVO,IAAKyN,EACLyS,MAAO,eAAUzS,UAEd,GAAI,eAASA,IAAMA,EAAEzN,KAAO,eAASyN,EAAEzN,KAE5CkQ,EAAOzQ,KAAK,eAAMgO,SACb,GAAI,eAASA,IAAyB,IAAnB,eAAKA,GAAG5N,OAAc,CAE9C,IAAIG,EAAM,eAAKyN,GAAG,GACd2E,EAAQ,EAAapS,EAAKyN,EAAEzN,IAE5BoS,GACFlC,EAAOzQ,KAAK2S,OAOE,IAAlBlC,EAAOrQ,QAAgB,eAAQyR,IAAUA,EAAMzR,OAAS,EAAG,CAC7D,IAAIkvB,EAASzd,EAAM,GACnB,eAAKyd,GAAQhvB,SAAQ,SAAU6R,GACxB,OAAmBA,IACtB1B,EAAOzQ,KAAK,CACVO,IAAK4R,EACLsO,MAAO,eAAUtO,QAOzB,IAAIod,EAAO,GACX,OAAO9e,EAAO7Q,QAAO,SAAUoO,GAC7B,OAAKuhB,EAAKvhB,EAAEzN,OACVgvB,EAAKvhB,EAAEzN,MAAO,EACdyN,EAAEyS,MAAQ,eAASzS,EAAEyS,OAASzS,EAAEyS,MAAQ,eAAUzS,EAAEzN,MAC7C,OCnFb,SAASlB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAc3M,IAAI+kB,EAAkB,eAAe,QAAS,CAC5Czc,KAAM,OACNyW,aAAc,KAEZiG,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBpkB,MAC7BwkB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgBrW,MAI5B,EAAQ,eAASrP,EAAcA,EAAc,GAAI6lB,GAAa,GAAItlB,EAAgB,CAC3FiQ,OAAQ,eAAS,OAAiB,MAElCoB,MAAO,eAAS,OAAiB,IAGjC6P,WAAY,eAAS,SACpBqE,EAAiB,eAAS,OAAiB,OAGnCyJ,EAAa,aAAIxxB,OAAO,CACjC4E,OAAQ,CAACgjB,GACTrkB,MAAO,EACPS,KAAM,WACJ,IAAI6P,EAAQxT,KAAKwT,MACjB,MAAO,CAGLyD,WAAY,eAAQzD,GAASA,EAAMxL,QAAU,KAGjDpI,SAAU,CACRyS,eAAgB,WAGd,OAAO,EAAgBrS,KAAKoS,OAAQpS,KAAKiX,aAE3CqB,kBAAmB,WAKjB,IAAIrV,EAAUjD,KAAKiD,QACnB,OAAOjD,KAAKqS,eAAegC,QAAO,SAAU9R,EAAKoN,GAI/C,GAFApN,EAAIoN,EAAEzN,KAAO,eAAMyN,GAEfA,EAAE6E,UAAW,CAEf,IAAIA,EAAY7E,EAAE6E,UAEd,eAASA,IAAc,eAAWvR,EAAQuR,IAC5CA,EAAYvR,EAAQuR,GACV,eAAWA,KAErBA,OAAY5E,GAIdrN,EAAIoN,EAAEzN,KAAKsS,UAAYA,EAGzB,OAAOjS,IACN,KAELkR,cAAe,WAEb,OAAQzT,KAAK0Y,gBAAkB1Y,KAAK2Y,aAAe3Y,KAAKgX,eAAiBhX,KAAKiX,YAE9E,IAAIjP,SAENiS,QAAS,WAEP,MAAO,CACL1Y,OAAQvB,KAAKoW,YACb+C,OAAQnZ,KAAKqZ,YACbD,SAAUpZ,KAAKsZ,cACfnJ,QAAS,OAAAyI,EAAA,MAAQ,eAAU5Y,KAAKmQ,QAAS,GAAI,GAC7CQ,YAAa,OAAAiI,EAAA,MAAQ,eAAU5Y,KAAK2Q,YAAa,GAAI,GACrDoI,OAAQ/Y,KAAK+Y,UAInBvI,MAAO,CACLgD,MAAO,SAAe/C,GAEpBzQ,KAAKiX,WAAa,eAAQxG,GAAYA,EAASzI,QAAU,IAG3DyL,cAAe,SAAuBhD,EAAUC,GACzC,eAAWD,EAAUC,IACxB1Q,KAAKyO,MAAMmZ,EAAkBnX,IAIjCwJ,QAAS,SAAiBxJ,EAAUC,GAE7B,eAAWD,EAAUC,IACxB1Q,KAAKyO,MAAM,OAA4BgC,KAI7C+I,QAAS,WAEPxZ,KAAKyO,MAAMmZ,EAAkB5nB,KAAKyT,gBAEpClT,QAAS,CAEPye,kBAAmB,SAA2B9c,GAC5C,IAAIoS,EAAQtU,KAAKsY,kBAAkBpW,GAGnC,OAAOoS,EAAQA,EAAME,eAAY5E,O,oCCnIvC,sCAAI0K,EAAJ,oLAEA,SAAStZ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAiB3M,IAAI+kB,EAAkB,eAAe,OAAQ,CAC3Czc,KAAM,OACNyW,cAAc,IAEZiG,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBpkB,MAC7BwkB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgBrW,MAInCmgB,EAAiB,SAAwBC,GAC3C,MAAa,KAATA,GAAe,eAAUA,GACpB,GAGTA,EAAO,eAAUA,EAAM,GAChBA,EAAO,EAAIA,EAAO,IAIvBC,EAAY,SAAmBD,GACjC,MAAa,KAATA,IAAwB,IAATA,KAIf,eAAUA,EAAM,GAAK,MAKhBA,GAIAnuB,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI6lB,GAAa,GAAI,CACjG8J,aAAc,eAAS,OAAkB,SACzCC,YAAa,eAAS,QAAmB,GACzCC,KAAM,eAAS,QAAmB,GAClCptB,QAAS,eAAS,OAAkB,WACjC,QAGMqtB,EAAsB,aAAI/xB,OAAO,CAC1C2D,KAAM,OACNiB,OAAQ,CAACgjB,EAAY,QACrBrkB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACLguB,UAAW,EAEXC,UAAWN,EAAUtxB,KAAK0nB,MAG9BlX,OAAQ8J,EAAS,GAAInY,EAAgBmY,EAAQoN,GAAiB,SAAUjX,GACtEzQ,KAAK2xB,UAAYP,EAAe3gB,GAChCzQ,KAAK4xB,UAAYN,EAAU7gB,MACzBtO,EAAgBmY,EAAQ,aAAa,SAAmB7J,GAC1D,IAAIK,EAAQ9Q,KAEZA,KAAK6xB,yBACL,IAAIR,EAAOrxB,KAAK0nB,GAEZ,eAAU2J,KACZrxB,KAAKyO,MAAM,OAA+BgC,GAEtC4gB,IAAS5gB,GACXzQ,KAAKyO,MAAMmZ,EAAkBnX,GAG3BA,EAAW,GACbzQ,KAAK4xB,WAAY,EACjB5xB,KAAK8xB,mBAAqBja,YAAW,WACnC/G,EAAM6gB,cACL,MAGH3xB,KAAK+Q,WAAU,WACb,gBAAU,WACRD,EAAM8gB,WAAY,YAKxBzvB,EAAgBmY,EAAQ,aAAa,SAAmB7J,GAC1D,IAAI4gB,EAAOrxB,KAAK0nB,GAEXjX,IAAazQ,KAAKwxB,cAAe,eAAUH,IAC9CrxB,KAAKyO,MAAM,QAIR,eAAU4iB,IAASA,IAAS5gB,GAC/BzQ,KAAKyO,MAAMmZ,EAAkBnX,MAE7B6J,GACJzJ,QAAS,WAEP7Q,KAAKuX,cAAgB,KACrB,IAAI8Z,EAAOrxB,KAAK0nB,GAChB1nB,KAAK2xB,UAAYP,EAAeC,GAChCrxB,KAAK4xB,UAAYN,EAAUD,IAE7BvZ,cAAe,WACb9X,KAAK6xB,0BAEPtxB,QAAS,CACPwxB,QAAS,WACP/xB,KAAK6xB,yBACL7xB,KAAK2xB,UAAY,EACjB3xB,KAAK4xB,WAAY,GAEnBC,uBAAwB,WACtB9Z,aAAa/X,KAAK8xB,oBAClB9xB,KAAK8xB,mBAAqB,OAG9BtuB,OAAQ,SAAgBC,GACtB,IAAIuuB,EAASvuB,IAEb,GAAIzD,KAAK4xB,UAAW,CAClB,IAAIJ,EAAcxxB,KAAKwxB,YACnBntB,EAAUrE,KAAKqE,QACf4tB,EAAiBxuB,IAEjB+tB,IAEFS,EAAiBxuB,EAAE,OAAc,CAC/B6C,MAAO,CACL,aAActG,KAAKuxB,cAErBhrB,GAAI,CACFmgB,MAAO1mB,KAAK+xB,UAEb,CAAC/xB,KAAKoG,cAAc,WAGzB4rB,EAASvuB,EAAE,MAAO,CAChB4G,YAAa,QACbhE,MAAOlE,EAAgB,CACrB,oBAAqBqvB,GACpB,SAAS1tB,OAAOO,GAAUA,GAC7BiC,MAAO,CACLN,KAAM,QACN,YAAa,SACb,eAAe,GAEjB9D,IAAKlC,KAAK,SACT,CAACiyB,EAAgBjyB,KAAKoG,kBAG3B,OAAO3C,EAAE,OAAc,CACrBP,MAAO,CACLgvB,QAASlyB,KAAKyxB,OAEf,CAACO,Q,kCClLR,6LAAShxB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAWpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAa,QAAgB,eAAU,OAAW,OAAewK,KAAK,KAAM,UAAW,GAAI,CACvM+lB,UAAW,eAAS,QACpBhkB,QAAS,eAAS,QAAmB,MAClC,QAGMikB,EAAyB,aAAIzyB,OAAO,CAC7C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI2uB,EAEAnvB,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChBuR,EAAgBpvB,EAAMovB,cACtBC,EAAoBrvB,EAAMqvB,kBAC1BC,EAAkBtvB,EAAMsvB,gBACxBC,EAAShvB,IAETP,EAAMmE,QACRorB,EAAShvB,EAAE,OAAY,CACrBP,MAAO,eAAW,OAAYA,MAIlC,IAAIwvB,EAAYjvB,IAShB,OAPIP,EAAMyvB,WACRD,EAAYjvB,EAAE,OAAe,CAC3BP,MAAO,eAAW,OAAeA,GACjCmD,MAAO,CAAC,WAIL5C,EAAEP,EAAM0vB,QAAS,eAAUjvB,EAAM,CACtC0G,YAAa,YACbhE,MAAO,EAAEgsB,EAAQ,CACf,mBAAoBnvB,EAAMiL,SACzBhM,EAAgBkwB,EAAO,MAAMvuB,OAAOwuB,GAAgBA,GAAgBnwB,EAAgBkwB,EAAO,UAAUvuB,OAAOyuB,GAAoBA,GAAoBpwB,EAAgBkwB,EAAO,QAAQvuB,OAAO0uB,GAAkBA,GAAkBH,GAAQnvB,EAAMivB,aAC7O,CAACM,EAAQC,EAAW3R,Q,oCCxD5B,iLAAS/f,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAewK,KAAK,KAAM,YAAa,GAAI,CACjJiB,OAAQ,eAAS,QACjBwlB,YAAa,eAAS,QACtBvlB,WAAY,eAAS,WAClB,QAGMwlB,EAA2B,aAAInzB,OAAO,CAC/C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI2uB,EAEAnvB,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChBgS,EAAkB7vB,EAAM6vB,gBACxBC,EAAsB9vB,EAAM8vB,oBAC5BC,EAAoB/vB,EAAM+vB,kBAC9B,OAAOxvB,EAAEP,EAAMgwB,UAAW,eAAUvvB,EAAM,CACxC0G,YAAa,cACbhE,MAAO,CAACnD,EAAM2vB,aAAcR,EAAQ,GAAIlwB,EAAgBkwB,EAAO,MAAMvuB,OAAOivB,GAAkBA,GAAkB5wB,EAAgBkwB,EAAO,UAAUvuB,OAAOkvB,GAAsBA,GAAsB7wB,EAAgBkwB,EAAO,QAAQvuB,OAAOmvB,GAAoBA,GAAoBZ,IAClR7nB,SAAUuW,EAAW,GAAK,eAAW7d,EAAMoK,WAAYpK,EAAMmK,UAC3D0T,O,oCCtCR,W,oCCAA,sFAKW7d,EAAQ,eAAsB,OAAU,SAMxCiwB,EAAmB,aAAIxzB,OAAO,CACvC2D,KAAM,QACN8vB,QAAS,OACTlwB,MAAOA,EACPtD,SAAU,CACRgF,IAAK,WACH,MAAO,U,oCCjBb,qKAAS5D,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAYpM,IAAIW,EAAQ,CACjBmwB,SAAU,eAAS,QAAmB,GACtCC,WAAY,eAAS,QAAmB,GACxCC,WAAY,eAAS,QAAmB,GACxCzsB,KAAM,eAAS,QAAmB,GAClC0sB,MAAO,eAAS,QAAmB,GACnCC,MAAO,eAAS,QAAmB,GACnCC,iBAAkB,eAAS,QAAmB,GAC9CC,SAAU,eAAS,QAAmB,GACtCC,WAAY,eAAS,QAA0B,GAC/CC,MAAO,eAAS,QAAmB,GAEnC9sB,aAAc,eAAS,QAA0B,GACjDqc,QAAS,eAAS,QAAmB,GACrC0Q,WAAY,eAAS,QACrBpuB,aAAc,eAAS,SAIdquB,EAAqB,aAAIp0B,OAAO,CACzC4E,OAAQ,CAAC,QACTmC,QAAS,WACP,MAAO,CACLE,QAAS5G,OAKb2E,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERuF,aAAc,WACZ,IAAIyuB,EAAa5zB,KAAK4zB,WAEtB,OADAA,EAA4B,KAAfA,GAA2BA,GACjC5zB,KAAKiF,WAAoB2uB,GAElCxuB,eAAgB,WACd,IAAI2B,EAAe/G,KAAK+G,aAExB,OADAA,EAAgC,KAAjBA,GAA6BA,GACrC/G,KAAKiF,WAAoB8B,GAElCitB,eAAgB,WACd,IAAI7uB,EAAenF,KAAKmF,aACxB,MAAO,CAACnF,KAAKoF,eAAiB,wBAA0B,IAAqB,IAAjBD,EAAwB,mBAAqBA,EAAe,oBAAoBrB,OAAO9D,KAAK4zB,YAAc,IAAIryB,OAAO,SAEnL0yB,cAAe,WACb,IAAI7uB,EAAiBpF,KAAKoF,eAC1B,OAAOA,IAAmB,eAAUA,GAAkB,CACpD8uB,UAAW9uB,GACT,IAEN+uB,aAAc,WACZ,IAAIV,EAAQzzB,KAAKyzB,MACb/tB,EAAe1F,KAAK0F,aAExB,OADA+tB,EAAQzzB,KAAKo0B,cAAgBX,EAAQA,GAASzzB,KAAKyT,cAAc1R,OAAS,IAAM/B,KAAK8S,aAC9E,CACP9S,KAAK8zB,WACL,CACE,gBAAiB9zB,KAAKojB,QACtB,cAAeqQ,EACf,aAAczzB,KAAK8G,KACnB,iBAAkB9G,KAAKqzB,SACvB,mBAAoBrzB,KAAKszB,WACzB,WAAYtzB,KAAK6zB,MAEjBQ,OAAQr0B,KAAK2zB,SACb,gBAAiB3zB,KAAKwzB,MACtB,sBAAuBxzB,KAAKuzB,WAC5B,6BAA8BvzB,KAAK0zB,kBAClChuB,EAAe,GAAG5B,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAO4B,GAAgB,GACpF1F,KAAK0rB,oBACL1rB,KAAKqb,yBAEPiZ,WAAY,WACV,IAAI9gB,EAAQxT,KAAKyT,cACbuD,EAAgBhX,KAAKgX,cACrB5E,EAASpS,KAAKqS,eACdiJ,EAAuBtb,KAAKsb,qBAE5BiZ,EAAM,EAAEv0B,KAAKkG,SAAW,IAAI,oBAAqBlG,KAAKinB,WAAW1lB,OAAO,QAAU0G,KAAK,MAAQ,KAC/FusB,EAAYx0B,KAAKo0B,cAAgB,GAAK,CACxC,YAAap0B,KAAK8S,aAAe,OAAS,QAC1C,gBAAiB,eAASV,EAAOrQ,QACjC,mBAAoBwyB,GAElBE,EAAWjhB,GAASwD,GAAiBA,EAAcjV,OAASyR,EAAMzR,OAAS,eAASiV,EAAcjV,QAAU,KAChH,OAAOH,EAAcA,EAAcA,EAAc,CAG/C,gBAAiB6yB,GAChBz0B,KAAKkG,SAAU,GAAI,CAEpBwT,GAAI1Z,KAAK0jB,SACT1d,KAAM,SACLwuB,GAAYlZ,KAGnB9X,OAAQ,SAAgBC,GACtB,IAAIuwB,EAAiBh0B,KAAKg0B,eACtB9M,EAAgBlnB,KAAKknB,cACrBwN,EAAiB10B,KAAK00B,eACtBC,EAAc30B,KAAK20B,YACnB1O,EAAcjmB,KAAKimB,YACnB2O,EAAc50B,KAAK40B,YACnBzuB,EAAW,GAEXnG,KAAKo0B,cACPjuB,EAASxE,KAAK3B,KAAKoG,kBAGnBD,EAASxE,KAAKulB,EAAgBA,IAAkB,MAEhD/gB,EAASxE,KAAK+yB,EAAiBA,IAAmB,MAElDvuB,EAASxE,KAAKgzB,EAAcA,IAAgB,MAE5CxuB,EAASxE,KAAKskB,EAAcA,IAAgB,MAE5C9f,EAASxE,KAAKizB,EAAcA,IAAgB,OAI9C,IAAIC,EAASpxB,EAAE,QAAS,CACtB4G,YAAa,gBACbhE,MAAOrG,KAAKm0B,aACZ7tB,MAAOtG,KAAKs0B,WACZpyB,IAAK,WACJiE,EAAS5E,OAAO,SAEnB,OAAOyyB,EAAejyB,OAAS,EAAI0B,EAAE,MAAO,CAC1C4C,MAAO2tB,EACPc,MAAO90B,KAAKi0B,cACZ/xB,IAAK,QACJ,CAAC2yB,IAAWA,M,kCCtJnB,SAAS7zB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAJ3M,0KAOO,IAAIwyB,EAAyB,gBACzBC,EAAwB,cACxBC,EAAyB,eAGzBC,EAAqB,CAACH,EAAwBC,EAAuBC,GAAwB5gB,QAAO,SAAUzK,EAAQ1H,GAC/H,OAAON,EAAcA,EAAc,GAAIgI,GAAS,GAAIzH,EAAgB,GAAID,GAAK,MAC5E,IAGQizB,EAAe,CAAC,IAAK,MAChC,SAAU,WACV,uCAAwC,wCAAyC,0CAA2C,gBAAiB,kBAAmB,kBAAmB,oBAAqB,6CAA6CltB,KAAK,M,oCCnB1P,2GAAS9F,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAOpM,IAAIW,EAAQ,eAAsB,CACvC+I,MAAO,eAAS,QAAmB,GACnCrH,IAAK,eAAS,OAAkB,OAChCic,cAAe,eAAS,OAAkB,QACzC,SAGQuU,EAA2B,aAAIz1B,OAAO,CAC/C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChBF,EAAgB3d,EAAM2d,cACtBrU,EAA0B,QAAlBqU,EAA0B,QAA4B,WAAlBA,EAA6B,MAE7EA,EACA,OAAOpd,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0G,YAAa,cACbhE,MAAOlE,EAAgB,CACrB,oBAAqBe,EAAM+I,OAC1B,cAAcnI,OAAO0I,GAAQA,KAC9BuU,O,oCC/BR,kGAKW7d,EAAQ,eAAsB,CACvC0B,IAAK,eAAS,OAAkB,QAC/B,SAGQywB,EAA0B,aAAI11B,OAAO,CAC9C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SACpB,OAAOtd,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0G,YAAa,eACX0W,O,oCCpBR,oIAMW7d,EAAQ,CACjBoyB,UAAW,eAAS,QAAmB,GAGvCC,eAAgB,eAAS,QAEzB9vB,YAAa,eAAS,QACtB+vB,WAAY,eAAS,QACrBC,aAAc,eAAS,SAIdC,EAAa,aAAI/1B,OAAO,CACjCuD,MAAOA,EACP3C,QAAS,CACPo1B,kBAAmB,WACjB,IAAIlyB,EAAIzD,KAAKkK,eAEb,OAAIlK,KAAKwS,kBAAkB,QAClB/O,EAAE,OAAQ,CACf4C,MAAOrG,KAAKw1B,YAAc,KAC1BtyB,MAAO,CACLuC,YAAazF,KAAKyF,aAAezF,KAAKwF,aAAe,MAEvDtD,IAAK,mBACJlC,KAAKoG,cAAc,OAAuB,CAC3CoN,MAAOxT,KAAKyT,cAAczL,QAC1BoK,OAAQpS,KAAKqS,eAAerK,QAC5ByK,QAASzS,KAAKqS,eAAetQ,UAI1B0B,KAETmxB,YAAa,WAEX,OAAO50B,KAAKs1B,UAAYt1B,KAAK20B,aAAY,GAAQ30B,KAAK21B,yB,kCC1C5D,kCAiBO,IAAIC,EAAa,SAAoBlhB,EAAOmhB,GAKjD,OAAOnhB,EAAMtM,KAAI,SAAUsU,EAAGb,GAC5B,MAAO,CAACA,EAAOa,MACd7I,KAAK,SAAU6I,EAAGC,GACnB,OAAO3c,KAAK0c,EAAE,GAAIC,EAAE,KAAOD,EAAE,GAAKC,EAAE,IACpCvQ,KAAKypB,IAAYztB,KAAI,SAAU+R,GAC/B,OAAOA,EAAE,Q,2DC3Bb,uKAASnZ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAIuzB,EAAmB,CAAC,QAAS,MAAO,UAIpCC,EAAsB,gBAAQ,SAAUC,EAAYC,GAEtD,OADAA,EAAO,eAAK,eAASA,IACdA,EAAO,eAAU,CAAC,WAAYD,EAAYC,GAAM10B,OAAO,QAAU0G,KAAK,MAAQ,QAInFiuB,EAA2B,gBAAQ,SAAUvO,GAC/C,OAAO,eAAUA,EAAK9jB,QAAQ,OAAQ,QAIpCsyB,EAAkB,GAGXC,EAAgB,WAEzB,IAAIC,EAAe,iBAAyBhiB,QAAO,SAAUnR,EAAO8yB,GAElE,OADA9yB,EAAM,eAAe8yB,EAAY,SAAW,eAAS,QAC9C9yB,IACN,eAAO,OAIV,OAFAizB,EAAkB,eAAKE,GAEhB,eAAsB,eAASz0B,EAAcA,EAAc,GAAIy0B,GAAe,GAAI,CACvFC,aAAc,eAAS,OAAkB,MAAM,SAAU9zB,GACvD,OAAO,eAAc,eAAOszB,EAAkB,UAAW,SAAU,WAAYtzB,MAEjF+zB,OAAQ,eAAS,OAAkB,MAAM,SAAU/zB,GACjD,OAAO,eAAc,eAAOszB,EAAkB,UAAW,UAAWtzB,MAEtEg0B,OAAQ,eAAS,OAAkB,MAAM,SAAUh0B,GACjD,OAAO,eAAc,eAAOszB,EAAkB,WAAY,WAAYtzB,MAExEi0B,UAAW,eAAS,QAAmB,GACvC7xB,IAAK,eAAS,OAAkB,UAC7B,UAMI8xB,EAAO,CAChBpzB,KAAM,QACNC,YAAY,EAEZ,YAME,cAFOvD,KAAKkD,MACZlD,KAAKkD,MAAQkzB,IACNp2B,KAAKkD,OAGdM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIizB,EAEAzzB,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChByV,EAAStzB,EAAMszB,OACfD,EAASrzB,EAAMqzB,OACfD,EAAepzB,EAAMozB,aAErBM,EAAY,GAWhB,OAVAT,EAAgBl0B,SAAQ,SAAU0lB,GAChC,IAAIkP,EAAId,EAAoBG,EAAyBvO,GAAOzkB,EAAMykB,IAE9DkP,GACFD,EAAUj1B,KAAKk1B,MAGnBD,EAAUj1B,MAAMg1B,EAAkB,CAChC,aAAczzB,EAAMuzB,WACnBt0B,EAAgBw0B,EAAiB,eAAe7yB,OAAO0yB,GAASA,GAASr0B,EAAgBw0B,EAAiB,mBAAmB7yB,OAAOyyB,GAASA,GAASp0B,EAAgBw0B,EAAiB,iBAAiB7yB,OAAOwyB,GAAeA,GAAeK,IACzOlzB,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0G,YAAa,MACbhE,MAAOuwB,IACL7V,M,mCClGR,IAAI+V,EAAI,EAAQ,QACZC,EAAgB,EAAQ,QACxBC,EAAkB,EAAQ,QAC1BC,EAAsB,EAAQ,QAE9BC,EAAa,GAAGjvB,KAEhBkvB,EAAcJ,GAAiB31B,OAC/Bg2B,EAAgBH,EAAoB,OAAQ,KAIhDH,EAAE,CAAEj1B,OAAQ,QAASw1B,OAAO,EAAMC,OAAQH,IAAgBC,GAAiB,CACzEnvB,KAAM,SAAcsvB,GAClB,OAAOL,EAAW5nB,KAAK0nB,EAAgBh3B,WAAqB4P,IAAd2nB,EAA0B,IAAMA,O,kCCflF,qKAASv2B,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CACvCs0B,wBAAyB,eAAS,QAClCC,qBAAsB,eAAS,SAC9B,SAMQC,EAAsB,aAAI/3B,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERugB,QAAS,WACP,OAAO,GAGTnb,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAItBC,eAAgB,WACd,OAAO,GAKTC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtBiyB,kBAAmB,WACjB,OAAO33B,KAAKy3B,sBAAwBz3B,KAAKw3B,yBAE3CI,WAAY,WACV,OAAOh2B,EAAc,CACnBoE,KAAM,YACLhG,KAAKkG,UAEV2xB,WAAY,WACV,IAAIJ,EAAuBz3B,KAAKy3B,qBAChC,OAAOA,EAAuB71B,EAAcA,EAAc,GAAI61B,GAAuB,GAAI,CACvF7yB,IAAK,UACF,KAGTpB,OAAQ,SAAgBC,GACtB,IAAIE,EAAO,CACTT,MAAOlD,KAAK63B,WACZvxB,MAAOtG,KAAK43B,YAYd,OATI53B,KAAK23B,mBAEPh0B,EAAK4C,GAAKvG,KAAKw3B,yBAA2B,GAC1C7zB,EAAKm0B,SAAW93B,KAAKwG,aAGrB7C,EAAK4C,GAAKvG,KAAKwG,YAGV/C,EAAEzD,KAAK23B,kBAAoB,mBAAqB,QAASh0B,EAAM3D,KAAKoG,qB,4DCvGhE,QACbwpB,YAAY,EACZC,MAAO,GACPC,QAAS,GACTC,UAAW,GACXC,QAAS,CACP+H,cADO,SACOn1B,EAAKstB,GACjB,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAC3BC,OACGvwB,IAAI,yBAA0B,CAAEwwB,OAAQL,IACxChW,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,UAG7BsH,aATO,SASMp1B,EATN,GASmB,IAAN8W,EAAM,EAANA,GAClB,OAAO,IAAIyW,SAAQ,SAACC,EAASC,GAC3BC,OACGvwB,IADH,iCACiC2Z,IAC9BQ,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,UAG7BuH,aAjBO,WAkBL,OAAO,IAAI9H,SAAQ,SAACC,EAASC,GAC3BC,OACGvwB,IAAI,yBACJma,MAAK,SAAAsW,GAAQ,OAAIJ,EAAQI,MACzBC,OAAM,SAAAC,GAAK,OAAIL,EAAOK,a,yCC7BjC,IAAIltB,EAAS,WAAa,IAAIwG,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAAC7D,MAAM,CAAC,UAAU,KAAK,CAAC6D,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,YAAY,+DAA+D/D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,QAAQ,CAACH,EAAIkuB,GAAG,aAAa/tB,EAAG,WAAW,CAACE,YAAY,8CAA8C/D,MAAM,CAAC,IAAM0D,EAAImuB,OAAOtI,MAAMuI,UAAUC,MAAQ,MAAQ,MAAM,QAAUruB,EAAIsuB,eAAe,WAAY,GAAOC,MAAM,CAAC/1B,MAAOwH,EAAW,QAAEwuB,SAAS,SAAUC,GAAMzuB,EAAImG,QAAQsoB,GAAKC,WAAW,aAAavuB,EAAG,WAAW,CAAC7D,MAAM,CAAC,QAAU,UAAU,GAAK,CAAEhD,KAAM,sBAAsB,CAAC0G,EAAIkuB,GAAG,mBAAmB,GAAG/tB,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,MAAM,CAACE,YAAY,iDAAiD,CAACF,EAAG,eAAe,CAACE,YAAY,sBAAsB/D,MAAM,CAAC,YAAc,aAAaiyB,MAAM,CAAC/1B,MAAOwH,EAAe,YAAEwuB,SAAS,SAAUC,GAAMzuB,EAAI2uB,YAAYF,GAAKC,WAAW,iBAAiBvuB,EAAG,WAAW,CAACE,YAAY,wBAAwB/D,MAAM,CAAC,IAAM0D,EAAImuB,OAAOtI,MAAMuI,UAAUC,MAAQ,MAAQ,MAAM,QAAUruB,EAAI4uB,cAAc,YAAc,iBAAiB/rB,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,kBAAkB8V,GAAG,SAASuM,GACztC,IAAInC,EAAQmC,EAAInC,MAChB,MAAO,CAACjY,EAAG,OAAO,CAACE,YAAY,iCAAiC,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG2X,GAAO,YAAYmW,MAAM,CAAC/1B,MAAOwH,EAAgB,aAAEwuB,SAAS,SAAUC,GAAMzuB,EAAI8uB,aAAaL,GAAKC,WAAW,mBAAmB,MAAM,IAAI,GAAGvuB,EAAG,UAAU,CAACoa,IAAI,sBAAsBla,YAAY,oBAAoB/D,MAAM,CAAC,MAAQ0D,EAAI+tB,cAAc,WAAa,GAAG,OAAS/tB,EAAI+uB,aAAa,cAAc,KAAK,UAAU/uB,EAAImP,OAAO,aAAa,GAAG,aAAa,4BAA4B,YAAYnP,EAAIgvB,eAAezyB,GAAG,CAAC,gBAAgB,SAASiI,GAAQxE,EAAImP,OAAO3K,GAAQ,iBAAiB,SAASA,GAAQxE,EAAImP,OAAO3K,GAAQ,kBAAkB,SAASA,GAAQxE,EAAIgvB,cAAcxqB,GAAQ,mBAAmB,SAASA,GAAQxE,EAAIgvB,cAAcxqB,IAAS3B,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,sBAAsB8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,eAAe,CAACE,YAAY,UAAU/D,MAAM,CAAC,KAAO,sBAAsB2yB,OAAM,GAAM,CAAC/2B,IAAI,WAAW8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,SAAS,CAACE,YAAY,mBAAmB/D,MAAM,CAAC,GAAK,CAAEhD,KAAM,uBAAwBitB,OAAQ,CAAE7W,GAAI/V,EAAKsU,KAAKyB,OAAQ,CAAC1P,EAAIkuB,GAAG,KAAKluB,EAAIS,GAAG9G,EAAKnB,OAAO,UAAU,CAACN,IAAI,sBAAsB8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,WAAW,CAAC7D,MAAM,CAAC,GAAM,eAAkB3C,EAAKsU,KAAO,GAAG,KAAO,KAAK,QAAW,SAAYjO,EAAIkvB,mCAAmCv1B,EAAKsU,KAAKkhB,eAAsB,UAAK,CAAChvB,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO0D,EAAIkvB,mCAAmCv1B,EAAKsU,KAAKkhB,eAAeh2B,SAAS,GAAGgH,EAAG,YAAY,CAAC7D,MAAM,CAAC,OAAU,eAAkB3C,EAAKsU,KAAO,GAAG,UAAY,QAAQ,CAAC9N,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG9G,EAAKsU,KAAKkhB,eAAe,OAAOhvB,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,aAAaluB,EAAIS,GAAG9G,EAAKsU,KAAKmhB,SAAS,OAAOjvB,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,cAAcluB,EAAIS,GAAG9G,EAAKsU,KAAKohB,SAAS,YAAY,CAACn3B,IAAI,eAAe8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,UAAU,CAAC7D,MAAM,CAAC,iBAAiB,UAAUuG,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,QAAQ8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,WAAW,CAAC7D,MAAM,CAAC,KAAO,KAAK,IAAM3C,EAAKsU,KAAKqhB,OAAO,KAAOtvB,EAAI9B,WAAWvE,EAAKsU,KAAKshB,OAAOj2B,MAAM,QAAW,SAAY0G,EAAIwvB,2BAA2B71B,EAAKsU,KAAKkhB,oBAAsBF,OAAM,IAAO,MAAK,IAAO,CAAC9uB,EAAG,OAAO,CAACE,YAAY,wCAAwC,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG9G,EAAKsU,KAAKshB,OAAOj2B,MAAM,OAAO6G,EAAG,QAAQ,CAACE,YAAY,cAAc,CAACL,EAAIkuB,GAAGluB,EAAIS,GAAG9G,EAAKsU,KAAKshB,OAAOE,sBAAsB,CAACv3B,IAAI,mBAAmB8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,OAAO,CAACE,YAAY,eAAe,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG9G,EAAKnB,OAAO,UAAU,CAACN,IAAI,gBAAgB8V,GAAG,SAASrU,GAAM,MAAO,CAAiB,IAAfA,EAAKnB,MAAa,CAAC2H,EAAG,UAAU,CAAC7D,MAAM,CAAC,KAAO,GAAG,QAAU,kBAAkB,CAAC0D,EAAIkuB,GAAG,aAAa,CAACluB,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG9G,EAAKnB,OAAO,SAAS,CAACN,IAAI,gBAAgB8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,eAAe,CAACE,YAAY,iBAAiB/D,MAAM,CAAC,GAAM,eAAkB3C,EAAKsU,KAAO,GAAI,aAAc,KAAO,WAAW,KAAO,QAAQ9N,EAAG,YAAY,CAACE,YAAY,iBAAiB/D,MAAM,CAAC,MAAQ,eAAe,OAAU,eAAkB3C,EAAKsU,KAAO,GAAI,gBAAiB9N,EAAG,eAAe,CAACE,YAAY,OAAO/D,MAAM,CAAC,GAAM,eAAkB3C,EAAKsU,KAAO,GAAI,gBAAiB,KAAO,UAAU,KAAO,MAAM1R,GAAG,CAAC,MAAQ,SAASiI,GAAQ,OAAOxE,EAAI0vB,QAAQ/3B,KAAK,CAAE2B,KAAM,uBAAwBitB,OAAQ,CAAE7W,GAAI/V,EAAKsU,KAAKyB,UAAWvP,EAAG,YAAY,CAAC7D,MAAM,CAAC,MAAQ,kBAAkB,OAAU,eAAkB3C,EAAKsU,KAAO,GAAI,mBAAoB9N,EAAG,aAAa,CAAC7D,MAAM,CAAC,QAAU,OAAO,eAAe,MAAM,WAAW,GAAG,MAAQ0D,EAAImuB,OAAOtI,MAAMuI,UAAUC,OAAOxrB,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,iBAAiB8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,eAAe,CAACE,YAAY,yBAAyB/D,MAAM,CAAC,KAAO,mBAAmB,KAAO,UAAU2yB,OAAM,IAAO,MAAK,IAAO,CAAC9uB,EAAG,kBAAkB,CAACA,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,kBAAkB6D,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACL,EAAIkuB,GAAG,eAAe,GAAG/tB,EAAG,kBAAkB,CAAC7D,MAAM,CAAC,GAAK,CAAEhD,KAAM,oBAAqBitB,OAAQ,CAAE7W,GAAI/V,EAAKsU,KAAKyB,OAAS,CAACvP,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,cAAc6D,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACL,EAAIkuB,GAAG,WAAW,GAAG/tB,EAAG,kBAAkB,CAACA,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,eAAe6D,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACL,EAAIkuB,GAAG,aAAa,GAAG/tB,EAAG,kBAAkB,CAACA,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,cAAc6D,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACL,EAAIkuB,GAAG,gBAAgB,IAAI,IAAI,UAAU/tB,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,YAAY,4EAA4E/D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,OAAO,CAACE,YAAY,cAAc,CAACL,EAAIkuB,GAAG,WAAWluB,EAAIS,GAAGT,EAAI2vB,SAASrkB,MAAM,OAAOtL,EAAIS,GAAGT,EAAI2vB,SAASC,IAAI,OAAO5vB,EAAIS,GAAGT,EAAI2vB,SAASE,IAAI,gBAAgB1vB,EAAG,QAAQ,CAACE,YAAY,0EAA0E/D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,eAAe,CAACE,YAAY,oBAAoB/D,MAAM,CAAC,aAAa0D,EAAI8vB,cAAc,WAAW9vB,EAAImG,QAAQ,eAAe,GAAG,cAAc,GAAG,aAAa,YAAY,aAAa,aAAatD,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,YAAY8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,kBAAkB,KAAO,UAAU2yB,OAAM,GAAM,CAAC/2B,IAAI,YAAY8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,mBAAmB,KAAO,UAAU2yB,OAAM,KAAQV,MAAM,CAAC/1B,MAAOwH,EAAe,YAAEwuB,SAAS,SAAUC,GAAMzuB,EAAI2G,YAAY8nB,GAAKC,WAAW,kBAAkB,IAAI,IAAI,IAAI,IACrwK9tB,EAAkB,G,yPCIP,SAASmvB,IAEtB,IAAMC,EAAQC,wBAERC,EAAsB3V,iBAAI,MAG1BwU,EAAe,CACnB,CAAE72B,IAAK,KAAMkgB,MAAO,IAAK3D,UAAU,GACnC,CAAEvc,IAAK,gBAAiBuc,UAAU,GAClC,CAAEvc,IAAK,SAAUuc,UAAU,GAC3B,CAAEvc,IAAK,QAASuc,UAAU,EAAMjK,UAAW,SAAApU,GAAG,iBAAQA,KACtD,CAAE8B,IAAK,aAAcuc,UAAU,GAC/B,CAAEvc,IAAK,UAAWuc,UAAU,GAC5B,CAAEvc,IAAK,YAEHiO,EAAUoU,iBAAI,IACduV,EAAgBvV,iBAAI,GACpB5T,EAAc4T,iBAAI,GAClB+T,EAAiB,CAAC,GAAI,GAAI,GAAI,KAC9BK,EAAcpU,iBAAI,IAClBpL,EAASoL,iBAAI,MACbyU,EAAgBzU,kBAAI,GACpBuU,EAAevU,iBAAI,MAEnBoV,EAAW/5B,uBAAS,WACxB,IAAMu6B,EAAkBD,EAAoB13B,MAAQ03B,EAAoB13B,MAAMyU,WAAWlV,OAAS,EAClG,MAAO,CACLuT,KAAMnF,EAAQ3N,OAASmO,EAAYnO,MAAQ,IAAM23B,EAAkB,EAAI,GACvEP,GAAIzpB,EAAQ3N,OAASmO,EAAYnO,MAAQ,GAAK23B,EAC9CN,GAAIC,EAAct3B,UAIhB43B,EAAc,WAClBF,EAAoB13B,MAAMmX,WAG5BnJ,mBAAM,CAACG,EAAaR,EAASwoB,EAAaG,IAAe,WACvDsB,OAGF,IAAMrC,EAAgB,SAACn1B,EAAK41B,GAC1B6B,OACGC,SAAS,4BAA6B,CACrCC,EAAG5B,EAAYn2B,MACf2N,QAASA,EAAQ3N,MACjBg4B,KAAM7pB,EAAYnO,MAClB2W,OAAQA,EAAO3W,MACf4W,SAAU4f,EAAcx2B,MACxBi4B,OAAQ3B,EAAat2B,QAEtB0X,MAAK,SAAAsW,GAAY,MACYA,EAAS7sB,KAA7B+2B,EADQ,EACRA,SAAUC,EADF,EACEA,MAElBnC,EAASkC,GACTZ,EAAct3B,MAAQm4B,KAEvBlK,OAAM,WACLuJ,EAAM,CACJjvB,UAAW6vB,OACX13B,MAAO,CACLmE,MAAO,gCACPlE,KAAM,oBACNkB,QAAS,gBAUb60B,EAAqC,SAAAuB,GACzC,MAAe,oBAAXA,EAAqC,CAAEp2B,QAAS,UAAWlB,KAAM,gBACtD,SAAXs3B,EAA0B,CAAEp2B,QAAS,UAAWlB,KAAM,mBAC3C,eAAXs3B,EAAgC,CAAEp2B,QAAS,OAAQlB,KAAM,uBAC9C,UAAXs3B,EAA2B,CAAEp2B,QAAS,UAAWlB,KAAM,YAC5C,SAAXs3B,EAA0B,CAAEp2B,QAAS,YAAalB,KAAM,YAC7C,aAAXs3B,EAA8B,CAAEp2B,QAAS,SAAUlB,KAAM,YACtD,CAAEkB,QAAS,YAAalB,KAAM,UAGjCq2B,EAA6B,SAAAiB,GACjC,MAAe,oBAAXA,EAAqC,UAC1B,SAAXA,EAA0B,SACf,eAAXA,EAAgC,YACrB,UAAXA,EAA2B,UAChB,SAAXA,EAA0B,OACf,aAAXA,EAA8B,UAC3B,WAGT,MAAO,CACL1C,gBACAgB,eACA5oB,UACAQ,cACAmpB,gBACAH,WACArB,iBACAK,cACAxf,SACA6f,gBACAkB,sBAEApB,eAEAI,qCACAM,6BAEAY,e,gBCwKJ,GACEt3B,WAAY,CACV4J,MAAJ,OACIgqB,KAAJ,OACImE,KAAJ,OACInQ,WAAJ,OACIoQ,QAAJ,OACI/a,OAAJ,OACIe,OAAJ,OACInS,QAAJ,OACIosB,MAAJ,OACIC,OAAJ,OACIC,UAAJ,OACIC,cAAJ,OACI7qB,YAAJ,OACI8qB,SAAJ,OAEIC,QAAJ,KAEEC,MAnBF,WAoBI,IAAJ,gBACIC,QAAQC,IAAI,QAAhB,WAESlB,EAAT,mDAGI,OAAJ,iBAAI,EAAJ,WACMiB,QAAQC,IAAI,aACRlB,EAAV,iDAGI,IAAJ,GACA,aACA,QACA,OACA,kBACA,YAjBA,EAuCA,IAlBA,EArBA,EAqBA,cACA,EAtBA,EAsBA,aACA,EAvBA,EAuBA,QACA,EAxBA,EAwBA,YACA,EAzBA,EAyBA,cACA,EA1BA,EA0BA,SACA,EA3BA,EA2BA,eACA,EA5BA,EA4BA,YACA,EA7BA,EA6BA,OACA,EA9BA,EA8BA,cACA,EA/BA,EA+BA,oBAEA,EAjCA,EAiCA,aAEA,EAnCA,EAmCA,YAEA,EArCA,EAqCA,mCACA,EAtCA,EAsCA,2BAGI,MAAO,CACLtC,cAAN,EACMgB,aAAN,EACM5oB,QAAN,EACMQ,YAAN,EACMmpB,cAAN,EACMH,SAAN,EACMrB,eAAN,EACMK,YAAN,EACMxf,OAAN,EACM6f,cAAN,EACMkB,oBAAN,EAEMpB,aAAN,EAEMsB,YAAN,EAEMxB,cAAN,EAEM1wB,WAAN,OACMgxB,mCAAN,EACMM,2BAAN,KChXkY,I,kCCS9XzuB,EAAY,eACd,EACAvH,EACAoH,GACA,EACA,KACA,WACA,MAIa,aAAAG,E,2CCpBf,0GAAIuP,EAAJ,wNAEA,SAAStZ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAuB3M,IAAI+kB,EAAkB,eAAe,QAAS,CAC5Czc,KAAM,OACNyW,aAAc,KAGdka,UAAW,SAAmBh5B,GAC5B,SAAK,eAAOA,IAAU,eAAUA,EAAO,GAAK,KAC1C,eAAK,oDAAqD,UACnD,MAMT+kB,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBpkB,MAC7BwkB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgBrW,MAInCwqB,EAAqB,EAErBC,EAAgB,EAGhBC,EAAgB,SAAuBC,EAAatrB,GACtD,OAAO,eAAYA,GAAe,SAAUurB,EAAG/5B,GAC7C,MAAO,CACLomB,OAAQ0T,EAAc95B,EACtBg6B,QAAS,UAMXC,EAAgB,SAAuBv5B,GACzC,IAAIw5B,EAAQ,eAAUx5B,IAAU,EAChC,OAAOw5B,EAAQ,EAAIN,EAAgBM,GAIjCC,EAAsB,SAA6B77B,EAAKkQ,GAC1D,IAAIkqB,EAAO,eAAUp6B,IAAQ,EAC7B,OAAOo6B,EAAOlqB,EAAgBA,EAAgBkqB,EAAO,EAAI,EAAIA,GAK3D0B,EAAa,SAAoBjrB,GACnC,GAAIA,EAAMwU,UAAY,OAOpB,OALA,eAAUxU,EAAO,CACfkrB,sBAAsB,IAGxBlrB,EAAMmrB,cAAc1V,SACb,GAKAxjB,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI6lB,GAAa,GAAI,CACjGjb,MAAO,eAAS,OAAkB,QAClC6vB,UAAW,eAAS,OAAkB,cACtCnS,SAAU,eAAS,QAAmB,GACtCoS,cAAe,eAAS,QACxBC,aAAc,eAAS,OAAkB,KAEzCC,WAAY,eAAS,QACrBC,YAAa,eAAS,QAAmB,GACzCC,UAAW,eAAS,OAAkB,KAEtCC,aAAc,eAAS,QAAmB,GAC1CC,mBAAoB,eAAS,QAAmB,GAChDC,eAAgB,eAAS,OAAkB,oBAC3CC,cAAe,eAAS,OAAkB,mBAC1CC,cAAe,eAAS,OAAkB,mBAC1CC,UAAW,eAAS,OAA2B,cAC/CC,cAAe,eAAS,OAAkB,uBAC1CC,UAAW,eAAS,QACpBC,WAAY,eAAS,QAAmB,GACxCC,SAAU,eAAS,OAAkB,KAErCpB,MAAO,eAAS,OAAyBN,GAEzC,SAAUl5B,GACR,QAAI,eAAUA,EAAO,GAAK,KACxB,eAAK,iDAAkD,UAChD,MAKX66B,UAAW,eAAS,QACpBC,SAAU,eAAS,OAAkB,KAErCC,UAAW,eAAS,QACpBC,MAAO,eAAS,QAAmB,GACnCC,UAAW,eAAS,QACpBC,SAAU,eAAS,OAAkB,KAErCC,KAAM,eAAS,WACZ,cAGMplB,EAAkB,aAAI5Y,OAAO,CACtC4E,OAAQ,CAACgjB,EAAY,QACrBrkB,MAAOA,EACPS,KAAM,WAEJ,IAAIgN,EAAc,eAAU3Q,KAAK0nB,GAAkB,GAEnD,OADA/W,EAAcA,EAAc,EAAIA,GAAe,EACxC,CACLA,YAAaA,EACbC,mBAAoB,EACpBgtB,WAAYlC,IAGhB97B,SAAU,CACRi+B,QAAS,WACP,IAAIF,EAAO39B,KAAK29B,KAChB,OAAOA,EAAO,cAAc75B,OAAO65B,GAAQ,IAE7CG,UAAW,WACT,IAAItxB,EAAQxM,KAAKwM,MAEjB,MAAc,WAAVA,EACK,yBACY,QAAVA,GAA6B,UAAVA,EACrB,sBACY,SAAVA,EAGF,cAGF,IAETuxB,WAAY,WACV,OAAO/9B,KAAKw9B,MAAQ,qBAAuB,IAE7CQ,oBAAqB,WACnB,OAAO/B,EAAoBj8B,KAAK2Q,YAAa3Q,KAAK4Q,qBAEpDqtB,iBAAkB,WAEhB,IAAIjC,EAAQh8B,KAAK49B,WACbttB,EAAgBtQ,KAAK4Q,mBACrBD,EAAc3Q,KAAKg+B,oBACnBrB,EAAe38B,KAAK28B,aACpBF,EAAcz8B,KAAKy8B,YACnBU,EAAan9B,KAAKm9B,WAClBe,GAAgB,EAChBC,GAAe,EACfC,EAAgBpC,EAChBJ,EAAc,EAEdtrB,GAAiB0rB,EAEnBoC,EAAgB9tB,EACPK,EAAcqrB,EAAQ,GAAKA,EAAQP,GACvCkB,IAAgBQ,IACnBgB,GAAe,EACfC,EAAgBpC,GAASS,EAAc,EAAI,IAG7C2B,EAAgB,eAAQA,EAAepC,IAC9B1rB,EAAgBK,EAAc,EAAIqrB,GAASA,EAAQP,GACvDkB,IAAgBF,IACnByB,GAAgB,EAChBE,EAAgBpC,GAASmB,EAAa,EAAI,IAG5CvB,EAActrB,EAAgB8tB,EAAgB,IAG1CpC,EAAQP,IACV2C,EAAgBpC,GAASW,EAAe,EAAI,GAC5CuB,IAAoBvB,IAAgBF,GACpC0B,IAAmBxB,IAAgBQ,IAGrCvB,EAAcjrB,EAAc,eAAUytB,EAAgB,IAMpDxC,EAAc,GAChBA,EAAc,EACdsC,GAAgB,GACPtC,EAActrB,EAAgB8tB,IACvCxC,EAActrB,EAAgB8tB,EAAgB,EAC9CD,GAAe,GAGbD,GAAiBzB,GAAeb,EAAc,IAChDwC,GAAgC,EAChCxC,EAAc,EACdsC,GAAgB,GAGlB,IAAIG,EAAiBzC,EAAcwC,EAAgB,EAkBnD,OAhBID,GAAgBhB,GAAckB,EAAiB/tB,EAAgB,IACjE8tB,GAAiCC,IAAmB/tB,EAAgB,EAAI,EAAI,EAC5E6tB,GAAe,GAIbnC,GAASP,IACPgB,GAA+B,IAAhBb,EACjBwC,EAAgB,eAAQA,EAAgB,EAAG9tB,EAAe0rB,EAAQ,GACzDmB,GAAc7sB,IAAkBsrB,EAAcwC,EAAgB,IACvExC,EAAc,eAAQA,EAAc,EAAG,GACvCwC,EAAgB,eAAQ9tB,EAAgBsrB,EAAc,EAAGtrB,EAAe0rB,EAAQ,KAIpFoC,EAAgB,eAAQA,EAAe9tB,EAAgBsrB,EAAc,GAC9D,CACLsC,cAAeA,EACfC,aAAcA,EACdC,cAAeA,EACfxC,YAAaA,IAGjB0C,SAAU,WAER,IAAIC,EAAwBv+B,KAAKi+B,iBAC7BG,EAAgBG,EAAsBH,cACtCxC,EAAc2C,EAAsB3C,YACpCjrB,EAAc3Q,KAAKg+B,oBAEnBQ,EAAQ7C,EAAcC,EAAawC,GAKvC,GAAII,EAAMz8B,OAAS,EAAG,CACpB,IAAI2Z,EAAM/K,EAAcirB,EAEpBE,EAAU,oBAEd,GAAY,IAARpgB,EAEF,IAAK,IAAI5Z,EAAI,EAAGA,EAAI08B,EAAMz8B,OAAQD,IAChC08B,EAAM18B,GAAGg6B,QAAUA,OAEhB,GAAIpgB,IAAQ8iB,EAAMz8B,OAAS,EAEhC,IAAK,IAAI08B,EAAK,EAAGA,EAAKD,EAAMz8B,OAAS,EAAG08B,IACtCD,EAAMC,GAAI3C,QAAUA,MAEjB,CAEL,IAAK,IAAI4C,EAAM,EAAGA,EAAMhjB,EAAM,EAAGgjB,IAE/BF,EAAME,GAAK5C,QAAUA,EAGvB,IAAK,IAAI6C,EAAMH,EAAMz8B,OAAS,EAAG48B,EAAMjjB,EAAM,EAAGijB,IAE9CH,EAAMG,GAAK7C,QAAUA,GAK3B,OAAO0C,IAGXhuB,OAAQ8J,EAAS,GAAInY,EAAgBmY,EAAQoN,GAAiB,SAAUjX,EAAUC,GAC5ED,IAAaC,IACf1Q,KAAK2Q,YAAcsrB,EAAoBxrB,EAAUzQ,KAAK4Q,wBAEtDzO,EAAgBmY,EAAQ,eAAe,SAAqB7J,EAAUC,GACpED,IAAaC,GAEf1Q,KAAKyO,MAAMmZ,EAAkBnX,EAAW,EAAIA,EAAW,SAEvDtO,EAAgBmY,EAAQ,SAAS,SAAe7J,EAAUC,GACxDD,IAAaC,IACf1Q,KAAK49B,WAAa7B,EAActrB,OAEhC6J,GACJzJ,QAAS,WACP,IAAIC,EAAQ9Q,KAGZA,KAAK49B,WAAa7B,EAAc/7B,KAAKg8B,OACrCh8B,KAAK+Q,WAAU,WAEbD,EAAMH,YAAcG,EAAMH,YAAcG,EAAMF,mBAAqBE,EAAMF,mBAAqBE,EAAMH,gBAGxGpQ,QAAS,CACPq+B,aAAc,SAAsB3tB,GAClC,IAAIwU,EAAUxU,EAAMwU,QAChBlJ,EAAWtL,EAAMsL,SAGjBvc,KAAK6+B,QAKLpZ,IAAY,QAAaA,IAAY,QACvC,eAAUxU,EAAO,CACf6Y,aAAa,IAEfvN,EAAWvc,KAAK8+B,aAAe9+B,KAAK++B,aAC3BtZ,IAAY,QAAcA,IAAY,SAC/C,eAAUxU,EAAO,CACf6Y,aAAa,IAEfvN,EAAWvc,KAAKg/B,YAAch/B,KAAKi/B,eAGvCC,WAAY,WAEV,OAAO,eAAU,gCAAiCl/B,KAAKwR,KAAKjQ,QAAO,SAAU49B,GAC3E,OAAO,eAAUA,OAGrBztB,aAAc,WACZ,IAAIP,EAASnR,KAGbA,KAAK+Q,WAAU,WACb,IAAIouB,EAAMhuB,EAAO+tB,aAAaE,MAAK,SAAU/Z,GAC3C,OAAO,eAAU,eAAQA,EAAI,iBAAkB,KAAOlU,EAAO6sB,uBAG1D,eAAamB,IAEhBhuB,EAAO2tB,iBAIbA,WAAY,WACV,IAAI5mB,EAASlY,KAGbA,KAAK+Q,WAAU,WACb,IAAIouB,EAAMjnB,EAAOgnB,aAAaE,MAAK,SAAU/Z,GAC3C,OAAQ,eAAWA,MAGrB,eAAa8Z,OAGjBH,UAAW,WACT,IAAIK,EAASr/B,KAGbA,KAAK+Q,WAAU,WACb,IAAIouB,EAAME,EAAOH,aAAaI,UAAUF,MAAK,SAAU/Z,GACrD,OAAQ,eAAWA,MAGrB,eAAa8Z,OAGjBJ,UAAW,WACT,IAAIQ,EAASv/B,KAGbA,KAAK+Q,WAAU,WACb,IAAIyuB,EAAUD,EAAOL,aAEjBrjB,EAAQ2jB,EAAQja,QAAQ,kBAExB1J,EAAQ,IAAM,eAAW2jB,EAAQ3jB,EAAQ,KAC3C,eAAa2jB,EAAQ3jB,EAAQ,QAInCojB,UAAW,WACT,IAAIQ,EAASz/B,KAGbA,KAAK+Q,WAAU,WACb,IAAIyuB,EAAUC,EAAOP,aAEjBrjB,EAAQ2jB,EAAQja,QAAQ,kBAExB1J,EAAQ2jB,EAAQz9B,OAAS,IAAM,eAAWy9B,EAAQ3jB,EAAQ,KAC5D,eAAa2jB,EAAQ3jB,EAAQ,SAKrCrY,OAAQ,SAAgBC,GACtB,IAAIi8B,EAAS1/B,KAETkqB,EAAWlqB,KAAKkqB,SAChB8S,EAAYh9B,KAAKg9B,UACjBX,EAAYr8B,KAAKq8B,UACjBwC,EAAQ7+B,KAAK6+B,MACbvuB,EAAgBtQ,KAAK4Q,mBACrBD,EAAc3Q,KAAKg+B,oBACnB2B,EAAc3/B,KAAKs+B,SAASl2B,KAAI,SAAUqH,GAC5C,OAAOA,EAAEyY,UAEP0X,EAAyB5/B,KAAKi+B,iBAC9BC,EAAgB0B,EAAuB1B,cACvCC,EAAeyB,EAAuBzB,aACtC0B,EAAsB,SAAf7/B,KAAKwM,MACZszB,EAAW,GAEXC,EAAe,SAAsB7uB,GACvC,OAAOA,IAAeP,GAGpBqvB,EAAgBhgC,KAAK2Q,YAAc,EAEnCsvB,EAAa,SAAoBC,EAAQ7D,EAAW8D,EAASC,EAASC,EAAUC,EAAUp+B,GAC5F,IAAIq+B,EAAarW,GAAY6V,EAAaO,IAAaN,GAAiBE,EAAS,GAAKA,EAAS5vB,EAC3FY,EAAagvB,EAAS,EAAI,EAAIA,EAAS5vB,EAAgBA,EAAgB4vB,EACvEj6B,EAAQ,CACVikB,SAAUqW,EACV/F,KAAMtpB,EACN2K,MAAO3K,EAAa,GAElBsvB,EAAcd,EAAOt5B,cAAc+5B,EAASl6B,IAAU,eAASm6B,IAAY38B,IAC3Eg9B,EAASh9B,EAAE88B,EAAa,OAAS1B,EAAQ,OAAQ,SAAU,CAC7Dx0B,YAAa,YACbhE,MAAO,CACL,eAAgBw4B,IAAU0B,GAAcV,GAE1C38B,MAAOq9B,IAAe1B,EAAQ,GAAKa,EAAO7tB,UAAUquB,GACpD55B,MAAO,CACLN,KAAM64B,EAAQ,KAAO,WACrBh0B,KAAMg0B,GAAS0B,EAAa,KAAO,SACnCnc,SAAUmc,GAAc1B,EAAQ,KAAO,KACvC,aAAcxC,EACd,gBAAiBqD,EAAOxvB,cAAgB,KACxC,gBAAiBqwB,EAAa,OAAS,MAEzCh6B,GAAIg6B,EAAa,GAAK,CACpB,SAAU,SAAetvB,GACvByuB,EAAO1uB,QAAQC,EAAOivB,IAExBvZ,QAASuV,IAEV,CAACsE,IACJ,OAAO/8B,EAAE,KAAM,CACbvB,IAAKA,EACLmI,YAAa,YACbhE,MAAO,CAAC,CACN6jB,SAAUqW,EACV,YAAaV,EACb,SAAUA,IAAShB,IAAU0B,GAC5BF,GACH/5B,MAAO,CACLN,KAAM64B,EAAQ,KAAO,eACrB,cAAe0B,EAAa,OAAS,OAEtC,CAACE,KAIFC,EAAe,SAAsBC,GACvC,OAAOl9B,EAAE,KAAM,CACb4G,YAAa,YACbhE,MAAO,CAAC,WAAY,oBAAqBw5B,EAAO,YAAc,GAAIH,EAAOpD,eACzEh2B,MAAO,CACLN,KAAM,aAER9D,IAAK,YAAY4B,OAAO68B,EAAS,OAAS,UACzC,CAACl9B,EAAE,OAAQ,CACZ4G,YAAa,aACZ,CAACq1B,EAAOt5B,cAAc,SAA4B,eAASs5B,EAAOnD,eAAiB94B,SAIpFm9B,EAAiB,SAAwBpG,EAAM9e,GACjD,IAAIxK,EAAaspB,EAAKtS,OAClB2Y,EAASd,EAAa7uB,KAAgB8uB,EAEtCta,EAAWwE,EAAW,KAAO2W,GAAUb,GAAyB,IAARtkB,EAAY,IAAM,KAC1EpV,EAAQ,CACVN,KAAM64B,EAAQ,KAAO,gBACrBh0B,KAAMg0B,GAAS3U,EAAW,KAAO,SACjC,gBAAiBA,EAAW,OAAS,KACrC,gBAAiBwV,EAAOxvB,cAAgB,KACxC,aAAc,eAAgB8sB,GAE9BA,EAAU9rB,GAAc,GAAGpN,OAAO,eAAWk5B,GAAaA,IAAcA,EAAW,KAAKl5B,OAAOoN,GAC/F,eAAgB2tB,EAAQ,KAAOgC,EAAS,OAAS,QACjD,eAAgBhC,GAASgC,EAAS,OAAS,KAC3C,gBAAiBhC,EAAQ,KAAO3tB,EAChC,eAAgB2tB,EAAQ,KAAOvuB,EAE/B8T,SAAUya,EAAQ,KAAOnZ,GAEvBob,EAAa,eAASpB,EAAO/tB,SAAST,IACtCjL,EAAQ,CACVu0B,KAAMtpB,EACN2K,MAAO3K,EAAa,EACpB6vB,QAASD,EACTD,OAAQA,EACR3W,SAAUA,GAERuW,EAASh9B,EAAEymB,EAAW,OAAS2U,EAAQ,OAAQ,SAAU,CAC3D37B,MAAOgnB,IAAa2U,EAAQ,GAAKa,EAAO7tB,UAAUX,GAClD7G,YAAa,YACbhE,MAAO,CACL,eAAgBw4B,IAAU3U,GAAY2V,GAExCv5B,MAAOA,EACPC,GAAI2jB,EAAW,GAAK,CAClB,SAAU,SAAejZ,GACvByuB,EAAO1uB,QAAQC,EAAOC,IAExByV,QAASuV,IAEV,CAACwD,EAAOt5B,cAAc,OAAgBH,IAAU66B,IACnD,OAAOr9B,EAAE,KAAM,CACb4G,YAAa,YACbhE,MAAO,CAAC,CACN6jB,SAAUA,EACV2W,OAAQA,EACR,YAAahB,EACb,SAAUA,IAAShB,IAAU3U,GAC5BsQ,EAAKsB,QAAS4D,EAAOnC,WACxBj3B,MAAO,CACLN,KAAM64B,EAAQ,KAAO,gBAEvB38B,IAAK,QAAQ4B,OAAOoN,IACnB,CAACuvB,KAKFO,EAAgBv9B,IAEfzD,KAAKy8B,aAAgBz8B,KAAK48B,qBAC7BoE,EAAgBf,EAAW,EAAGjgC,KAAK68B,eAAgB,OAAsB78B,KAAK08B,UAAW18B,KAAKw8B,WAAY,EAAG,0BAG/GsD,EAASn+B,KAAKq/B,GAEdlB,EAASn+B,KAAKs+B,EAAWtvB,EAAc,EAAG3Q,KAAKi9B,cAAe,OAAqBj9B,KAAK09B,SAAU19B,KAAKy9B,UAAW,EAAG,yBAErHqC,EAASn+B,KAAK3B,KAAKy8B,aAAkC,IAAnBkD,EAAY,GAAWiB,EAAe,CACtE1Y,OAAQ,GACP,GAAKzkB,KAERq8B,EAASn+B,KAAKu8B,EAAgBwC,GAAa,GAASj9B,KAEpDzD,KAAKs+B,SAASr8B,SAAQ,SAAUu4B,EAAM9e,GACpC,IAAIulB,EAAS/C,GAAiBwB,EAAOjD,aAAkC,IAAnBkD,EAAY,GAAW,EAAI,EAC/EG,EAASn+B,KAAKi/B,EAAepG,EAAM9e,EAAMulB,OAG3CnB,EAASn+B,KAAKw8B,EAAeuC,GAAa,GAAQj9B,KAElDq8B,EAASn+B,KAAK3B,KAAKm9B,YAAcwC,EAAYA,EAAY59B,OAAS,KAAOuO,EAAgBswB,EAAe,CACtG1Y,OAAQ5X,IACN,GAAK7M,KAETq8B,EAASn+B,KAAKs+B,EAAWtvB,EAAc,EAAG3Q,KAAK+8B,cAAe,OAAqB/8B,KAAKs9B,SAAUt9B,KAAKq9B,UAAW/sB,EAAe,yBAGjI,IAAI4wB,EAAez9B,IAEdzD,KAAKm9B,YAAen9B,KAAK48B,qBAC5BsE,EAAejB,EAAW3vB,EAAetQ,KAAK88B,cAAe,OAAqB98B,KAAKo9B,SAAUp9B,KAAKk9B,UAAW5sB,EAAe,yBAGlIwvB,EAASn+B,KAAKu/B,GAEd,IAAIC,EAAc19B,EAAE,KAAM,CACxB4G,YAAa,aACbhE,MAAO,CAAC,eAAgBrG,KAAK69B,QAAS79B,KAAK89B,UAAW99B,KAAK+9B,YAC3Dz3B,MAAO,CACLN,KAAM64B,EAAQ,KAAO,UACrB,gBAAiB3U,EAAW,OAAS,QACrC,aAAc2U,EAAQ,KAAOxC,GAAa,MAG5C91B,GAAIs4B,EAAQ,GAAK,CACflY,QAAS3mB,KAAK4+B,cAEhBra,IAAK,MACJub,GAEH,OAAIjB,EACKp7B,EAAE,MAAO,CACd6C,MAAO,CACL,gBAAiB4jB,EAAW,OAAS,KACrC,cAAeA,EAAW,OAAS,QACnC,aAAc2U,GAAQxC,GAAoB,OAE3C,CAAC8E,IAGCA,M,yDCpnBX,4GAIWj+B,EAAQ,eAAsB,CACvCk+B,MAAO,eAAS,QAAmB,IAClC,gBAGQC,EAAkB,aAAI1hC,OAAO,CACtCuD,MAAOA,EACPtD,SAAU,CACR0hC,OAAQ,WACN,OAAQthC,KAAKohC,W,kCCbnB,4GAIWl+B,EAAQ,eAAsB,CACvCy6B,KAAM,eAAS,SACd,gBAGQ4D,EAAgB,aAAI5hC,OAAO,CACpCuD,MAAOA,EACPtD,SAAU,CACRkpB,cAAe,WACb,MAAO,CAAC9oB,KAAK29B,KAAO,gBAAgB75B,OAAO9D,KAAK29B,MAAQ,W,kCCb9D,8DAEI6D,EAAkB,CAAC,KAAM,KAAM,MAGxBC,EAAc,SAAqBxwB,GAE5C,IAAKA,IAAUA,EAAMpP,OAEnB,OAAO,EAGT,IAAIwjB,EAAKpU,EAAMpP,OAEf,GAAIwjB,EAAG6E,WAAqD,IAAzCsX,EAAgBjc,QAAQF,EAAGC,SAC5C,OAAO,EAIT,GAAI,eAAQ,iBAAkBD,GAC5B,OAAO,EAGT,IAAIjD,EAAuB,UAAfiD,EAAGC,QAAsBD,EAAK,eAAQ,QAASA,GAI3D,GAAIjD,EAAO,CACT,IAAIsf,EAAW,eAAQtf,EAAO,OAC1BliB,EAAQwhC,EAAW,eAAQA,GAAY,eAAO,0BAA2Btf,GAE7E,GAAIliB,IAAUA,EAAMgqB,SAClB,OAAO,EAOX,OAAO,eAAQ7E,EAAI,U,kCCvCrB,+LAASrkB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAe3M,IAAIo/B,EAAoB,CAAC,OAAQ,QAAS,MAAO,SAAU,WAAY,WAGnEC,EAAoB,SAA2B/2B,EAAMmrB,EAAYxzB,GACnE,IAAIq/B,EAAYh3B,EAEhB,IAAI,eAAkBrI,KAAoB,IAAVA,EAWhC,OAPIwzB,IACF6L,GAAa,IAAI/9B,OAAOkyB,IAMb,QAATnrB,GAA6B,KAAVrI,IAA0B,IAAVA,GAMvCq/B,GAAa,IAAI/9B,OAAOtB,GACjB,eAAUq/B,IALR,eAAUA,IASjBC,EAAyB,eAAQF,GAEjCG,EAAoB,eAAO,MAGpB3L,EAAgB,WAEzB,IAAI4L,EAAc,iBAAyBzgC,OAAO,QAE9C0gC,EAAgBD,EAAY3tB,QAAO,SAAUnR,EAAO8yB,GAEtD,OADA9yB,EAAM8yB,GAAc,eAAS,QACtB9yB,IACN,eAAO,OAENg/B,EAAmBF,EAAY3tB,QAAO,SAAUnR,EAAO8yB,GAEzD,OADA9yB,EAAM,eAAe8yB,EAAY,WAAa,eAAS,QAChD9yB,IACN,eAAO,OAENi/B,EAAkBH,EAAY3tB,QAAO,SAAUnR,EAAO8yB,GAExD,OADA9yB,EAAM,eAAe8yB,EAAY,UAAY,eAAS,QAC/C9yB,IACN,eAAO,OASV,OANA6+B,EAAoB,eAAO,eAAO,MAAO,CACvCK,IAAK,eAAKH,GACVhB,OAAQ,eAAKiB,GACbG,MAAO,eAAKF,KAGP,eAAsB,eAASvgC,EAAcA,EAAcA,EAAcA,EAAc,GAAIqgC,GAAgBC,GAAmBC,GAAkB,GAAI,CAEzJG,UAAW,eAAS,OAAkB,MAAM,SAAU9/B,GACpD,OAAO,eAAcm/B,EAAmBn/B,MAG1C4/B,IAAK,eAAS,QAAmB,GAEjCnM,KAAM,eAAS,QACfgL,OAAQ,eAAS,QACjBoB,MAAO,eAAS,QAChBz9B,IAAK,eAAS,OAAkB,UAC7B,SAMIi2B,EAAO,CAChBv3B,KAAM,OACNC,YAAY,EAEZ,YAME,cAFOvD,KAAKkD,MAELlD,KAAKkD,MAAQkzB,KAGtB5yB,OAAQ,SAAgBC,EAAGC,GACzB,IAAIizB,EAEAzzB,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChBkV,EAAO/yB,EAAM+yB,KACbgL,EAAS/9B,EAAM+9B,OACfoB,EAAQn/B,EAAMm/B,MACdC,EAAYp/B,EAAMo/B,UAClB1L,EAAY,GAEhB,IAAK,IAAI/rB,KAAQk3B,EAIf,IAFA,IAAIQ,EAAQR,EAAkBl3B,GAErB/I,EAAI,EAAGA,EAAIygC,EAAMxgC,OAAQD,IAAK,CAErC,IAAI+0B,EAAIiL,EAAuBj3B,EAAM03B,EAAMzgC,GAAG+B,QAAQgH,EAAM,IAAK3H,EAAMq/B,EAAMzgC,KAEzE+0B,GACFD,EAAUj1B,KAAKk1B,GAKrB,IAAI2L,EAAgB5L,EAAUzb,MAAK,SAAU0mB,GAC3C,OAAO,OAAatsB,KAAKssB,MAM3B,OAJAjL,EAAUj1B,MAAMg1B,EAAkB,CAEhCyL,IAAKl/B,EAAMk/B,MAAQI,IAAkBvM,GACpC9zB,EAAgBw0B,EAAiB,OAAO7yB,OAAOmyB,GAAOA,GAAO9zB,EAAgBw0B,EAAiB,UAAU7yB,OAAOm9B,GAASA,GAAS9+B,EAAgBw0B,EAAiB,SAAS7yB,OAAOu+B,GAAQA,GAAQlgC,EAAgBw0B,EAAiB,cAAc7yB,OAAOw+B,GAAYA,GAAY3L,IAC5QlzB,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0C,MAAOuwB,IACL7V,M,kCChJR,wEAAI0hB,EAAuBnoB,EAA3B,oIAEA,SAAStZ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAc3M,IAAImgC,EAA0B,WAC1BC,EAA2B,QAA0BD,EACrDE,EAAuB,OACvBC,EAAwB,QAA0BD,EAE3C1/B,EAAQ,gBAAuBu/B,EAAwB,CAIhEK,SAAU,eAAS,CAAC,OAAa,OAAkB,QAAmB,gBACtEC,gBAAiB,eAAS,OAAyB,IAInDC,UAAW,eAAS,CAAC,OAAa,OAAkB,SACpDC,YAAa,eAAS,QACtBC,MAAO,eAAS,OAAgC,KAC/C/gC,EAAgBsgC,EAAuBC,EAAyB,eAAS,QAAmB,IAASvgC,EAAgBsgC,EAAuB,oBAAqB,eAAS,OAAwB,SAAUtgC,EAAgBsgC,EAAuB,KAAM,eAAS,SAAoBtgC,EAAgBsgC,EAAuB,SAAU,eAAS,QAAmB,IAAStgC,EAAgBsgC,EAAuB,iBAAkB,eAAS,QAAmB,IAAStgC,EAAgBsgC,EAAuB,SAAU,eAAS,OAAyB,IAAKtgC,EAAgBsgC,EAAuB,YAAa,eAAS,OAAkB,QAAStgC,EAAgBsgC,EAAuBG,EAAsB,eAAS,QAAmB,IAASzgC,EAAgBsgC,EAAuB,SAAU,eAAS,CAAC,OAAa,OAAY,OAAoB,OAAkB,aAAmB7yB,GAAW,IAAQzN,EAAgBsgC,EAAuB,QAAS,eAAS,SAAoBtgC,EAAgBsgC,EAAuB,WAAY,eAAS,OAAwB,gBAAiBtgC,EAAgBsgC,EAAuB,UAAW,eAAS,SAAoBA,GAAwB,SAG7oCtH,EAAwB,aAAIx7B,OAAO,CAC5C2D,KAAM,QACNiB,OAAQ,CAAC,QACTI,cAAc,EACdzB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACLiuB,UAAW5xB,KAAK4iC,GAChBO,WAAY,GACZC,aAAc,KAGlBxjC,SAAU,CAERyjC,aAAc,WACZ,OAAOzhC,EAAc,CACnByF,MAAOrH,KAAKmjC,WACZpC,QAAS/gC,KAAKojC,aACdE,aAActjC,KAAKujC,gBAClB,eAAKvjC,KAAK6mB,OAAQ,CAAC,WAAY,kBAAmB,YAAa,cAAe,QAAS,oBAAqB,KAAM,SAAU,SAAU,YAAa,SAAU,SAAU,WAAY,UAAW6b,MAGnMc,qBAAsB,WACpB,IAAIn8B,EAAQrH,KAAKqH,MACb05B,EAAU/gC,KAAK+gC,QACnB,MAAO,CACL15B,MAAOA,EACP05B,QAASA,KAIfvwB,OAAQ8J,EAAS,GAAInY,EAAgBmY,EAAQsoB,GAAsB,SAAUnyB,EAAUC,GACjFD,IAAaC,GAAYD,IAAazQ,KAAK4xB,WAAa5xB,KAAKyjC,YAC3DhzB,EACFzQ,KAAKyjC,UAAUpS,OAGfrxB,KAAKyjC,UAAUC,gBAGjBvhC,EAAgBmY,EAAQooB,GAAyB,SAAUjyB,GACzDA,EACFzQ,KAAK2jC,YAEL3jC,KAAK4jC,cAELzhC,EAAgBmY,EAAQ,aAAa,SAAmB7J,GAE1DzQ,KAAKyO,MAAMo0B,EAAuBpyB,MAChCtO,EAAgBmY,EAAQ,gBAAgB,WAC1C,IAAIxJ,EAAQ9Q,KAEZA,KAAK+Q,WAAU,WACTD,EAAM2yB,WACR3yB,EAAM2yB,UAAUI,WAAW/yB,EAAMuyB,oBAGnClhC,EAAgBmY,EAAQ,wBAAwB,WAClDta,KAAK+Q,UAAU/Q,KAAK8jC,kBAClBxpB,GACJzJ,QAAS,WAEP7Q,KAAKyjC,UAAY,MAEnBM,QAAS,WAGP/jC,KAAK+Q,UAAU/Q,KAAK8jC,gBAEtBhsB,cAAe,WAEb9X,KAAK4Z,KAAK,OAAiB5Z,KAAKgkC,QAChChkC,KAAK4Z,KAAK,OAAkB5Z,KAAKikC,SACjCjkC,KAAK4Z,KAAK,OAAoB5Z,KAAK2jC,WACnC3jC,KAAK4Z,KAAK,OAAmB5Z,KAAK4jC,UAE9B5jC,KAAKyjC,YACPzjC,KAAKyjC,UAAUS,WACflkC,KAAKyjC,UAAY,OAGrBjqB,QAAS,WACP,IAAIrI,EAASnR,KAKbA,KAAK+Q,WAAU,WAEb,IAAIozB,EAAYhzB,EAAOizB,eAGvBjzB,EAAO2yB,gBAGP,IAAIO,EAAU,eAAWlzB,IAAW,eAAWA,EAAOlO,SAElDqhC,EAAWnzB,EAAOsyB,UAAY,IAAIU,EAAU,CAC9CvgC,OAAQuN,EAERozB,SAAUF,QAAWz0B,IAGvB00B,EAAST,WAAW1yB,EAAOkyB,cAE3BiB,EAASzqB,IAAI,OAAiB1I,EAAOqzB,QACrCF,EAASzqB,IAAI,OAAkB1I,EAAOszB,SACtCH,EAASzqB,IAAI,OAAiB1I,EAAOuzB,QACrCJ,EAASzqB,IAAI,OAAmB1I,EAAOwzB,UACvCL,EAASzqB,IAAI,OAAqB1I,EAAOyzB,YACzCN,EAASzqB,IAAI,OAAoB1I,EAAO0zB,WAEpC1zB,EAAOuxB,IAETvxB,EAAOwyB,YAITxyB,EAAO0I,IAAI,OAAiB1I,EAAO6yB,QAGnC7yB,EAAO0I,IAAI,OAAkB1I,EAAO8yB,SAGpC9yB,EAAO0I,IAAI,OAAoB1I,EAAOwyB,WAGtCxyB,EAAO0I,IAAI,OAAmB1I,EAAOyyB,UAGjCzyB,EAAOygB,WACT0S,EAASjT,WAIf9wB,QAAS,CACP6jC,aAAc,WAEZ,OAAO,QAETN,cAAe,WAMb9jC,KAAK8kC,SAAS9kC,KAAKoG,iBAAmBpG,KAAKqH,QAG7Cy9B,SAAU,SAAkBtiC,GAC1BA,EAAQ,eAAkBA,GAAS,GAAKA,EAEpCxC,KAAKmjC,aAAe3gC,IACtBxC,KAAKmjC,WAAa3gC,IAGtBuiC,WAAY,SAAoBviC,GAC9BA,EAAQ,eAAkBA,GAAS,GAAKA,EAEpCxC,KAAKojC,eAAiB5gC,IACxBxC,KAAKojC,aAAe5gC,IAIxBgiC,OAAQ,SAAgBQ,GAEtBhlC,KAAKyO,MAAM,OAAiBu2B,GAExBA,IACFhlC,KAAK4xB,WAAaoT,EAAQzzB,mBAG9BkzB,QAAS,SAAiBO,GAExBhlC,KAAK4xB,WAAY,EACjB5xB,KAAKyO,MAAM,OAAkBu2B,IAE/BN,OAAQ,SAAgBM,GACtBhlC,KAAKyO,MAAM,OAAiBu2B,IAE9BL,SAAU,SAAkBK,GAE1BhlC,KAAKyO,MAAM,OAAmBu2B,GAC9BhlC,KAAK4xB,WAAY,GAEnBgT,WAAY,SAAoBI,GAG1BA,GAAWA,EAAQn6B,OAAS,SAC9B7K,KAAKyO,MAAMk0B,GAA0B,GACrC3iC,KAAKyO,MAAM,OAAqBu2B,KAGpCH,UAAW,SAAmBG,GAGxBA,GAAWA,EAAQn6B,OAAS,SAC9B7K,KAAKyO,MAAMk0B,GAA0B,GACrC3iC,KAAKyO,MAAM,OAAoBu2B,KAInChB,OAAQ,YACLhkC,KAAK4xB,WAAa5xB,KAAKyjC,WAAazjC,KAAKyjC,UAAUpS,QAEtD4S,QAAS,WACPjkC,KAAK4xB,WAAa5xB,KAAKyjC,WAAazjC,KAAKyjC,UAAUwB,QAErDtB,UAAW,WACT3jC,KAAKyjC,WAAazjC,KAAKyjC,UAAUyB,WAEnCtB,SAAU,WACR5jC,KAAKyjC,WAAazjC,KAAKyjC,UAAU0B,WAGrC3hC,OAAQ,SAAgBC,GAKtB,OAAOA,Q,kCCpQX,W,kCCCA,IAAIqzB,EAAI,EAAQ,QACZztB,EAAY,EAAQ,QACpB+7B,EAAkB,EAAQ,QAC1B37B,EAAS,EAAQ,QACjBqF,EAAQ,EAAQ,QAEhBu2B,EAAgB,GAAIj+B,QACpB8lB,EAAQD,KAAKC,MAEboY,EAAM,SAAUC,EAAG17B,EAAG27B,GACxB,OAAa,IAAN37B,EAAU27B,EAAM37B,EAAI,IAAM,EAAIy7B,EAAIC,EAAG17B,EAAI,EAAG27B,EAAMD,GAAKD,EAAIC,EAAIA,EAAG17B,EAAI,EAAG27B,IAG9EjK,EAAM,SAAUgK,GAClB,IAAI17B,EAAI,EACJ47B,EAAKF,EACT,MAAOE,GAAM,KACX57B,GAAK,GACL47B,GAAM,KAER,MAAOA,GAAM,EACX57B,GAAK,EACL47B,GAAM,EACN,OAAO57B,GAGP67B,EAASL,IACY,UAAvB,KAAQj+B,QAAQ,IACG,MAAnB,GAAIA,QAAQ,IACS,SAArB,MAAMA,QAAQ,IACuB,yBAArC,mBAAsBA,QAAQ,MAC1B0H,GAAM,WAEVu2B,EAAc/1B,KAAK,OAKrBwnB,EAAE,CAAEj1B,OAAQ,SAAUw1B,OAAO,EAAMC,OAAQoO,GAAU,CAEnDt+B,QAAS,SAAiBu+B,GACxB,IAKIxrB,EAAGyrB,EAAG3W,EAAGnb,EALToU,EAASkd,EAAgBplC,MACzB6lC,EAAcx8B,EAAUs8B,GACxBhiC,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACvBmiC,EAAO,GACPl8B,EAAS,IAGTm8B,EAAW,SAAUl8B,EAAGgtB,GAC1B,IAAIhb,GAAS,EACTmqB,EAAKnP,EACT,QAAShb,EAAQ,EACfmqB,GAAMn8B,EAAIlG,EAAKkY,GACflY,EAAKkY,GAASmqB,EAAK,IACnBA,EAAK9Y,EAAM8Y,EAAK,MAIhBC,EAAS,SAAUp8B,GACrB,IAAIgS,EAAQ,EACRgb,EAAI,EACR,QAAShb,GAAS,EAChBgb,GAAKlzB,EAAKkY,GACVlY,EAAKkY,GAASqR,EAAM2J,EAAIhtB,GACxBgtB,EAAKA,EAAIhtB,EAAK,KAIdq8B,EAAe,WACjB,IAAIrqB,EAAQ,EACRsqB,EAAI,GACR,QAAStqB,GAAS,EAChB,GAAU,KAANsqB,GAAsB,IAAVtqB,GAA+B,IAAhBlY,EAAKkY,GAAc,CAChD,IAAIuqB,EAAIz8B,OAAOhG,EAAKkY,IACpBsqB,EAAU,KAANA,EAAWC,EAAID,EAAI18B,EAAO6F,KAAK,IAAK,EAAI82B,EAAErkC,QAAUqkC,EAE1D,OAAOD,GAGX,GAAIN,EAAc,GAAKA,EAAc,GAAI,MAAM97B,WAAW,6BAE1D,GAAIme,GAAUA,EAAQ,MAAO,MAC7B,GAAIA,IAAW,MAAQA,GAAU,KAAM,OAAOve,OAAOue,GAKrD,GAJIA,EAAS,IACX4d,EAAO,IACP5d,GAAUA,GAERA,EAAS,MAKX,GAJA/N,EAAIohB,EAAIrT,EAASod,EAAI,EAAG,GAAI,IAAM,GAClCM,EAAIzrB,EAAI,EAAI+N,EAASod,EAAI,GAAInrB,EAAG,GAAK+N,EAASod,EAAI,EAAGnrB,EAAG,GACxDyrB,GAAK,iBACLzrB,EAAI,GAAKA,EACLA,EAAI,EAAG,CACT4rB,EAAS,EAAGH,GACZ3W,EAAI4W,EACJ,MAAO5W,GAAK,EACV8W,EAAS,IAAK,GACd9W,GAAK,EAEP8W,EAAST,EAAI,GAAIrW,EAAG,GAAI,GACxBA,EAAI9U,EAAI,EACR,MAAO8U,GAAK,GACVgX,EAAO,GAAK,IACZhX,GAAK,GAEPgX,EAAO,GAAKhX,GACZ8W,EAAS,EAAG,GACZE,EAAO,GACPr8B,EAASs8B,SAETH,EAAS,EAAGH,GACZG,EAAS,IAAM5rB,EAAG,GAClBvQ,EAASs8B,IAAiBz8B,EAAO6F,KAAK,IAAKu2B,GAU7C,OAPEA,EAAc,GAChB/xB,EAAIlK,EAAO7H,OACX6H,EAASk8B,GAAQhyB,GAAK+xB,EAClB,KAAOp8B,EAAO6F,KAAK,IAAKu2B,EAAc/xB,GAAKlK,EAC3CA,EAAO5B,MAAM,EAAG8L,EAAI+xB,GAAe,IAAMj8B,EAAO5B,MAAM8L,EAAI+xB,KAE9Dj8B,EAASk8B,EAAOl8B,EACTA,M,kCC3Hb,iLAAS5I,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAewK,KAAK,KAAM,YAAa,GAAI,CACjJe,OAAQ,eAAS,QACjBk5B,YAAa,eAAS,QACtBj5B,WAAY,eAAS,WAClB,QAGMk5B,EAA2B,aAAI3mC,OAAO,CAC/C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI2uB,EAEAnvB,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChBwlB,EAAkBrjC,EAAMqjC,gBACxBC,EAAsBtjC,EAAMsjC,oBAC5BC,EAAoBvjC,EAAMujC,kBAC9B,OAAOhjC,EAAEP,EAAMwjC,UAAW,eAAU/iC,EAAM,CACxC0G,YAAa,cACbhE,MAAO,CAACnD,EAAMmjC,aAAchU,EAAQ,GAAIlwB,EAAgBkwB,EAAO,MAAMvuB,OAAOyiC,GAAkBA,GAAkBpkC,EAAgBkwB,EAAO,UAAUvuB,OAAO0iC,GAAsBA,GAAsBrkC,EAAgBkwB,EAAO,QAAQvuB,OAAO2iC,GAAoBA,GAAoBpU,IAClR7nB,SAAUuW,EAAW,GAAK,eAAW7d,EAAMkK,WAAYlK,EAAMiK,UAC3D4T,O,kCCtCR,gJAMW7d,EAAQ,eAAsB,CACvCyvB,SAAU,eAAS,QACnBgU,YAAa,eAAS,OAAkB,MACxCC,oBAAqB,eAAS,OAAkB,UAC/C,QAGQC,EAA6B,aAAIlnC,OAAO,CACjD2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SACpB,OAAOtd,EAAEP,EAAMyjC,YAAa,eAAUhjC,EAAM,CAC1C0G,YAAa,gBACbhE,MAAO,CAACnD,EAAM0jC,oBAAsB,QAAQ9iC,OAAOZ,EAAM0jC,qBAAuB,QAC9E7lB,GAAY,eAAS7d,EAAMyvB,e,mCCxBnC,kGAQe,SAASmU,IAEtB,IAAM9M,EAAQC,wBAER8M,EAAmBxiB,iBAAI,MAGvBwU,EAAe,CACnB,CAAE72B,IAAK,OAAQuc,UAAU,GACzB,CAAEvc,IAAK,QAASuc,UAAU,GAC1B,CAAEvc,IAAK,OAAQuc,UAAU,GACzB,CACEvc,IAAK,cACLkgB,MAAO,OACP5N,UAAWnN,OACXoX,UAAU,GAEZ,CAAEvc,IAAK,SAAUuc,UAAU,GAC3B,CAAEvc,IAAK,YAEHiO,EAAUoU,iBAAI,IACdyiB,EAAaziB,iBAAI,GACjB5T,EAAc4T,iBAAI,GAClB+T,EAAiB,CAAC,GAAI,GAAI,GAAI,KAC9BK,EAAcpU,iBAAI,IAClBpL,EAASoL,iBAAI,MACbyU,EAAgBzU,kBAAI,GACpB0iB,EAAa1iB,iBAAI,MACjB2iB,EAAa3iB,iBAAI,MACjBuU,EAAevU,iBAAI,MAEnBoV,EAAW/5B,uBAAS,WACxB,IAAMu6B,EAAkB4M,EAAiBvkC,MAAQukC,EAAiBvkC,MAAMyU,WAAWlV,OAAS,EAC5F,MAAO,CACLuT,KAAMnF,EAAQ3N,OAASmO,EAAYnO,MAAQ,IAAM23B,EAAkB,EAAI,GACvEP,GAAIzpB,EAAQ3N,OAASmO,EAAYnO,MAAQ,GAAK23B,EAC9CN,GAAImN,EAAWxkC,UAIb43B,EAAc,WAClB2M,EAAiBvkC,MAAMmX,WAGzBnJ,mBAAM,CAACG,EAAaR,EAASwoB,EAAasO,EAAYC,EAAYpO,IAAe,WAC/EsB,OAGF,IAAMnK,EAAa,SAACrtB,EAAK41B,GACvB6B,OACGC,SAAS,sBAAuB,CAC/BC,EAAG5B,EAAYn2B,MACf2N,QAASA,EAAQ3N,MACjBg4B,KAAM7pB,EAAYnO,MAClB2W,OAAQA,EAAO3W,MACf4W,SAAU4f,EAAcx2B,MACxBwD,KAAMihC,EAAWzkC,MACjB2kC,KAAMD,EAAW1kC,MACjBi4B,OAAQ3B,EAAat2B,QAEtB0X,MAAK,SAAAsW,GAAY,MACSA,EAAS7sB,KAA1ByjC,EADQ,EACRA,MAAOzM,EADC,EACDA,MAEfnC,EAAS4O,GACTJ,EAAWxkC,MAAQm4B,KAEpBlK,OAAM,WACLuJ,EAAM,CACJjvB,UAAW6vB,OACX13B,MAAO,CACLmE,MAAO,4BACPlE,KAAM,oBACNkB,QAAS,gBAUbgjC,EAAyB,SAAArhC,GAC7B,MAAa,eAATA,EAA8B,UACrB,WAATA,EAA0B,UACjB,eAATA,EAA8B,UACrB,WAATA,EAA0B,OACjB,UAATA,EAAyB,SACtB,WAGHshC,EAAsB,SAAAthC,GAC1B,MAAa,eAATA,EAA8B,WACrB,WAATA,EAA0B,eACjB,eAATA,EAA8B,eACrB,WAATA,EAA0B,YACjB,UAATA,EAAyB,aACtB,YAGHuhC,EAA2B,SAAA9M,GAC/B,MAAe,YAAXA,EAA6B,UAClB,WAAXA,EAA4B,UACjB,aAAXA,EAA8B,YAC3B,WAGT,MAAO,CACLxK,aACA8I,eACA5oB,UACAQ,cACAq2B,aACArN,WACArB,iBACAK,cACAxf,SACA6f,gBACA+N,mBAEAM,yBACAC,sBACAC,2BACAnN,cAGA6M,aACAC,aACApO,kB,kCCxIJ,W,yCCAA,IAAIt1B,EAAS,WAAa,IAAIwG,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,UAAU,CAAC7D,MAAM,CAAC,QAAU,SAAS,UAAwBsJ,IAAjB5F,EAAI6mB,WAAyB,CAAC1mB,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACL,EAAIkuB,GAAG,gCAAgC/tB,EAAG,MAAM,CAACE,YAAY,cAAc,CAACL,EAAIkuB,GAAG,4CAA4C/tB,EAAG,SAAS,CAACE,YAAY,aAAa/D,MAAM,CAAC,GAAK,CAAEhD,KAAM,qBAAqB,CAAC0G,EAAIkuB,GAAG,iBAAiBluB,EAAIkuB,GAAG,uBAAuB,KAAMluB,EAAY,SAAE,CAACG,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAAC6D,EAAG,2BAA2B,CAAC7D,MAAM,CAAC,YAAY0D,EAAI6mB,aAAa,GAAG1mB,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAAC6D,EAAG,6BAA6B,IAAI,GAAGA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,iCAAiC,GAAGA,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,oCAAoC,IAAI,GAAGA,EAAG,iBAAiBH,EAAIsE,MAAM,IAC57B1D,EAAkB,G,4GCDlB,EAAS,WAAa,IAAIZ,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,YAAY,6CAA6C/D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,MAAM,CAACE,YAAY,gCAAgC,CAACF,EAAG,WAAW,CAAC7D,MAAM,CAAC,IAAM0D,EAAI6mB,SAASyI,OAAO,KAAOtvB,EAAI9B,WAAW8B,EAAI6mB,SAAS2W,UAAU,QAAW,SAAYx9B,EAAIq9B,uBAAuBr9B,EAAI6mB,SAAS7qB,MAAQ,KAAO,QAAQ,QAAU,MAAMmE,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS2W,UAAU,OAAOr9B,EAAG,OAAO,CAACE,YAAY,aAAa,CAACL,EAAIkuB,GAAGluB,EAAIS,GAAGT,EAAI6mB,SAAS4W,YAAYt9B,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,WAAW,CAAC7D,MAAM,CAAC,GAAK,CAAEhD,KAAM,kBAAmBitB,OAAQ,CAAE7W,GAAI1P,EAAI6mB,SAASnX,KAAO,QAAU,YAAY,CAAC1P,EAAIkuB,GAAG,YAAY/tB,EAAG,WAAW,CAACE,YAAY,OAAO/D,MAAM,CAAC,QAAU,mBAAmB,CAAC0D,EAAIkuB,GAAG,eAAe,MAAM,GAAG/tB,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,WAAW,CAAC7D,MAAM,CAAC,QAAU,gBAAgB,QAAU,KAAK,CAAC6D,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,iBAAiB,KAAO,SAAS,GAAG6D,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,aAAa/tB,EAAG,QAAQ,CAACH,EAAIkuB,GAAG,sBAAsB,GAAG/tB,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,WAAW,CAAC7D,MAAM,CAAC,QAAU,gBAAgB,QAAU,KAAK,CAAC6D,EAAG,eAAe,CAAC7D,MAAM,CAAC,KAAO,iBAAiB,KAAO,SAAS,GAAG6D,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,eAAe/tB,EAAG,QAAQ,CAACH,EAAIkuB,GAAG,sBAAsB,OAAO/tB,EAAG,QAAQ,CAAC7D,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAAC6D,EAAG,QAAQ,CAACE,YAAY,sBAAsB,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACE,YAAY,SAAS,CAACF,EAAG,eAAe,CAACE,YAAY,QAAQ/D,MAAM,CAAC,KAAO,cAAc6D,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,eAAe,GAAG/tB,EAAG,KAAK,CAACE,YAAY,SAAS,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS6W,UAAU,SAASv9B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACE,YAAY,SAAS,CAACF,EAAG,eAAe,CAACE,YAAY,QAAQ/D,MAAM,CAAC,KAAO,eAAe6D,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,aAAa,GAAG/tB,EAAG,KAAK,CAACE,YAAY,yBAAyB,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS4J,QAAQ,SAAStwB,EAAG,KAAK,CAACA,EAAG,KAAK,CAACE,YAAY,SAAS,CAACF,EAAG,eAAe,CAACE,YAAY,QAAQ/D,MAAM,CAAC,KAAO,cAAc6D,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,WAAW,GAAG/tB,EAAG,KAAK,CAACE,YAAY,yBAAyB,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS7qB,MAAM,SAASmE,EAAG,KAAK,CAACA,EAAG,KAAK,CAACE,YAAY,SAAS,CAACF,EAAG,eAAe,CAACE,YAAY,QAAQ/D,MAAM,CAAC,KAAO,cAAc6D,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,cAAc,GAAG/tB,EAAG,KAAK,CAACE,YAAY,SAAS,CAACL,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS8W,SAAS,SAASx9B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,eAAe,CAACE,YAAY,QAAQ/D,MAAM,CAAC,KAAO,eAAe6D,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,cAAc,GAAG/tB,EAAG,KAAK,CAACH,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAGT,EAAI6mB,SAAS+W,SAAS,cAAc,IAAI,IAC/8F,EAAkB,G,6DCkKtB,GACE9kC,WAAY,CACV4J,MAAJ,OAAI,QAAJ,OAAI,KAAJ,OAAI,KAAJ,OAAI,QAAJ,QAEExJ,MAAO,CACL2tB,SAAU,CACRhmB,KAAMzJ,OACNkL,UAAU,IAGd+uB,MAVF,WAUA,MACA,mBADA,EACA,uBACI,MAAO,CACLnzB,WAAN,OACMm/B,uBAAN,KCjL2Y,I,YCOvYt8B,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QClBX,EAAS,WAAa,IAAIf,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,YAAY,iBAAiB/D,MAAM,CAAC,UAAU,KAAK,CAAC6D,EAAG,gBAAgB,CAACE,YAAY,iEAAiE,CAACF,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,oBAAoB/tB,EAAG,UAAU,CAAC7D,MAAM,CAAC,QAAU,kBAAkB,CAAC0D,EAAIkuB,GAAG,aAAa/tB,EAAG,QAAQ,CAACE,YAAY,oBAAoB,CAACL,EAAIkuB,GAAG,oBAAoB,GAAG/tB,EAAG,cAAc,CAACA,EAAG,KAAK,CAACE,YAAY,sBAAsB,CAACF,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACL,EAAIkuB,GAAG,eAAe/tB,EAAG,KAAK,CAACE,YAAY,SAAS,CAACF,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACL,EAAIkuB,GAAG,qBAAqB/tB,EAAG,KAAK,CAACA,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACL,EAAIkuB,GAAG,uBAAuB/tB,EAAG,WAAW,CAAC09B,WAAW,CAAC,CAACvkC,KAAK,SAASwkC,QAAQ,eAAetlC,MAAM,4BAA8Bk2B,WAAW,8BAA8BqP,UAAU,CAAC,KAAM,KAAQzhC,MAAM,CAAC,QAAU,UAAU,MAAQ,KAAK,CAAC0D,EAAIkuB,GAAG,qBAAqB,IAAI,IACh/B,EAAkB,G,gDC2CtB,GACE2P,WAAY,CACVG,OAAJ,QAEEllC,WAAY,CACV4J,MAAJ,OACI45B,YAAJ,OACIlU,UAAJ,OACI4I,OAAJ,OACIF,QAAJ,SCrD2Y,ICOvY,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAa,IAAI9wB,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAAC7D,MAAM,CAAC,MAAQ,kBAAkB,CAAC6D,EAAG,eAAe,CAACA,EAAG,oBAAoB,CAACA,EAAG,MAAM,CAACE,YAAY,iFAAiF,CAACF,EAAG,KAAK,CAACH,EAAIkuB,GAAG,gCAAgC/tB,EAAG,QAAQ,CAACE,YAAY,cAAc,CAACL,EAAIkuB,GAAG,kBAAkB/tB,EAAG,IAAI,CAACH,EAAIkuB,GAAG,6CAA6C/tB,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACF,EAAG,QAAQ,CAACE,YAAY,OAAO/D,MAAM,CAAC,IAAM,EAAQ,QAAiC,OAAS,OAAO,MAAQ,QAAQ6D,EAAG,OAAO,CAACE,YAAY,gBAAgB,CAACL,EAAIkuB,GAAG,kBAAkB,KAAK/tB,EAAG,oBAAoB,CAAC7D,MAAM,CAAC,QAAU,YAAY,CAAC6D,EAAG,MAAM,CAACE,YAAY,iFAAiF,CAACF,EAAG,KAAK,CAACH,EAAIkuB,GAAG,oBAAoB/tB,EAAG,QAAQ,CAACE,YAAY,cAAc,CAACL,EAAIkuB,GAAG,kBAAkB/tB,EAAG,IAAI,CAACH,EAAIkuB,GAAG,yCAAyC/tB,EAAG,UAAU,CAAC0C,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,QAAQ8V,GAAG,WAAW,MAAO,CAAC7N,EAAG,WAAW,CAAC7D,MAAM,CAAC,IAAM,EAAQ,aAA4C2yB,OAAM,MAAS,CAAC9uB,EAAG,KAAK,CAACH,EAAIkuB,GAAG,uBAAuB/tB,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACL,EAAIkuB,GAAG,0BAA0B,GAAG/tB,EAAG,oBAAoB,CAAC7D,MAAM,CAAC,QAAU,OAAO,MAAQ,kCAAkC,SAAW,iCAAiC,KAAO,iBAAiB,IAAI,IAC34C,EAAkB,G,gDCsDtB,GACExD,WAAY,CACV4J,MAAJ,OACI+f,KAAJ,OACI3L,OAAJ,OACInS,QAAJ,OACIs5B,YAAJ,OACIC,gBAAJ,SC9D+Y,ICO3Y,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAa,IAAIl+B,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAAC7D,MAAM,CAAC,UAAU,KAAK,CAAC6D,EAAG,cAAc,CAACA,EAAG,eAAe,CAACH,EAAIkuB,GAAG,iBAAiB/tB,EAAG,mBAAmB,CAACH,EAAIkuB,GAAG,oCAAoC,GAAG/tB,EAAG,UAAU,CAACE,YAAY,OAAO/D,MAAM,CAAC,QAAU,GAAG,WAAa,GAAG,MAAQ0D,EAAIm+B,iBAAiBt7B,YAAY7C,EAAI6uB,GAAG,CAAC,CAAC32B,IAAI,eAAe8V,GAAG,SAASrU,GAAM,MAAO,CAACqG,EAAIkuB,GAAG,IAAIluB,EAAIS,GAAG9G,EAAKnB,OAAO,QAAQ,CAACN,IAAI,SAAS8V,GAAG,SAASrU,GAAM,MAAO,CAACwG,EAAG,kBAAkB,CAAC7D,MAAM,CAAC,SAAW,GAAG,QAAU3C,EAAKnB,iBAAiB,IAC/jB,EAAkB,G,gDCiCtB,GACEM,WAAY,CACV4J,MAAJ,OAAI,OAAJ,OAAI,UAAJ,OAAI,WAAJ,OAAI,cAAJ,OAAI,cAAJ,QAEE2uB,MAJF,WAKI,IAAJ,GACA,CACM,OAAN,QACM,MAAN,EACM,OAAN,EACM,QAAN,EACM,QAAN,GAEA,CACM,OAAN,QACM,MAAN,EACM,OAAN,EACM,QAAN,EACM,QAAN,GAEA,CACM,OAAN,SACM,MAAN,EACM,OAAN,EACM,QAAN,EACM,QAAN,GAEA,CACM,OAAN,cACM,MAAN,EACM,OAAN,EACM,QAAN,EACM,QAAN,GAEA,CACM,OAAN,OACM,MAAN,EACM,OAAN,EACM,QAAN,EACM,QAAN,IAII,MAAO,CACL8M,gBAAN,KC9EkZ,ICO9Y,GAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,M,QC6Df,IACErlC,WAAY,CACV4zB,KAAJ,OACImE,KAAJ,OACInJ,OAAJ,OACIqJ,MAAJ,OAGIqN,qBAAJ,EACIC,qBAAJ,EACIC,yBAAJ,EACIC,4BAAJ,GAEIC,YAAJ,cAEEnN,MAfF,WAgBI,IAAJ,yBAEA,aAkBI,OAfKhB,EAAT,mDAGI,OAAJ,iBAAI,EAAJ,WACUA,EAAV,iDAGIA,EAAJ,uEACA,kBAAM,EAAN,gBACA,mBACA,0BACQ,EAAR,iBAIW,CACLxJ,SAAN,KCpHgY,MCO5X,GAAY,eACd,GACArtB,EACAoH,GACA,EACA,KACA,KACA,MAIa,gB,2CClBf,ySAAS+J,EAAmBlN,GAAO,OAAOmN,EAAmBnN,IAAQoN,EAAiBpN,IAAQqN,EAA4BrN,IAAQsN,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIrL,EAAIzI,OAAO+N,UAAU3H,SAAS8H,KAAK2F,GAAGjN,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBoL,EAAEG,cAAavL,EAAIoL,EAAEG,YAAY9R,MAAgB,QAANuG,GAAqB,QAANA,EAAoBwL,MAAMC,KAAKL,GAAc,cAANpL,GAAqB,2CAA2C0L,KAAK1L,GAAWsL,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYtU,OAAOoU,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmBnN,GAAO,GAAI4N,MAAMM,QAAQlO,GAAM,OAAO0N,EAAkB1N,GAEpF,SAAS0N,EAAkB1N,EAAKmO,IAAkB,MAAPA,GAAeA,EAAMnO,EAAI1F,UAAQ6T,EAAMnO,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG+T,EAAO,IAAIR,MAAMO,GAAM9T,EAAI8T,EAAK9T,IAAO+T,EAAK/T,GAAK2F,EAAI3F,GAAM,OAAO+T,EAEhL,SAAS7U,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAqB3M,IAAIkmC,EAAkB,SAAyBjmC,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAGjCkmC,EAAkB,SAAyBlmC,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAI1BU,EAAQ,CAEjBylC,eAAgB,eAAS,QAEzBnjC,YAAa,eAAS,QACtBojC,WAAY,eAAS,QACrBC,aAAc,eAAS,SAIdC,EAAa,aAAInpC,OAAO,CACjCuD,MAAOA,EACP3C,QAAS,CACPwoC,aAAc,SAAsBz0B,GAElC,MAAO,CAACA,EAAMjO,MAAQiO,EAAMjO,MAAQ,GAAIiO,EAAM00B,QAAU10B,EAAM00B,QAAU,KAE1EC,YAAa,SAAqBh4B,EAAOqD,EAAO4K,GAC1Clf,KAAK+S,YAAc/S,KAAK+S,WAAW9B,IAG5B,eAAYA,IAGZ,eAAoBjR,KAAKwR,OAOpC,eAAUP,GACVjR,KAAKyO,MAAM,OAAyB6F,EAAMpS,IAAKoS,EAAOrD,EAAOiO,KAE/DyV,YAAa,WACX,IAAI7jB,EAAQ9Q,KAERkf,EAASve,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,IAAmBA,UAAU,GACxEyR,EAASpS,KAAKqS,eACdmM,EAAaxe,KAAKwe,WAClBzD,EAAe/a,KAAK+a,aACpBvV,EAAcxF,KAAKwF,YACnBC,EAAczF,KAAKyF,YACnBkjC,EAAiB3oC,KAAK2oC,eACtBpT,EAAiBv1B,KAAKu1B,eACtB9xB,EAAIzD,KAAKkK,eAGb,GAAIlK,KAAKyrB,iBAAqC,IAAlBrZ,EAAOrQ,OACjC,OAAO0B,IAGT,IAAIylC,EAAuB1qB,GAAcxe,KAAKwgB,YAAY,QAEtDvE,EAAgBlB,EAAe/a,KAAKic,cAAgB,OACpDnC,EAAgBiB,EAAe/a,KAAK8Z,cAAgB,OAEpDqvB,EAAW,SAAkB70B,EAAO4N,GACtC,IAAIE,EAAQ9N,EAAM8N,MACdgnB,EAAY90B,EAAM80B,UAClB/kC,EAAUiQ,EAAMjQ,QAChBD,EAAekQ,EAAMlQ,aACrBlC,EAAMoS,EAAMpS,IACZm6B,EAAY,KAEX/nB,EAAM8N,MAAMkG,QAAWhU,EAAM+0B,cAKhChN,EAAY,eAAU/nB,EAAMpS,MAG9B,IAAIqE,EAAK,GAEL2iC,IACF3iC,EAAGmgB,MAAQ,SAAUzV,GACnBH,EAAMm4B,YAAYh4B,EAAOqD,EAAO4K,IAGlC3Y,EAAGogB,QAAU,SAAU1V,GACrB,IAAIwU,EAAUxU,EAAMwU,QAEhBA,IAAY,QAAcA,IAAY,QACxC3U,EAAMm4B,YAAYh4B,EAAOqD,EAAO4K,KAKtC,IAAIoqB,EAAY9qB,EAAa1N,EAAM2O,iBAAiBvd,EAAKoS,EAAO4K,GAAU,GACtEqqB,EAAY/qB,EAAa1N,EAAMyO,mBAAmBrd,EAAKoS,EAAO4K,GAAU,KACxEsqB,EAAYhrB,EAAa1N,EAAM6O,iBAAiBzd,EAAKoS,EAAO4K,GAAU,KACtEvb,EAAO,CACT0C,MAAO,CAACyK,EAAMi4B,aAAaz0B,GAAQi1B,GACnCrmC,MAAO,CACLmB,QAASA,EACTD,aAAcA,GAEhB0wB,MAAOxgB,EAAMm1B,SAAW,GACxBnjC,MAAO1E,EAAcA,EAAc,CAGjCwiB,SAAU8kB,GAAwB50B,EAAMmK,SAAW,IAAM,KACzDirB,KAAMp1B,EAAMq1B,YAAc,KAC1BtiC,MAAOiN,EAAM+0B,aAAe,KAC5B,gBAAiBnnB,EAAW,EAC5B,aAAcma,GACbvrB,EAAMyQ,YAAY,KAAMrf,EAAKoS,EAAMoO,OAAQxD,EAAS,OAAS,OAAQ,KAAMoqB,GAC9E/iC,GAAIA,EACJrE,IAAKA,GAOH0nC,EAAY,CAACnB,EAAgBvmC,GAAMumC,EAAgBvmC,EAAImkB,eAAgBoiB,KAEvEvpB,IACF0qB,EAAY,CAAClB,EAAgBxmC,GAAMwmC,EAAgBxmC,EAAImkB,eAAgBqiB,KAAmB5kC,OAAO6Q,EAAmBi1B,KAGtH,IAAI3jC,EAAQ,CACVmc,MAAOA,EACPynB,OAAQ3nC,EACRoS,MAAOA,EACP4K,OAAQA,EAERjD,cAAeA,EACfnC,cAAeA,GAEb3T,EAAW2K,EAAM1K,cAAcwjC,EAAW3jC,IAAUxC,EAAE,MAAO,CAC/D+G,SAAU,eAAW4+B,EAAWhnB,KAE9B0nB,EAAWN,EAAY/lC,EAAE,OAAQ,CACnC4G,YAAa,WACZ,KAAKvG,OAAO0lC,EAAW,MAAQ,KAElC,OAAO/lC,EAAE,OAAKE,EAAM,CAACwC,EAAU2jC,GAAUvoC,OAAO,UAI9CwoC,EAAS33B,EAAOhK,IAAI+gC,GAAU5nC,OAAO,QAErCyoC,EAAO,GAEX,GAAI9qB,EACF8qB,EAAKroC,KAAK8B,EAAE,OAAK,CACf4C,MAAOrG,KAAKy1B,aACZvyB,MAAO,CACLmB,QAAS,eAAkBkxB,GAAkBoT,EAE7CpT,IAEDwU,QACE,CACL,IAAI9jC,EAAQ,CACVwM,QAASL,EAAOrQ,OAChBqQ,OAAQA,EAER6J,cAAeA,EACfnC,cAAeA,GAEjBkwB,EAAKroC,KAAK3B,KAAKoG,cAAc,QAAqBH,IAAUxC,KAC5DumC,EAAKroC,KAAK8B,EAAE,OAAK,CACf4C,MAAOrG,KAAK6oC,aACZ3lC,MAAO,CACLmB,QAASskC,IAEVoB,IAGL,OAAOtmC,EAAEyb,EAAS,OAAS,OAAQ,CACjC7Y,OAAQ6Y,EAASlf,KAAKw1B,WAAax1B,KAAK4oC,aAAe,KACvD1lC,MAAOgc,EAAS,CACdzZ,YAAaA,GAAeD,GAAe,MACzC,CACFA,YAAaA,GAAe,MAE9BtD,IAAKgd,EAAS,WAAa,YAC1B8qB,Q,wEClOLC,E,wECEO,EAAe,SAAsBv1B,EAAOlS,GACrD,IAAK,IAAIV,EAAI,EAAGA,EAAI4S,EAAM3S,OAAQD,IAChC,GAAI,eAAW4S,EAAM5S,GAAIU,GACvB,OAAOV,EAIX,OAAQ,G,oCDPV,SAASd,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAI2nC,EAAgC,gBAChCC,EAAiC,QAA0BD,EAEpD,EAAQ,eAAsB,eAAStoC,EAAcA,EAAc,GAAI,QAAsB,IAAKqoC,EAAiB,GAAI9nC,EAAgB8nC,EAAgBC,EAA+B,eAAS,QAAmB,IAAS/nC,EAAgB8nC,EAAgB,SAAU,eAAS,QAAmB,IAAS9nC,EAAgB8nC,EAAgB,iBAAkB,eAAS,QAAe,IAAS9nC,EAAgB8nC,EAAgB,QAAS,eAAS,QAAe,IAAQA,KAAmB,QAGzdG,EAA6B,aAAIzqC,OAAO,CACjD2D,KAAM,OACNiB,OAAQ,CAAC,QACTC,OAAQ,CACN6lC,QAAS,CACP/0B,KAAM,eACN5Q,QAAS,OAGbxB,MAAO,EACPtD,SAAU,CACR0qC,UAAW,WACT,IAAI9nC,EAAQxC,KAAKwC,MACb+nC,EAAUvqC,KAAKwqC,qBACnB,OAAO,eAAQD,GAAW,EAAaA,EAAS/nC,IAAU,EAAI,eAAW+nC,EAAS/nC,IAEpFioC,QAAS,WACP,OAAO,IAGXj6B,MAAOrO,EAAgB,GAAI+nC,GAA+B,SAAUz5B,EAAUC,GACvE,eAAWD,EAAUC,IACxB1Q,KAAK0qC,iBAAiBj6B,MAG1B+I,QAAS,WAEPxZ,KAAK0qC,iBAAiB1qC,KAAKkqC,KAE7B3pC,QAAS,CACPoqC,4BAA6B,SAAqCl6B,EAAUC,GAC1E,IAAK,eAAWD,EAAUC,GAAW,CACnC1Q,KAAKyO,MAAM,OAAkBgC,GAC7B,IAAIiZ,EAAS1pB,KAAKC,MAAMC,MAEpBwpB,GACF1pB,KAAKyO,MAAM07B,EAAgCzgB,EAAOkhB,iBAIxDC,aAAc,SAAsBnnC,GAClC,IAAIoN,EAAQ9Q,KAER8qC,EAAcpnC,EAAK7B,OACnB0oC,EAAUO,EAAYP,QACtBK,EAAgBE,EAAYF,cAC5BpoC,EAAQxC,KAAKwC,MACbuoC,EAAiB/qC,KAAK+qC,eAEtBC,EAAehrC,KAAKwqC,qBAExB,GAAI,eAAQQ,GAAe,CACzB,IAAInvB,EAAQ,EAAamvB,EAAcxoC,GAEnC+nC,GAAW1uB,EAAQ,EAErBmvB,EAAeA,EAAalnC,OAAOtB,IACzB+nC,GAAW1uB,GAAS,IAE9BmvB,EAAeA,EAAahjC,MAAM,EAAG6T,GAAO/X,OAAOknC,EAAahjC,MAAM6T,EAAQ,UAGhFmvB,EAAeT,EAAU/nC,EAAQuoC,EAGnC/qC,KAAKwqC,qBAAuBQ,EAE5BhrC,KAAK+Q,WAAU,WAEbD,EAAMrC,MAAM,OAAmBu8B,GAG3Bl6B,EAAMm6B,SACRn6B,EAAMu5B,QAAQ57B,MAAM,OAAmBu8B,GAGzCl6B,EAAMrC,MAAM07B,EAAgCS,OAGhDF,iBAAkB,SAA0B7a,GAEtC,eAAQ7vB,KAAKwqC,wBACf3a,GAAQ,GAGV,IAAInG,EAAS1pB,KAAKC,MAAMC,MAEpBwpB,IACFA,EAAOkhB,cAAgB/a,EAEvB7vB,KAAKyO,MAAM07B,EAAgCta,S,sPEnHpC,SAASqb,EAAQ3oC,GAa9B,OATE2oC,EADoB,oBAAXz1B,QAAoD,kBAApBA,OAAOC,SACtC,SAAiBnT,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXkT,QAAyBlT,EAAI6S,cAAgBK,QAAUlT,IAAQkT,OAAOtG,UAAY,gBAAkB5M,GAItH2oC,EAAQ3oC,G,4BCTJ4oC,EAAW,SAAA5oC,GAAG,MAAmB,WAAf,EAAOA,IAA4B,OAARA,GAE7C0G,EAAU,SAAAD,GACrB,IAAMoiC,EAAQ,IAAIviC,KAClB,OAEEG,EAAKqiC,YAAcD,EAAMC,WACzBriC,EAAKsiC,aAAeF,EAAME,YAC1BtiC,EAAKuiC,gBAAkBH,EAAMG,eAWpBC,EAAuB,SAAAC,GAAS,MACVC,OAAOtb,QAAQqb,GAAjCE,EAD4B,EACnCF,MACR,OAAOE,EAAcC,OAASF,OAAOG,aAAaD,MAIvCE,EAAY,WACvB,IAAMC,EAAKC,kCAAqB/S,MAC1BpJ,EAAQoc,sBAAS,CACrBR,MAAOM,EAAGG,SAUZ,OAPA17B,oBACE,kBAAMu7B,EAAGG,UACT,SAAAC,GACEtc,EAAM4b,MAAQU,KAIlB,iCAAYC,oBAAOvc,IAAnB,IAA2B6b,OAAQK,EAAGrS,Y,kCC1CxC,kDAMW2S,EAAsB,WAC/B,IAAIhnB,EAAK1kB,UAAUoB,OAAS,QAAsB6N,IAAjBjP,UAAU,GAAmBA,UAAU,GAAK2qB,SACzEghB,EAAM,iBACV,SAAOA,GAAiC,KAA1BA,EAAI9kC,WAAW8gB,QAAiBgkB,EAAIC,cAAgB,eAAUlnB,KAE5EinB,EAAIC,aAAalnB,GAAI,K,kCCXvB,0GAAI/K,EAAQkyB,EAAZ,gMAEA,SAASxrC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAmB3M,IAAI+kB,EAAkB,eAAe,UAAW,CAC9ChG,aAAc,OAEZiG,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBpkB,MAC7BwkB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgBrW,MAI5B/N,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU6lB,GAAa,QAAmB,QAAgB,QAAiB,QAAkB,GAAI,CACvP4U,UAAW,eAAS,QACpBoQ,eAAgB,eAAS,QAEzBC,OAAQ,eAAS,QAAmB,GAEpCC,cAAe,eAAS,QACxBC,OAAQ,eAAS,QAAmB,GACpCpqC,MAAO,eAAS,WACb,0BAGMqqC,EAAsB,aAAIltC,OAAO,CAC1C4E,OAAQ,CAAC,OAAY,OAASgjB,EAAY,OAAoB,OAAkB,OAAe,OAAgB,QAC/G5iB,cAAc,EACdzB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACLqnC,aAAchrC,KAAKirC,QAAUjrC,KAAKqqC,QAAQ3iB,GAAmB1nB,KAAK0nB,GAClEolB,UAAU,IAGdltC,SAAU,CACR4qC,qBAAsB,CACpBzqC,IAAK,WACH,OAAOC,KAAKirC,QAAUjrC,KAAKqqC,QAAQW,aAAehrC,KAAKgrC,cAEzD7qC,IAAK,SAAaqC,GACZxC,KAAKirC,QACPjrC,KAAKqqC,QAAQW,aAAexoC,EAE5BxC,KAAKgrC,aAAexoC,IAI1B8nC,UAAW,WACT,OAAO,eAAWtqC,KAAKwC,MAAOxC,KAAKwqC,uBAErCC,QAAS,WACP,OAAO,GAETQ,QAAS,WAEP,QAASjrC,KAAKqqC,SAEhB0C,UAAW,WAET,OAAO/sC,KAAKirC,QAAUjrC,KAAKqqC,QAAQ7K,QAAUx/B,KAAK0sC,QAEpDM,QAAS,WACP,OAAOhtC,KAAK+sC,YAAoB/sC,KAAKirC,QAAUjrC,KAAKqqC,QAAQjJ,MAAQphC,KAAKohC,QAE3E6L,SAAU,WACR,OAAOjtC,KAAK+sC,YAAqB/sC,KAAKgtC,SAExCE,SAAU,WAER,QAAOltC,KAAK+sC,WAAa/sC,KAAKyqC,SAAWzqC,KAAKgtC,WAAkBhtC,KAAKirC,QAAUjrC,KAAKqqC,QAAQ8C,SAAWntC,KAAKotC,SAE9GC,SAAU,WACR,OAAOrtC,KAAKirC,QAAUjrC,KAAKqqC,QAAQuC,OAAS5sC,KAAK4sC,QAEnDrM,WAAY,WAEV,OAAOvgC,KAAKirC,SAAUjrC,KAAKqqC,QAAQngB,UAA4BlqB,KAAKkqB,UAEtEojB,WAAY,WAIV,OAAOttC,KAAKutC,eAAiBvtC,KAAKirC,QAAUjrC,KAAKqqC,QAAQ/9B,SAAWtM,KAAKsM,WAE3EihC,aAAc,WAEZ,OAAQvtC,KAAKirC,QAAUjrC,KAAKqqC,QAAQmD,UAAYxtC,KAAKsD,OAAS,MAEhEmqC,aAAc,WACZ,OAAQztC,KAAKirC,QAAUjrC,KAAKqqC,QAAQxf,KAAO7qB,KAAK6qB,OAAS,MAE3D6iB,aAAc,WACZ,OAAQ1tC,KAAKirC,QAAUjrC,KAAKqqC,QAAQ1M,KAAO39B,KAAK29B,OAAS,IAE3DgQ,cAAe,WACb,OAAO3tC,KAAKirC,QAAUjrC,KAAKqqC,QAAQsD,cAAgB,eAAU3tC,KAAK6vB,OAAS7vB,KAAK6vB,MAAQ,MAE1F+d,sBAAuB,WAErB,IAAIjB,EAAgB3sC,KAAK2sC,cAEzB,OAAIA,IAIA3sC,KAAKirC,SAAWjrC,KAAKqqC,QAAQsC,cACxB3sC,KAAKqqC,QAAQsC,cAGf,cAETkB,cAAe,WACb,IAAInqC,EAEAgqC,EAAe1tC,KAAK0tC,aACxB,MAAO,CAAC,MAAO,OAAO5pC,OAAO9D,KAAK4tC,wBAAyBlqC,EAAO,GAAIvB,EAAgBuB,EAAM,OAAOI,OAAO4pC,GAAeA,GAAevrC,EAAgBuB,EAAM,WAAY1D,KAAKugC,YAAap+B,EAAgBuB,EAAM,SAAU1D,KAAKsqC,WAAYnoC,EAAgBuB,EAAM,QAAS1D,KAAK8sC,UAAWppC,KAE9RknB,cAAe,WACb,IAAIV,EAAWlqB,KAAKugC,WAChBj0B,EAAWtM,KAAKstC,WACpB,OAAO1rC,EAAcA,EAAc,GAAI5B,KAAKkG,SAAU,GAAI,CACxDwT,GAAI1Z,KAAK0jB,SACT7Y,KAAM7K,KAAKyqC,QAAU,QAAU,WAC/BnnC,KAAMtD,KAAKutC,aACX1iB,KAAM7qB,KAAKytC,aACXvjB,SAAUA,EACV5d,SAAUA,EACV,gBAAiBA,GAAY,KAC7B,aAActM,KAAKq8B,WAAa,KAChC,kBAAmBr8B,KAAKysC,gBAAkB,SAIhDj8B,OAAQ8J,EAAS,GAAInY,EAAgBmY,EAAQoN,GAAiB,WAC5D1nB,KAAK,GAAG8D,OAAO4jB,EAAiB,YAAYhnB,MAAMV,KAAMW,cACtDwB,EAAgBmY,EAAQ,wBAAwB,WAClDta,KAAK2qC,4BAA4BjqC,MAAMV,KAAMW,cAC3C2Z,GACJ/Z,SAAUisC,EAAW,GAAIrqC,EAAgBqqC,EAAU,GAAG1oC,OAAO4jB,EAAiB,YAAY,SAAiBjX,GACpG,eAAWA,EAAUzQ,KAAKwqC,wBAC7BxqC,KAAKwqC,qBAAuB/5B,MAE5BtO,EAAgBqqC,EAAU,+BAA+B,SAAqC/7B,EAAUC,GACrG,eAAWD,EAAUC,IACxB1Q,KAAKyO,MAAMmZ,EAAkBnX,MAE7BtO,EAAgBqqC,EAAU,gBAAgB,SAAsBna,GAClE,IAAIvhB,EAAQ9Q,KAERuqC,EAAUlY,EAAMxwB,OAAO0oC,QACvB/nC,EAAQxC,KAAKwC,MACbwoC,EAAeT,EAAU/nC,EAAQ,KACrCxC,KAAKwqC,qBAAuBhoC,EAE5BxC,KAAK+Q,WAAU,WAEbD,EAAMrC,MAAM,OAAmBu8B,GAG3Bl6B,EAAMm6B,SACRn6B,EAAMu5B,QAAQ57B,MAAM,OAAmBu8B,SAGzC7oC,EAAgBqqC,EAAU,eAAe,SAAqBv7B,GAG5DA,EAAMpP,SACW,UAAfoP,EAAMpG,KACR7K,KAAK8sC,UAAW,EACQ,SAAf77B,EAAMpG,OACf7K,KAAK8sC,UAAW,OAGlB3qC,EAAgBqqC,EAAU,SAAS,WAChCxsC,KAAKugC,YACR,eAAavgC,KAAKC,MAAMC,UAExBiC,EAAgBqqC,EAAU,QAAQ,WAC/BxsC,KAAKugC,YACR,eAAYvgC,KAAKC,MAAMC,UAEvBssC,GACJhpC,OAAQ,SAAgBC,GACtB,IAAIgnC,EAAUzqC,KAAKyqC,QACfsC,EAAY/sC,KAAK+sC,UACjBC,EAAUhtC,KAAKgtC,QACfC,EAAWjtC,KAAKitC,SAChBI,EAAWrtC,KAAKqtC,SAChBH,EAAWltC,KAAKktC,SAChBQ,EAAe1tC,KAAK0tC,aACpBxnC,EAAUlG,KAAKkG,QACfC,EAAWnG,KAAKoG,gBAChBsjB,EAASjmB,EAAE,QAAS,CACtB4C,MAAO,CAAC,CACN,mBAAoB2mC,EACpB,uBAAwBC,EAExB,kBAAmBD,IAAY7mC,GAC9B4mC,EAAY,GAAK/sC,KAAK+oB,YACzB8e,WAAY,CAAC,CACXvkC,KAAM,QACNd,MAAOxC,KAAKwqC,uBAEdlkC,MAAOtG,KAAK4qB,cACZpgB,SAAU,CACRhI,MAAOxC,KAAKwC,MACZ+nC,QAASvqC,KAAKsqC,WAEhB/jC,GAAI3E,EAAc,CAChBopB,OAAQhrB,KAAK6qC,cACZkC,EAAY,CACb9iB,MAAOjqB,KAAK8tC,YACZ3jB,KAAMnqB,KAAK8tC,aACT,IACJ5rC,IAAK,QACLqiB,IAAK,UAGP,GAAIwoB,EAAW,CACb,IAAIgB,EAAUtqC,EAAE,QAAS,CACvB4C,MAAOrG,KAAK6tC,eACX,CAACnkB,EAAQvjB,IAUZ,OARKnG,KAAKirC,UAGR8C,EAAUtqC,EAAE,MAAO,CACjB4C,MAAO,CAAC,mBAAoB,mBAC3B,CAAC0nC,KAGCA,EAKT,IAAIC,EAASvqC,IAcb,OAZMupC,IAAY7mC,IAChB6nC,EAASvqC,EAAE,QAAS,CAClB4C,MAAO,CACL,mBAAoB2mC,EACpB,uBAAwBC,GAE1B3mC,MAAO,CACL2nC,IAAKjuC,KAAK0jB,WAEXvd,IAGE1C,EAAE,MAAO,CACd4C,MAAO,CAAClE,EAAgB,CACtB,aAAc6qC,EACd,oBAAqBA,GAAWK,EAChC,iBAAkBJ,EAClB,wBAAyBA,GAAYI,EACrC,kBAAmBJ,IAAaxC,IAAYyC,EAC5C,gBAAiBA,EACjB,eAAgBD,GAAYxC,GAC3B,oBAAoB3mC,OAAO4pC,GAAeA,IAAiBX,GAAY7mC,EAAQG,OAClFyuB,MAAO5uB,EAAQ4uB,OACd,CAACpL,EAAQskB,Q,kCC5RhB,wHAaW9qC,EAAQ,eAAsB,CAEvC2sB,MAAO,eAAS,OAAmB,OAClC,aAGQqe,EAAiB,aAAIvuC,OAAO,CACrCuD,MAAOA,EACPtD,SAAU,CACR+tC,cAAe,WAEb,OAAO,eAAU3tC,KAAK6vB,OAAS7vB,KAAK6vB,MAAQ,MAE9C9G,WAAY,WACV,IAAI8G,EAAQ7vB,KAAK2tC,cACjB,OAAiB,IAAV9d,EAAiB,YAAuB,IAAVA,EAAkB,aAAe,MAExE/E,oBAAqB,WACnB,IAAIjD,EAAc7nB,KAAK6nB,YAEvB,OAAoB,IAAhBA,GAAwC,SAAhBA,GAA0C,KAAhBA,IAIxB,IAAvB7nB,KAAK2tC,cAHH,OAGsC9lB,O,kCCrCrD,sFAKW3kB,EAAQ,eAAsB,CACvCsK,UAAW,eAAS,QACpBC,cAAe,eAAS,QACxB7I,IAAK,eAAS,OAAkB,OAChC2I,YAAa,eAAS,SACrB,QAGoB,aAAI5N,OAAO,CAChCuD,MAAOA,K,kCCdT,gGAGWA,EAAQ,GAGRirC,EAAgB,aAAIxuC,OAAO,CACpCY,QAAS,CACPm0B,eAAgB,WACd,IAAItiB,EAASpS,KAAKqS,eACd5O,EAAIzD,KAAKkK,eACTkkC,EAAY3qC,IAWhB,OATIzD,KAAKwS,kBAAkB,WACzB47B,EAAY3qC,EAAE,WAAY,CACxBvB,IAAK,YACJ,CAAClC,KAAKoG,cAAc,QAA0B,CAC/CqM,QAASL,EAAOrQ,OAChBqQ,OAAQA,OAILg8B,O,kCCtBb,wHAKIC,EAAW,0BAEJnrC,EAAQ,eAAsB,CACvCorC,UAAW,eAAS,QAAmB,GACvCpkB,SAAU,eAAS,QAAmB,GACtCW,KAAM,eAAS,QACfnR,GAAI,eAAS,QACbpW,KAAM,eAAS,QACfgJ,SAAU,eAAS,QAAmB,IACrC,gBAGQiiC,EAAmB,aAAI5uC,OAAO,CACvCuD,MAAOA,EACPsW,QAAS,WACPxZ,KAAKwuC,mBAIPrjB,UAAW,WACTnrB,KAAKwuC,mBAEPjuC,QAAS,CACPiuC,gBAAiB,WACf,IAAI19B,EAAQ9Q,KAEZA,KAAK+Q,WAAU,WACb,gBAAU,WACR,IAAIsU,EAAKvU,EAAMU,IAEXV,EAAMw9B,WAAa,eAAUjpB,KAC1B,eAAQA,EAAIgpB,KACfhpB,EAAK,eAAOgpB,EAAUhpB,IAGxB,eAAaA,e,kCCxCzB,IAAI7hB,EAAS,WAAa,IAAIwG,EAAIhK,KAASiK,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACE,YAAY,gBAAgB,CAACL,EAAIO,GAAG,YAAY,IACrJK,EAAkB,GCMtB,KCPmX,I,wBCQ/WG,EAAY,eACd,EACAvH,EACAoH,GACA,EACA,KACA,WACA,MAIa,OAAAG,E,2CCnBf,qQAAS/J,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAkB3M,IAAIksC,EAAa,WACbC,EAAQ,CAAC,KAAM,KAAM,MACrBC,EAAkB,GAClBC,EAA0C,GAAlBD,EAEjBE,EAAc,SAAqBrsC,GAI5C,OAFAA,EAAQ,eAASA,IAAU,eAAUA,GAAS,eAAQA,EAAO,GAAKA,EAE3D,eAASA,GAAS,GAAGsB,OAAOtB,EAAO,MAAQA,GAAS,MAGzDqP,EAAY,eAAK,OAAY,CAAC,SAAU,QAAS,cAC1C3O,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIiQ,GAAY,GAAI,CAChGhG,IAAK,eAAS,OAAkB,UAChCwwB,UAAW,eAAS,QACpByS,MAAO,eAAS,QAA0B,GAC1CC,UAAW,eAAS,QAAmB,GACvCC,YAAa,eAAS,QACtBC,SAAU,eAAS,QAAmB,GACtCC,aAAc,eAAS,OAAkB,WACzCxC,OAAQ,eAAS,QAAmB,GACpCyC,WAAY,eAAS,OAAkB,UACvChsC,KAAM,eAAS,QACfkpB,QAAS,eAAS,QAA0B,GAC5CsR,KAAM,eAAS,QACfyR,OAAQ,eAAS,QAAmB,GACpCxjC,IAAK,eAAS,QACd2C,KAAM,eAAS,QACflK,QAAS,eAAS,OAAkB,gBACjC,QAGMsK,EAAuB,aAAIhP,OAAO,CAC3C2D,KAAM,OACNiB,OAAQ,CAAC,QACTC,OAAQ,CACN6qC,cAAe,CACb3qC,QAAS,OAGbxB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACL2rC,SAAUtvC,KAAK4L,KAAO,OAG1BhM,SAAU,CACR8tC,aAAc,WAEZ,IAAI2B,EAAgBrvC,KAAKqvC,cACzB,OAAOR,EAAYQ,EAAgBA,EAAc1R,KAAO39B,KAAK29B,OAE/D4R,gBAAiB,WACf,IAAIF,EAAgBrvC,KAAKqvC,cACzB,OAAOA,GAAiBA,EAAchrC,QAAUgrC,EAAchrC,QAAUrE,KAAKqE,SAE/EmrC,gBAAiB,WACf,IAAIH,EAAgBrvC,KAAKqvC,cACrBD,KAASC,IAAiBA,EAAcD,SAAgBpvC,KAAKovC,OAC7D/iB,EAAUgjB,GAAiBA,EAAchjB,QAAUgjB,EAAchjB,QAAUrsB,KAAKqsB,QACpF,OAAO+iB,EAAS,IAAkB,KAAZ/iB,IAAwBA,GAAW,WAE3DojB,UAAW,WACT,IAAI9R,EAAO39B,KAAK0tC,aACZgC,GAAoC,IAAzBhB,EAAMnpB,QAAQoY,GAAe,QAAQ75B,OAAO65B,EAAM,OAAO75B,OAAO6qC,EAAiB,KAAO,KACvG,OAAOe,EAAW,CAChBA,SAAUA,GACR,IAENC,YAAa,WACX,IAAIhS,EAAO39B,KAAK0tC,aACZ2B,EAAgBrvC,KAAKqvC,cACrBO,EAAeP,EAAgBA,EAAcO,aAAe,EAC5DptC,EAAQm7B,GAAQiS,EAAe,QAAQ9rC,OAAO65B,EAAM,QAAQ75B,OAAO8rC,EAAc,KAAO,KAC5F,OAAOptC,EAAQ,CACbqtC,WAAYrtC,EACZstC,YAAattC,GACX,IAENutC,WAAY,WACV,IAAIpS,EAAO39B,KAAK0tC,aACZuB,EAAWjvC,KAAKivC,SAChBF,EAAY/uC,KAAK+uC,UACjBC,EAAchvC,KAAKgvC,YACnB/N,EAAS+N,GAAe,MAC5B,MAAO,CACLU,UAAmC,IAAzBhB,EAAMnpB,QAAQoY,GAAe,QAAQ75B,OAAO65B,EAAM,OAAO75B,OAAO8qC,EAAuB,MAAQ,KACzGljC,IAAKujC,EAAWhO,EAAS,KACzB11B,OAAQ0jC,EAAW,KAAOhO,EAC1B/0B,KAAM6iC,EAAY9N,EAAS,KAC3Bh1B,MAAO8iC,EAAY,KAAO9N,KAIhCzwB,MAAO,CACL5E,IAAK,SAAa6E,EAAUC,GACtBD,IAAaC,IACf1Q,KAAKsvC,SAAW7+B,GAAY,QAIlClQ,QAAS,CACPyvC,WAAY,SAAoB/+B,GAC9BjR,KAAKsvC,SAAW,KAChBtvC,KAAKyO,MAAM,OAAsBwC,IAEnCD,QAAS,SAAiBC,GACxBjR,KAAKyO,MAAM,OAAkBwC,KAGjCzN,OAAQ,SAAgBC,GACtB,IAAIwsC,EAEA5rC,EAAUrE,KAAKuvC,gBACfrlB,EAAWlqB,KAAKkqB,SAChBmC,EAAUrsB,KAAKwvC,gBACfrsC,EAAOnD,KAAKmD,KACZyI,EAAM5L,KAAKsvC,SACX/gC,EAAOvO,KAAKuO,KACZkhC,EAAYzvC,KAAKyvC,UACjBE,EAAc3vC,KAAK2vC,YACnBhS,EAAO39B,KAAK0tC,aACZhB,EAAS1sC,KAAK0sC,OACd7hC,EAAO7K,KAAKmvC,WACZL,EAAQ9uC,KAAK8uC,MACbI,EAAelvC,KAAKkvC,aACpBa,EAAa/vC,KAAK+vC,WAClBG,GAAQxD,GAAU,eAAO1sC,MACzB4E,EAAM8nC,EAAS,OAAUwD,EAAO,OAAQ,OACxCrkC,EAAM7L,KAAK6L,IACXwwB,EAAYr8B,KAAKq8B,WAAa,KAC9Bl2B,EAAW,KAEXnG,KAAKwS,oBAEPrM,EAAW1C,EAAE,OAAQ,CACnB4G,YAAa,mBACZ,CAACrK,KAAKoG,kBACAwF,GACTzF,EAAW1C,EAAE,MAAO,CAClBqxB,MAAOzwB,EAAU,GAAK,CACpByH,MAAO,OACPC,OAAQ,QAEVzF,MAAO,CACLsF,IAAKA,EACLC,IAAKA,GAEPtF,GAAI,CACFmqB,MAAO1wB,KAAKgwC,cAGhB7pC,EAAW1C,EAAE,OAAQ,CACnB4G,YAAa,gBACZ,CAAClE,KAEJA,EADShD,EACEM,EAAE,OAAO,CAClBP,MAAO,CACLC,KAAMA,GAERmD,MAAO,CACL,cAAe,OACfuF,IAAKA,KAGA0C,EACE9K,EAAE,OAAQ,CACnB4G,YAAa,gBACbyqB,MAAO2a,GACN,CAAChsC,EAAE,OAAQ8K,KAGH9K,EAAE,OAAiB,CAC5B6C,MAAO,CACL,cAAe,OACfuF,IAAKA,KAKX,IAAIskC,EAAS1sC,IACT2sC,EAAepwC,KAAKwS,kBAAkB,QAE1C,GAAIs8B,GAAmB,KAAVA,GAAgBsB,EAAc,CACzC,IAAIC,GAAsB,IAAVvB,EAAiB,GAAKA,EACtCqB,EAAS1sC,EAAE,OAAQ,CACjB4G,YAAa,iBACbhE,MAAOlE,EAAgB,GAAI,SAAS2B,OAAOorC,GAAeA,GAC1Dpa,MAAOib,GACN,CAACK,EAAepwC,KAAKoG,cAAc,QAAmBiqC,IAG3D,IAAIC,EAAgB,CAClBjmC,YAAaokC,EACbpoC,OAAQ4pC,EAAU,GAAI9tC,EAAgB8tC,EAAS,GAAGnsC,OAAO2qC,EAAY,KAAK3qC,OAAO65B,GAAOA,IAAiC,IAAzB+Q,EAAMnpB,QAAQoY,IAAex7B,EAAgB8tC,EAAS,SAASnsC,OAAOO,IAAWqoC,GAAUroC,GAAUlC,EAAgB8tC,EAAS,WAAuB,IAAZ5jB,GAAmBlqB,EAAgB8tC,EAAS,WAAWnsC,OAAOuoB,GAAUA,IAAuB,IAAZA,GAAmBlqB,EAAgB8tC,EAAS,WAAY/lB,GAAW+lB,GAC/Xnb,MAAOlzB,EAAcA,EAAc,GAAI+tC,GAAc,GAAI,CACvD7jC,MAAO6xB,EACP5xB,OAAQ4xB,IAEVr3B,MAAO,CACL,aAAc+1B,GAAa,MAE7Bn5B,MAAOwpC,EAAS,CACdroC,QAASA,EACT6lB,SAAUA,EACVrf,KAAMA,GACJqlC,EAAO,eAAWr+B,EAAW7R,MAAQ,GACzCuG,GAAImmC,GAAUwD,EAAO,CACnBxpB,MAAO1mB,KAAKgR,SACV,IAEN,OAAOvN,EAAEmB,EAAK0rC,EAAe,CAACnqC,EAAUgqC,Q,kCC1O5C,+IAASnvC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAU3M,IAAIsP,EAAY,eAAK,OAAY,CAAC,QAAS,qBACpCA,EAAU0+B,KAAK7rC,eACfmN,EAAU+nB,GAAGl1B,QACb,IAAIxB,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIiQ,GAAY,GAAI,CAChG2+B,KAAM,eAAS,QAAmB,GAClC5rC,IAAK,eAAS,OAAkB,QAChCP,QAAS,eAAS,OAAkB,gBACjC,QAGM22B,EAAsB,aAAIr7B,OAAO,CAC1C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZod,EAAWrd,EAAKqd,SAChB8f,EAAS39B,EAAM29B,OACf3W,EAAWhnB,EAAMgnB,SACjBgmB,EAAO,eAAOhtC,GACd0B,EAAMsrC,EAAO,OAAQhtC,EAAM0B,IAC3BP,EAAUnB,EAAMmB,SAAW,YAC/B,OAAOZ,EAAEmB,EAAK,eAAUjB,EAAM,CAC5B0G,YAAa,QACbhE,MAAO,CAAC,SAASvC,OAAOO,GAAU,CAChC,aAAcnB,EAAMstC,KACpB3P,OAAQA,EACR3W,SAAUA,IAEZhnB,MAAOgtC,EAAO,eAAWr+B,EAAW3O,GAAS,KAC3C6d,O,mBC7CRxX,EAAOC,QAAU","file":"js/chunk-19a76bb3.07cf1115.js","sourcesContent":["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});","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_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\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_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"timeline-item\",class:[(\"timeline-variant-\" + _vm.variant), _vm.fillBorder ? (\"timeline-item-fill-border-\" + _vm.variant) : null]},[(!_vm.icon)?_c('div',{staticClass:\"timeline-item-point\"}):_c('div',{staticClass:\"timeline-item-icon d-flex align-items-center justify-content-center rounded-circle\"},[_c('feather-icon',{attrs:{\"icon\":_vm.icon}})],1),_vm._t(\"default\",[_c('div',{staticClass:\"d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0\"},[_c('h6',{domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('small',{staticClass:\"timeline-item-time text-nowrap text-muted\",domProps:{\"textContent\":_vm._s(_vm.time)}})]),_c('p',{staticClass:\"mb-0\",domProps:{\"textContent\":_vm._s(_vm.subtitle)}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppTimelineItem.vue?vue&type=template&id=4d50203e&scoped=true&\"\nimport script from \"./AppTimelineItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppTimelineItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppTimelineItem.vue?vue&type=style&index=0&id=4d50203e&lang=scss&scoped=true&\"\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 \"4d50203e\",\n null\n \n)\n\nexport default component.exports","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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true&\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&lang=scss&scoped=true&\"\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 \"55dd3057\",\n null\n \n)\n\nexport default component.exports","'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 { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\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_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\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 } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\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 } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _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 { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\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_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\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_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceList.vue?vue&type=style&index=0&id=567a9668&lang=scss&scoped=true&\"","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\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\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\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 { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\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 } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\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 { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': 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 noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\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 } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\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_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});","'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--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceList.vue?vue&type=style&index=1&lang=scss&\"","import axios from '@axios'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {},\r\n getters: {},\r\n mutations: {},\r\n actions: {\r\n fetchUsers(ctx, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/user/users', { params: queryParams })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchUser(ctx, { id }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/apps/user/users/${id}`)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n addUser(ctx, userData) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post('/apps/user/users', { user: userData })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n },\r\n}\r\n","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\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_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } 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 { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\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 = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\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_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=style&index=0&id=879a380c&lang=scss&scoped=true&\"","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\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 { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\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\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","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_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\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 verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\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.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\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 { 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};","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","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_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import axios from '@axios'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {},\r\n getters: {},\r\n mutations: {},\r\n actions: {\r\n fetchInvoices(ctx, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/invoice/invoices', { params: queryParams })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchInvoice(ctx, { id }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/apps/invoice/invoices/${id}`)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchClients() {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/invoice/clients')\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n // addUser(ctx, userData) {\r\n // return new Promise((resolve, reject) => {\r\n // axios\r\n // .post('/apps/user/users', { user: userData })\r\n // .then(response => resolve(response))\r\n // .catch(error => reject(error))\r\n // })\r\n // },\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"m-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start mb-1 mb-md-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Entries\")]),_c('v-select',{staticClass:\"per-page-selector d-inline-block ml-50 mr-1\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.perPageOptions,\"clearable\":false},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('b-button',{attrs:{\"variant\":\"primary\",\"to\":{ name: 'apps-invoice-add'}}},[_vm._v(\" Add Record \")])],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-form-input',{staticClass:\"d-inline-block mr-1\",attrs:{\"placeholder\":\"Search...\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('v-select',{staticClass:\"invoice-filter-select\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.statusOptions,\"placeholder\":\"Select Status\"},scopedSlots:_vm._u([{key:\"selected-option\",fn:function(ref){\nvar label = ref.label;\nreturn [_c('span',{staticClass:\"text-truncate overflow-hidden\"},[_vm._v(\" \"+_vm._s(label)+\" \")])]}}]),model:{value:(_vm.statusFilter),callback:function ($$v) {_vm.statusFilter=$$v},expression:\"statusFilter\"}})],1)])],1)],1),_c('b-table',{ref:\"refInvoiceListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.fetchInvoices,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":\"No matching records found\",\"sort-desc\":_vm.isSortDirDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.isSortDirDesc=$event},\"update:sort-desc\":function($event){_vm.isSortDirDesc=$event}},scopedSlots:_vm._u([{key:\"head(invoiceStatus)\",fn:function(){return [_c('feather-icon',{staticClass:\"mx-auto\",attrs:{\"icon\":\"TrendingUpIcon\"}})]},proxy:true},{key:\"cell(id)\",fn:function(data){return [_c('b-link',{staticClass:\"font-weight-bold\",attrs:{\"to\":{ name: 'apps-invoice-preview', params: { id: data.item.id }}}},[_vm._v(\" #\"+_vm._s(data.value)+\" \")])]}},{key:\"cell(invoiceStatus)\",fn:function(data){return [_c('b-avatar',{attrs:{\"id\":(\"invoice-row-\" + (data.item.id)),\"size\":\"32\",\"variant\":(\"light-\" + (_vm.resolveInvoiceStatusVariantAndIcon(data.item.invoiceStatus).variant))}},[_c('feather-icon',{attrs:{\"icon\":_vm.resolveInvoiceStatusVariantAndIcon(data.item.invoiceStatus).icon}})],1),_c('b-tooltip',{attrs:{\"target\":(\"invoice-row-\" + (data.item.id)),\"placement\":\"top\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.item.invoiceStatus)+\" \")]),_c('p',{staticClass:\"mb-0\"},[_vm._v(\" Balance: \"+_vm._s(data.item.balance)+\" \")]),_c('p',{staticClass:\"mb-0\"},[_vm._v(\" Due Date: \"+_vm._s(data.item.dueDate)+\" \")])])]}},{key:\"cell(client)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{attrs:{\"size\":\"32\",\"src\":data.item.avatar,\"text\":_vm.avatarText(data.item.client.name),\"variant\":(\"light-\" + (_vm.resolveClientAvatarVariant(data.item.invoiceStatus)))}})]},proxy:true}],null,true)},[_c('span',{staticClass:\"font-weight-bold d-block text-nowrap\"},[_vm._v(\" \"+_vm._s(data.item.client.name)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.item.client.companyEmail))])])]}},{key:\"cell(issuedDate)\",fn:function(data){return [_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(data.value)+\" \")])]}},{key:\"cell(balance)\",fn:function(data){return [(data.value === 0)?[_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":\"light-success\"}},[_vm._v(\" Paid \")])]:[_vm._v(\" \"+_vm._s(data.value)+\" \")]]}},{key:\"cell(actions)\",fn:function(data){return [_c('div',{staticClass:\"text-nowrap\"},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"id\":(\"invoice-row-\" + (data.item.id) + \"-send-icon\"),\"icon\":\"SendIcon\",\"size\":\"16\"}}),_c('b-tooltip',{staticClass:\"cursor-pointer\",attrs:{\"title\":\"Send Invoice\",\"target\":(\"invoice-row-\" + (data.item.id) + \"-send-icon\")}}),_c('feather-icon',{staticClass:\"mx-1\",attrs:{\"id\":(\"invoice-row-\" + (data.item.id) + \"-preview-icon\"),\"icon\":\"EyeIcon\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.$router.push({ name: 'apps-invoice-preview', params: { id: data.item.id }})}}}),_c('b-tooltip',{attrs:{\"title\":\"Preview Invoice\",\"target\":(\"invoice-row-\" + (data.item.id) + \"-preview-icon\")}}),_c('b-dropdown',{attrs:{\"variant\":\"link\",\"toggle-class\":\"p-0\",\"no-caret\":\"\",\"right\":_vm.$store.state.appConfig.isRTL},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"16\"}})]},proxy:true}],null,true)},[_c('b-dropdown-item',[_c('feather-icon',{attrs:{\"icon\":\"DownloadIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Download\")])],1),_c('b-dropdown-item',{attrs:{\"to\":{ name: 'apps-invoice-edit', params: { id: data.item.id } }}},[_c('feather-icon',{attrs:{\"icon\":\"EditIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Edit\")])],1),_c('b-dropdown-item',[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Delete\")])],1),_c('b-dropdown-item',[_c('feather-icon',{attrs:{\"icon\":\"CopyIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Duplicate\")])],1)],1)],1)]}}])}),_c('div',{staticClass:\"mx-2 mb-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-start\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\"Showing \"+_vm._s(_vm.dataMeta.from)+\" to \"+_vm._s(_vm.dataMeta.to)+\" of \"+_vm._s(_vm.dataMeta.of)+\" entries\")])]),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-end\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('b-pagination',{staticClass:\"mb-0 mt-1 mt-sm-0\",attrs:{\"total-rows\":_vm.totalInvoices,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, watch, computed } from '@vue/composition-api'\r\nimport store from '@/store'\r\n\r\n// Notification\r\nimport { useToast } from 'vue-toastification/composition'\r\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\r\n\r\nexport default function useInvoicesList() {\r\n // Use toast\r\n const toast = useToast()\r\n\r\n const refInvoiceListTable = ref(null)\r\n\r\n // Table Handlers\r\n const tableColumns = [\r\n { key: 'id', label: '#', sortable: true },\r\n { key: 'invoiceStatus', sortable: true },\r\n { key: 'client', sortable: true },\r\n { key: 'total', sortable: true, formatter: val => `$${val}` },\r\n { key: 'issuedDate', sortable: true },\r\n { key: 'balance', sortable: true },\r\n { key: 'actions' },\r\n ]\r\n const perPage = ref(10)\r\n const totalInvoices = ref(0)\r\n const currentPage = ref(1)\r\n const perPageOptions = [10, 25, 50, 100]\r\n const searchQuery = ref('')\r\n const sortBy = ref('id')\r\n const isSortDirDesc = ref(true)\r\n const statusFilter = ref(null)\r\n\r\n const dataMeta = computed(() => {\r\n const localItemsCount = refInvoiceListTable.value ? refInvoiceListTable.value.localItems.length : 0\r\n return {\r\n from: perPage.value * (currentPage.value - 1) + (localItemsCount ? 1 : 0),\r\n to: perPage.value * (currentPage.value - 1) + localItemsCount,\r\n of: totalInvoices.value,\r\n }\r\n })\r\n\r\n const refetchData = () => {\r\n refInvoiceListTable.value.refresh()\r\n }\r\n\r\n watch([currentPage, perPage, searchQuery, statusFilter], () => {\r\n refetchData()\r\n })\r\n\r\n const fetchInvoices = (ctx, callback) => {\r\n store\r\n .dispatch('app-invoice/fetchInvoices', {\r\n q: searchQuery.value,\r\n perPage: perPage.value,\r\n page: currentPage.value,\r\n sortBy: sortBy.value,\r\n sortDesc: isSortDirDesc.value,\r\n status: statusFilter.value,\r\n })\r\n .then(response => {\r\n const { invoices, total } = response.data\r\n\r\n callback(invoices)\r\n totalInvoices.value = total\r\n })\r\n .catch(() => {\r\n toast({\r\n component: ToastificationContent,\r\n props: {\r\n title: \"Error fetching invoices' list\",\r\n icon: 'AlertTriangleIcon',\r\n variant: 'danger',\r\n },\r\n })\r\n })\r\n }\r\n\r\n // *===============================================---*\r\n // *--------- UI ---------------------------------------*\r\n // *===============================================---*\r\n\r\n const resolveInvoiceStatusVariantAndIcon = status => {\r\n if (status === 'Partial Payment') return { variant: 'warning', icon: 'PieChartIcon' }\r\n if (status === 'Paid') return { variant: 'success', icon: 'CheckCircleIcon' }\r\n if (status === 'Downloaded') return { variant: 'info', icon: 'ArrowDownCircleIcon' }\r\n if (status === 'Draft') return { variant: 'primary', icon: 'SaveIcon' }\r\n if (status === 'Sent') return { variant: 'secondary', icon: 'SendIcon' }\r\n if (status === 'Past Due') return { variant: 'danger', icon: 'InfoIcon' }\r\n return { variant: 'secondary', icon: 'XIcon' }\r\n }\r\n\r\n const resolveClientAvatarVariant = status => {\r\n if (status === 'Partial Payment') return 'primary'\r\n if (status === 'Paid') return 'danger'\r\n if (status === 'Downloaded') return 'secondary'\r\n if (status === 'Draft') return 'warning'\r\n if (status === 'Sent') return 'info'\r\n if (status === 'Past Due') return 'success'\r\n return 'primary'\r\n }\r\n\r\n return {\r\n fetchInvoices,\r\n tableColumns,\r\n perPage,\r\n currentPage,\r\n totalInvoices,\r\n dataMeta,\r\n perPageOptions,\r\n searchQuery,\r\n sortBy,\r\n isSortDirDesc,\r\n refInvoiceListTable,\r\n\r\n statusFilter,\r\n\r\n resolveInvoiceStatusVariantAndIcon,\r\n resolveClientAvatarVariant,\r\n\r\n refetchData,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoiceList.vue?vue&type=template&id=567a9668&scoped=true&\"\nimport script from \"./InvoiceList.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoiceList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InvoiceList.vue?vue&type=style&index=0&id=567a9668&lang=scss&scoped=true&\"\nimport style1 from \"./InvoiceList.vue?vue&type=style&index=1&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 \"567a9668\",\n null\n \n)\n\nexport default component.exports","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_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\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 }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","var _objectSpread2;\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_FORM_CHECKBOX } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { isArray } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { looseIndexOf } from '../../utils/loose-index-of';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'; // --- Constants ---\n\nvar MODEL_PROP_NAME_INDETERMINATE = 'indeterminate';\nvar MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formRadioCheckProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_INDETERMINATE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"switch\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"uncheckedValue\", makeProp(PROP_TYPE_ANY, false)), _defineProperty(_objectSpread2, \"value\", makeProp(PROP_TYPE_ANY, true)), _objectSpread2))), NAME_FORM_CHECKBOX); // --- Main component ---\n// @vue/component\n\nexport var BFormCheckbox = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props: props,\n computed: {\n isChecked: function isChecked() {\n var value = this.value,\n checked = this.computedLocalChecked;\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);\n },\n isRadio: function isRadio() {\n return false;\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME_INDETERMINATE, function (newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue);\n }\n }),\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE]);\n },\n methods: {\n computedLocalCheckedWatcher: function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n var $input = this.$refs.input;\n\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate);\n }\n }\n },\n handleChange: function handleChange(_ref) {\n var _this = this;\n\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var value = this.value,\n uncheckedValue = this.uncheckedValue; // Update `computedLocalChecked`\n\n var localChecked = this.computedLocalChecked;\n\n if (isArray(localChecked)) {\n var index = looseIndexOf(localChecked, value);\n\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // 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 _this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate);\n });\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false;\n }\n\n var $input = this.$refs.input;\n\n if ($input) {\n $input.indeterminate = state; // Emit update event to prop\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state);\n }\n }\n }\n});","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\n};","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import router from '@/router'\r\n// eslint-disable-next-line object-curly-newline\r\nimport { reactive, getCurrentInstance, watch, toRefs } 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 => 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\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 { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\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});","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\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 } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"app-timeline\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppTimeline.vue?vue&type=template&id=879a380c&scoped=true&\"\nimport script from \"./AppTimeline.vue?vue&type=script&lang=js&\"\nexport * from \"./AppTimeline.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppTimeline.vue?vue&type=style&index=0&id=879a380c&lang=scss&scoped=true&\"\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 \"879a380c\",\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 } 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});","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_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\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 active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAABdCAYAAADzCKvfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExODA4M0IxNEM4MzdEODk1OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyQTY5RDZFNjk2NDUxMUU5QjgzM0NGNjBGOUVEM0JBMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyQTY5RDZFNTk2NDUxMUU5QjgzM0NGNjBGOUVEM0JBMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDE4MDExNzQwNzIwNjgxMTgwODNCMTRDODM3RDg5NTgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4MDExNzQwNzIwNjgxMTgwODNCMTRDODM3RDg5NTgiLz4gPC9yZGY6RGVzY3Jp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\""],"sourceRoot":""}