{"version":3,"file":"BAlert-DaQxH8c1.mjs","names":[],"sources":["../src/components/BAlert/BAlert.vue","../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n  <Transition\n    v-if=\"renderRef || contentShowing\"\n    v-bind=\"transitionProps\"\n    :appear=\"!!modelValue || props.visible\"\n  >\n    <div\n      v-show=\"isAlertVisible\"\n      :id=\"props.id\"\n      ref=\"_element\"\n      class=\"alert\"\n      :class=\"[props.alertClass, computedClasses]\"\n      tabindex=\"0\"\n      :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n      :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n      :aria-atomic=\"!isAlertVisible ? undefined : true\"\n    >\n      <component\n        :is=\"props.headerTag\"\n        v-if=\"contentShowing && (slots.title || props.title)\"\n        class=\"alert-heading d-flex gap-2\"\n        :class=\"props.headerClass\"\n      >\n        <slot name=\"title\" v-bind=\"sharedSlots\">\n          <span>\n            {{ props.title }}\n          </span>\n        </slot>\n        <template v-if=\"props.dismissible\">\n          <BButton\n            v-if=\"slots.close || props.closeContent\"\n            :class=\"[props.closeClass]\"\n            class=\"ms-auto ps-1 btn-close-custom\"\n            :variant=\"props.closeVariant\"\n            @click.stop.prevent=\"hide('close')\"\n          >\n            <slot name=\"close\" v-bind=\"sharedSlots\">\n              {{ props.closeContent }}\n            </slot>\n          </BButton>\n          <BCloseButton\n            v-else\n            :aria-label=\"props.closeLabel\"\n            :class=\"[props.closeClass]\"\n            @click.stop.prevent=\"hide('close')\"\n          />\n        </template>\n      </component>\n      <template v-if=\"contentShowing && (slots.default || props.body)\">\n        <div class=\"d-flex gap-2\">\n          <component\n            :is=\"computedTag\"\n            class=\"alert-body\"\n            :class=\"props.bodyClass\"\n            v-bind=\"computedLinkProps\"\n            @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n          >\n            <slot v-bind=\"sharedSlots\">\n              {{ props.body }}\n            </slot>\n          </component>\n\n          <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n            <BButton\n              v-if=\"slots.close || props.closeContent\"\n              :class=\"[props.closeClass]\"\n              class=\"ms-auto btn-close-custom\"\n              :variant=\"props.closeVariant\"\n              @click.stop.prevent=\"hide('close')\"\n            >\n              <slot name=\"close\" v-bind=\"sharedSlots\">\n                {{ props.closeContent }}\n              </slot>\n            </BButton>\n            <BCloseButton\n              v-else\n              :aria-label=\"props.closeLabel\"\n              :class=\"[props.closeClass]\"\n              @click.stop.prevent=\"hide('close')\"\n            />\n          </template>\n        </div>\n      </template>\n      <BProgress\n        v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n        :animated=\"props.progressProps.animated\"\n        :precision=\"props.progressProps.precision\"\n        :show-progress=\"props.progressProps.showProgress\"\n        :show-value=\"props.progressProps.showValue\"\n        :striped=\"props.progressProps.striped\"\n        :variant=\"props.progressProps.variant\"\n        :max=\"modelValue\"\n        :value=\"remainingMs\"\n        height=\"4px\"\n      />\n    </div>\n  </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n  bgVariant: null,\n  body: undefined,\n  bodyClass: undefined,\n  closeClass: undefined,\n  closeContent: undefined,\n  closeLabel: 'Close',\n  closeVariant: 'secondary',\n  dismissible: false,\n  headerClass: undefined,\n  headerTag: 'div',\n  id: undefined,\n  initialAnimation: false,\n  interval: 'requestAnimationFrame',\n  isStatus: false,\n  lazy: false,\n  noFade: false,\n  noHoverPause: false,\n  noResumeOnHoverLeave: false,\n  progressProps: undefined,\n  unmountLazy: false,\n  showOnPause: true,\n  show: false,\n  solid: false,\n  textVariant: null,\n  title: undefined,\n  alertClass: undefined,\n  transProps: undefined,\n  visible: false,\n  // Link props\n  // All others use defaults\n  noRel: undefined,\n  active: undefined,\n  activeClass: undefined,\n  disabled: undefined,\n  exactActiveClass: undefined,\n  href: undefined,\n  icon: undefined,\n  opacity: undefined,\n  opacityHover: undefined,\n  stretched: false,\n  rel: undefined,\n  replace: undefined,\n  routerComponentName: undefined,\n  target: undefined,\n  to: undefined,\n  underlineOffset: undefined,\n  underlineOffsetHover: undefined,\n  underlineOpacity: undefined,\n  underlineOpacityHover: undefined,\n  underlineVariant: undefined,\n  // End link props\n  variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n  showRef,\n  renderRef,\n  hide,\n  toggle,\n  show,\n  buildTriggerableEvent,\n  computedNoAnimation,\n  isVisible,\n  transitionProps,\n  contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n  typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n  isActive,\n  pause,\n  restart,\n  resume,\n  stop,\n  isPaused,\n  value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n  immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n  element,\n  {\n    noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n    noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n    modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n  },\n  {pause, resume}\n)\n\nwatchEffect(() => {\n  emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n  () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n  // colorClasses.value,\n  {\n    [`alert-${props.variant}`]: props.variant !== null,\n    'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n    'show': isVisible.value,\n    'fade': !computedNoAnimation.value,\n  },\n])\n\nwatch(modelValue, (newValue) => {\n  if (typeof newValue === 'number') {\n    const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n    emit('show', event)\n    if (event.defaultPrevented) {\n      emit('show-prevented', buildTriggerableEvent('show-prevented'))\n    } else {\n      restart()\n    }\n  }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n  if (newValue === false && isPaused.value === false) {\n    hide()\n    modelValue.value = 0\n    stop()\n  }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n  toggle,\n  show,\n  hide,\n  id: computedId.value,\n  visible: showRef.value,\n  active: isActive.value,\n}))\n\ndefineExpose({\n  show,\n  hide,\n  toggle,\n  pause,\n  restart,\n  resume,\n  stop,\n})\n</script>\n","<template>\n  <Transition\n    v-if=\"renderRef || contentShowing\"\n    v-bind=\"transitionProps\"\n    :appear=\"!!modelValue || props.visible\"\n  >\n    <div\n      v-show=\"isAlertVisible\"\n      :id=\"props.id\"\n      ref=\"_element\"\n      class=\"alert\"\n      :class=\"[props.alertClass, computedClasses]\"\n      tabindex=\"0\"\n      :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n      :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n      :aria-atomic=\"!isAlertVisible ? undefined : true\"\n    >\n      <component\n        :is=\"props.headerTag\"\n        v-if=\"contentShowing && (slots.title || props.title)\"\n        class=\"alert-heading d-flex gap-2\"\n        :class=\"props.headerClass\"\n      >\n        <slot name=\"title\" v-bind=\"sharedSlots\">\n          <span>\n            {{ props.title }}\n          </span>\n        </slot>\n        <template v-if=\"props.dismissible\">\n          <BButton\n            v-if=\"slots.close || props.closeContent\"\n            :class=\"[props.closeClass]\"\n            class=\"ms-auto ps-1 btn-close-custom\"\n            :variant=\"props.closeVariant\"\n            @click.stop.prevent=\"hide('close')\"\n          >\n            <slot name=\"close\" v-bind=\"sharedSlots\">\n              {{ props.closeContent }}\n            </slot>\n          </BButton>\n          <BCloseButton\n            v-else\n            :aria-label=\"props.closeLabel\"\n            :class=\"[props.closeClass]\"\n            @click.stop.prevent=\"hide('close')\"\n          />\n        </template>\n      </component>\n      <template v-if=\"contentShowing && (slots.default || props.body)\">\n        <div class=\"d-flex gap-2\">\n          <component\n            :is=\"computedTag\"\n            class=\"alert-body\"\n            :class=\"props.bodyClass\"\n            v-bind=\"computedLinkProps\"\n            @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n          >\n            <slot v-bind=\"sharedSlots\">\n              {{ props.body }}\n            </slot>\n          </component>\n\n          <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n            <BButton\n              v-if=\"slots.close || props.closeContent\"\n              :class=\"[props.closeClass]\"\n              class=\"ms-auto btn-close-custom\"\n              :variant=\"props.closeVariant\"\n              @click.stop.prevent=\"hide('close')\"\n            >\n              <slot name=\"close\" v-bind=\"sharedSlots\">\n                {{ props.closeContent }}\n              </slot>\n            </BButton>\n            <BCloseButton\n              v-else\n              :aria-label=\"props.closeLabel\"\n              :class=\"[props.closeClass]\"\n              @click.stop.prevent=\"hide('close')\"\n            />\n          </template>\n        </div>\n      </template>\n      <BProgress\n        v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n        :animated=\"props.progressProps.animated\"\n        :precision=\"props.progressProps.precision\"\n        :show-progress=\"props.progressProps.showProgress\"\n        :show-value=\"props.progressProps.showValue\"\n        :striped=\"props.progressProps.striped\"\n        :variant=\"props.progressProps.variant\"\n        :max=\"modelValue\"\n        :value=\"remainingMs\"\n        height=\"4px\"\n      />\n    </div>\n  </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n  bgVariant: null,\n  body: undefined,\n  bodyClass: undefined,\n  closeClass: undefined,\n  closeContent: undefined,\n  closeLabel: 'Close',\n  closeVariant: 'secondary',\n  dismissible: false,\n  headerClass: undefined,\n  headerTag: 'div',\n  id: undefined,\n  initialAnimation: false,\n  interval: 'requestAnimationFrame',\n  isStatus: false,\n  lazy: false,\n  noFade: false,\n  noHoverPause: false,\n  noResumeOnHoverLeave: false,\n  progressProps: undefined,\n  unmountLazy: false,\n  showOnPause: true,\n  show: false,\n  solid: false,\n  textVariant: null,\n  title: undefined,\n  alertClass: undefined,\n  transProps: undefined,\n  visible: false,\n  // Link props\n  // All others use defaults\n  noRel: undefined,\n  active: undefined,\n  activeClass: undefined,\n  disabled: undefined,\n  exactActiveClass: undefined,\n  href: undefined,\n  icon: undefined,\n  opacity: undefined,\n  opacityHover: undefined,\n  stretched: false,\n  rel: undefined,\n  replace: undefined,\n  routerComponentName: undefined,\n  target: undefined,\n  to: undefined,\n  underlineOffset: undefined,\n  underlineOffsetHover: undefined,\n  underlineOpacity: undefined,\n  underlineOpacityHover: undefined,\n  underlineVariant: undefined,\n  // End link props\n  variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n  showRef,\n  renderRef,\n  hide,\n  toggle,\n  show,\n  buildTriggerableEvent,\n  computedNoAnimation,\n  isVisible,\n  transitionProps,\n  contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n  typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n  isActive,\n  pause,\n  restart,\n  resume,\n  stop,\n  isPaused,\n  value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n  immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n  element,\n  {\n    noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n    noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n    modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n  },\n  {pause, resume}\n)\n\nwatchEffect(() => {\n  emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n  () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n  // colorClasses.value,\n  {\n    [`alert-${props.variant}`]: props.variant !== null,\n    'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n    'show': isVisible.value,\n    'fade': !computedNoAnimation.value,\n  },\n])\n\nwatch(modelValue, (newValue) => {\n  if (typeof newValue === 'number') {\n    const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n    emit('show', event)\n    if (event.defaultPrevented) {\n      emit('show-prevented', buildTriggerableEvent('show-prevented'))\n    } else {\n      restart()\n    }\n  }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n  if (newValue === false && isPaused.value === false) {\n    hide()\n    modelValue.value = 0\n    stop()\n  }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n  toggle,\n  show,\n  hide,\n  id: computedId.value,\n  visible: showRef.value,\n  active: isActive.value,\n}))\n\ndefineExpose({\n  show,\n  hide,\n  toggle,\n  pause,\n  restart,\n  resume,\n  stop,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwKA,MAAM,QAAQ,YAtDC,SAsDmB,SAAQ;EAC1C,MAAM,OAAO;EACb,MAAM,QAAQ,UAAA;EAEd,MAAM,UAAU,eAAe,WAAU;EAEzC,MAAM,aAAa,SAA0D,SAAA,aAAiB;EAC9F,MAAM,EAAC,cAAc,sBAAqB,eAAe,MAAK;EAE9D,MAAM,aAAa,cAAY,MAAM,IAAI,QAAO;EAEhD,MAAM,EACJ,SACA,WACA,MACA,QACA,MACA,uBACA,qBACA,WACA,iBACA,mBACE,YAAY,YAAY,OAAO,MAAgB,SAAS,WAAU;EAOtE,MAAM,EACJ,UACA,OACA,SACA,QACA,MACA,UACA,OAAO,gBACL,aAZoB,eACtB,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW,MACzD,EAUkC,MAAM,UAAU,EAChD,WAAW,OAAO,WAAW,UAAU,YAAY,CAAC,CAAC,WAAW,OACjE,CAAA;AACD,oBACE,SACA;GACE,oBAAoB,MAAM,gBAAgB,OAAO,WAAW,UAAU;GACtE,4BAA4B,MAAM,wBAAwB,OAAO,WAAW,UAAU;GACtF,8BAA8B,OAAO,WAAW,UAAU;GAC3D,EACD;GAAC;GAAO;GAAM,CAChB;AAEA,oBAAkB;AAChB,QAAK,mBAAmB,YAAY,MAAK;IAC1C;EAED,MAAM,cAAc,eAAgB,aAAa,QAAQ,gBAAQ,MAAM;EAEvE,MAAM,iBAAiB,eACf,QAAQ,SAAS,SAAS,SAAU,MAAM,eAAe,SAAS,MAC1E;EAGA,MAAM,kBAAkB,eAAe,CAErC;IACG,SAAS,MAAM,YAAY,MAAM,YAAY;GAC9C,qBAAqB,MAAM,eAAe,EAAE,MAAM,SAAS,MAAM;GACjE,QAAQ,UAAU;GAClB,QAAQ,CAAC,oBAAoB;GAC9B,CACF,CAAA;AAED,QAAM,aAAa,aAAa;AAC9B,OAAI,OAAO,aAAa,UAAU;IAChC,MAAM,QAAQ,sBAAsB,QAAQ;KAAC,YAAY;KAAM,SAAS;KAAQ,CAAA;AAChF,SAAK,QAAQ,MAAK;AAClB,QAAI,MAAM,iBACR,MAAK,kBAAkB,sBAAsB,iBAAiB,CAAA;QAE9D,UAAQ;;IAGb;AAGD,QAAM,WAAW,aAAa;AAC5B,OAAI,aAAa,SAAS,SAAS,UAAU,OAAO;AAClD,UAAK;AACL,eAAW,QAAQ;AACnB,UAAK;;IAER;EACD,MAAM,cAAc,gBAAmC;GACrD;GACA;GACA;GACA,IAAI,WAAW;GACf,SAAS,QAAQ;GACjB,QAAQ,SAAS;GAClB,EAAC;AAEF,WAAa;GACX;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAA;;;UAlRS,MAAA,UAAS,IAAI,MAAA,eAAc,IAAA,WAAA,EADnC,YA+Fa,YA/Fb,WA+Fa,EAAA,KAAA,GAAA,EA7FH,MAAA,gBAAe,EAAA,EACtB,QAAM,CAAA,CAAI,WAAA,SAAc,MAAA,MAAK,CAAC,SAAA,CAAA,EAAA;2BA2FzB,CAAA,eAzFN,mBAyFM,OAAA;KAvFH,IAAI,MAAA,MAAK,CAAC;KACX,KAAI;KACJ,OAAK,eAAA,CAAC,SAAO,CACJ,MAAA,MAAK,CAAC,YAAY,gBAAA,MAAe,CAAA,CAAA;KAC1C,UAAS;KACR,MAAI,CAAG,eAAA,QAAiB,KAAA,IAAY,MAAA,MAAK,CAAC,WAAQ,WAAA;KAClD,aAAS,CAAG,eAAA,QAAiB,KAAA,IAAY,MAAA,MAAK,CAAC,WAAQ,WAAA;KACvD,eAAW,CAAG,eAAA,QAAiB,KAAA,IAAS;;KAIjC,MAAA,eAAc,KAAK,MAAM,SAAS,MAAA,MAAK,CAAC,UAAA,WAAA,EAFhD,YA8BY,wBA7BL,MAAA,MAAK,CAAC,UAAS,EAAA;;MAEpB,OAAK,eAAA,CAAC,8BACE,MAAA,MAAK,CAAC,YAAW,CAAA;;6BAMlB,CAJP,WAIO,KAAA,QAAA,SAAA,eAAA,mBAJoB,YAAA,MAAW,CAAA,QAI/B,CAHL,mBAEO,QAAA,MAAA,gBADF,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,EAGF,MAAA,MAAK,CAAC,eAAA,WAAA,EAAtB,mBAkBW,UAAA,EAAA,KAAA,GAAA,EAAA,CAhBD,MAAM,SAAS,MAAA,MAAK,CAAC,gBAAA,WAAA,EAD7B,YAUU,oBAAA;;OARP,OAAK,eAAA,CAAA,CAAG,MAAA,MAAK,CAAC,WAAU,EACnB,gCAA+B,CAAA;OACpC,SAAS,MAAA,MAAK,CAAC;OACf,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAe,MAAA,KAAI,CAAA,QAAA,EAAA,CAAA,QAAA,UAAA,CAAA;;8BAIlB,CAFP,WAEO,KAAA,QAAA,SAAA,eAAA,mBAFoB,YAAA,MAAW,CAAA,QAE/B,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,aAAY,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;mDAGzB,YAKE,sBAAA;;OAHC,cAAY,MAAA,MAAK,CAAC;OAClB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,WAAU,CAAA;OACxB,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAe,MAAA,KAAI,CAAA,QAAA,EAAA,CAAA,QAAA,UAAA,CAAA;;;;KAIf,MAAA,eAAc,KAAK,MAAM,WAAW,MAAA,MAAK,CAAC,SAAA,WAAA,EACxD,mBAgCM,OAhCN,YAgCM,EAAA,WAAA,EA/BJ,YAUY,wBATL,YAAA,MAAW,EADlB,WAUY,EARV,OAAK,CAAC,cACE,MAAA,MAAK,CAAC,UAAS,EAAA,EACf,MAAA,kBAAiB,EAAA,EACxB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,IAAI,MAAA,MAAK,CAAC,cAAc,MAAA,KAAI,EAAA,SAAA,KAAA,CAAA,EAAA;6BAIzC,CAFP,WAEO,KAAA,QAAA,WAAA,eAAA,mBAFO,YAAA,MAAW,CAAA,QAElB,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;yBAID,MAAA,MAAK,CAAC,eAAW,EAAM,MAAM,SAAS,MAAA,MAAK,CAAC,UAAA,WAAA,EAA5D,mBAkBW,UAAA,EAAA,KAAA,GAAA,EAAA,CAhBD,MAAM,SAAS,MAAA,MAAK,CAAC,gBAAA,WAAA,EAD7B,YAUU,oBAAA;;MARP,OAAK,eAAA,CAAA,CAAG,MAAA,MAAK,CAAC,WAAU,EACnB,2BAA0B,CAAA;MAC/B,SAAS,MAAA,MAAK,CAAC;MACf,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAe,MAAA,KAAI,CAAA,QAAA,EAAA,CAAA,QAAA,UAAA,CAAA;;6BAIlB,CAFP,WAEO,KAAA,QAAA,SAAA,eAAA,mBAFoB,YAAA,MAAW,CAAA,QAE/B,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,aAAY,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;kDAGzB,YAKE,sBAAA;;MAHC,cAAY,MAAA,MAAK,CAAC;MAClB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,WAAU,CAAA;MACxB,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAe,MAAA,KAAI,CAAA,QAAA,EAAA,CAAA,QAAA,UAAA,CAAA;;YAMlB,WAAA,UAAU,YAAiB,MAAA,MAAK,CAAC,kBAAkB,KAAA,KAAA,WAAA,EADlE,YAWE,mBAAA;;MATC,UAAU,MAAA,MAAK,CAAC,cAAc;MAC9B,WAAW,MAAA,MAAK,CAAC,cAAc;MAC/B,iBAAe,MAAA,MAAK,CAAC,cAAc;MACnC,cAAY,MAAA,MAAK,CAAC,cAAc;MAChC,SAAS,MAAA,MAAK,CAAC,cAAc;MAC7B,SAAS,MAAA,MAAK,CAAC,cAAc;MAC7B,KAAK,WAAA;MACL,OAAO,MAAA,YAAW;MACnB,QAAO;;;;;;;;;;;iCAtFD,eAAA,MAAc,CAAA,CAAA,CAAA,CAAA"}