Welcome to mirror list, hosted at ThFree Co, Russian Federation.

bootstrap.esm.js.map « js « dist - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6b8fcd3847bd0ac249450a6229bba0902b8c7eaa (plain)
1
{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n  if (obj === null || obj === undefined) {\n    return `${obj}`\n  }\n\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    const hrefAttr = element.getAttribute('href')\n\n    selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n  }\n\n  return selector\n}\n\nconst getSelectorFromElement = element => {\n  const selector = getSelector(element)\n\n  if (selector) {\n    return document.querySelector(selector) ? selector : null\n  }\n\n  return null\n}\n\nconst getElementFromSelector = element => {\n  const selector = getSelector(element)\n\n  return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let {\n    transitionDuration,\n    transitionDelay\n  } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n  let called = false\n  const durationPadding = 5\n  const emulatedDuration = duration + durationPadding\n  function listener() {\n    called = true\n    element.removeEventListener(TRANSITION_END, listener)\n  }\n\n  element.addEventListener(TRANSITION_END, listener)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(element)\n    }\n  }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n  Object.keys(configTypes).forEach(property => {\n    const expectedTypes = configTypes[property]\n    const value = config[property]\n    const valueType = value && isElement(value) ?\n      'element' :\n      toType(value)\n\n    if (!new RegExp(expectedTypes).test(valueType)) {\n      throw new Error(\n        `${componentName.toUpperCase()}: ` +\n        `Option \"${property}\" provided type \"${valueType}\" ` +\n        `but expected type \"${expectedTypes}\".`)\n    }\n  })\n}\n\nconst isVisible = element => {\n  if (!element) {\n    return false\n  }\n\n  if (element.style && element.parentNode && element.parentNode.style) {\n    const elementStyle = getComputedStyle(element)\n    const parentNodeStyle = getComputedStyle(element.parentNode)\n\n    return elementStyle.display !== 'none' &&\n      parentNodeStyle.display !== 'none' &&\n      elementStyle.visibility !== 'hidden'\n  }\n\n  return false\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n  const { jQuery } = window\n\n  if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n    return jQuery\n  }\n\n  return null\n}\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', callback)\n  } else {\n    callback()\n  }\n}\n\nexport {\n  TRANSITION_END,\n  getUID,\n  getSelectorFromElement,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  triggerTransitionEnd,\n  isElement,\n  emulateTransitionEnd,\n  typeCheckConfig,\n  isVisible,\n  findShadowRoot,\n  noop,\n  reflow,\n  getjQuery,\n  onDOMContentLoaded\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n  const storeData = {}\n  let id = 1\n  return {\n    set(element, key, data) {\n      if (typeof element.bsKey === 'undefined') {\n        element.bsKey = {\n          key,\n          id\n        }\n        id++\n      }\n\n      storeData[element.bsKey.id] = data\n    },\n    get(element, key) {\n      if (!element || typeof element.bsKey === 'undefined') {\n        return null\n      }\n\n      const keyProperties = element.bsKey\n      if (keyProperties.key === key) {\n        return storeData[keyProperties.id]\n      }\n\n      return null\n    },\n    delete(element, key) {\n      if (typeof element.bsKey === 'undefined') {\n        return\n      }\n\n      const keyProperties = element.bsKey\n      if (keyProperties.key === key) {\n        delete storeData[keyProperties.id]\n        delete element.bsKey\n      }\n    }\n  }\n})()\n\nconst Data = {\n  setData(instance, key, data) {\n    mapData.set(instance, key, data)\n  },\n  getData(instance, key) {\n    return mapData.get(instance, key)\n  },\n  removeData(instance, key) {\n    mapData.delete(instance, key)\n  }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n  const uid = getUidEvent(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    event.delegateTarget = element\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (let i = domElements.length; i--;) {\n        if (domElements[i] === target) {\n          event.delegateTarget = target\n\n          if (handler.oneOff) {\n            EventHandler.off(element, event.type, fn)\n          }\n\n          return fn.apply(target, [event])\n        }\n      }\n    }\n\n    // To please ESLint\n    return null\n  }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n  const uidEventList = Object.keys(events)\n\n  for (let i = 0, len = uidEventList.length; i < len; i++) {\n    const event = events[uidEventList[i]]\n\n    if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n      return event\n    }\n  }\n\n  return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n  const delegation = typeof handler === 'string'\n  const originalHandler = delegation ? delegationFn : handler\n\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n  const custom = customEvents[typeEvent]\n\n  if (custom) {\n    typeEvent = custom\n  }\n\n  const isNative = nativeEvents.has(typeEvent)\n\n  if (!isNative) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  if (!handler) {\n    handler = delegationFn\n    delegationFn = null\n  }\n\n  const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n  const events = getEvent(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n  if (previousFn) {\n    previousFn.oneOff = previousFn.oneOff && oneOff\n\n    return\n  }\n\n  const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = delegation ?\n    bootstrapDelegationHandler(element, handler, delegationFn) :\n    bootstrapHandler(element, handler)\n\n  fn.delegationSelector = delegation ? handler : null\n  fn.originalHandler = originalHandler\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  Object.keys(storeElementEvent).forEach(handlerKey => {\n    if (handlerKey.includes(namespace)) {\n      const event = storeElementEvent[handlerKey]\n\n      removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n    }\n  })\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFn) {\n    addHandler(element, event, handler, delegationFn, false)\n  },\n\n  one(element, event, handler, delegationFn) {\n    addHandler(element, event, handler, delegationFn, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFn) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getEvent(element)\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof originalHandler !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!events || !events[typeEvent]) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      Object.keys(events).forEach(elementEvent => {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      })\n    }\n\n    const storeElementEvent = events[typeEvent] || {}\n    Object.keys(storeElementEvent).forEach(keyHandlers => {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        const event = storeElementEvent[keyHandlers]\n\n        removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n      }\n    })\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const $ = getjQuery()\n    const typeEvent = event.replace(stripNameRegex, '')\n    const inNamespace = event !== typeEvent\n    const isNative = nativeEvents.has(typeEvent)\n\n    let jQueryEvent\n    let bubbles = true\n    let nativeDispatch = true\n    let defaultPrevented = false\n    let evt = null\n\n    if (inNamespace && $) {\n      jQueryEvent = $.Event(event, args)\n\n      $(element).trigger(jQueryEvent)\n      bubbles = !jQueryEvent.isPropagationStopped()\n      nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n      defaultPrevented = jQueryEvent.isDefaultPrevented()\n    }\n\n    if (isNative) {\n      evt = document.createEvent('HTMLEvents')\n      evt.initEvent(typeEvent, bubbles, true)\n    } else {\n      evt = new CustomEvent(event, {\n        bubbles,\n        cancelable: true\n      })\n    }\n\n    // merge custom information in our event\n    if (typeof args !== 'undefined') {\n      Object.keys(args).forEach(key => {\n        Object.defineProperty(evt, key, {\n          get() {\n            return args[key]\n          }\n        })\n      })\n    }\n\n    if (defaultPrevented) {\n      evt.preventDefault()\n    }\n\n    if (nativeDispatch) {\n      element.dispatchEvent(evt)\n    }\n\n    if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n      jQueryEvent.preventDefault()\n    }\n\n    return evt\n  }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getElementFromSelector,\n  getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DISMISS = '[data-bs-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASSNAME_ALERT = 'alert'\nconst CLASSNAME_FADE = 'fade'\nconst CLASSNAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n  constructor(element) {\n    this._element = element\n\n    if (this._element) {\n      Data.setData(element, DATA_KEY, this)\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  close(element) {\n    const rootElement = element ? this._getRootElement(element) : this._element\n    const customEvent = this._triggerCloseEvent(rootElement)\n\n    if (customEvent === null || customEvent.defaultPrevented) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`)\n  }\n\n  _triggerCloseEvent(element) {\n    return EventHandler.trigger(element, EVENT_CLOSE)\n  }\n\n  _removeElement(element) {\n    element.classList.remove(CLASSNAME_SHOW)\n\n    if (!element.classList.contains(CLASSNAME_FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = getTransitionDurationFromElement(element)\n\n    EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element))\n    emulateTransitionEnd(element, transitionDuration)\n  }\n\n  _destroyElement(element) {\n    if (element.parentNode) {\n      element.parentNode.removeChild(element)\n    }\n\n    EventHandler.trigger(element, EVENT_CLOSED)\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n      }\n\n      if (config === 'close') {\n        data[config](this)\n      }\n    })\n  }\n\n  static handleDismiss(alertInstance) {\n    return function (event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      alertInstance.close(this)\n    }\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()))\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Alert.jQueryInterface\n    $.fn[NAME].Constructor = Alert\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Alert.jQueryInterface\n    }\n  }\n})\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n  constructor(element) {\n    this._element = element\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n\n  let data = Data.getData(button, DATA_KEY)\n  if (!data) {\n    data = new Button(button)\n  }\n\n  data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Button.jQueryInterface\n    $.fn[NAME].Constructor = Button\n\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Button.jQueryInterface\n    }\n  }\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n  if (val === 'true') {\n    return true\n  }\n\n  if (val === 'false') {\n    return false\n  }\n\n  if (val === Number(val).toString()) {\n    return Number(val)\n  }\n\n  if (val === '' || val === 'null') {\n    return null\n  }\n\n  return val\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n\n    Object.keys(element.dataset)\n      .filter(key => key.startsWith('bs'))\n      .forEach(key => {\n        let pureKey = key.replace(/^bs/, '')\n        pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n        attributes[pureKey] = normalizeData(element.dataset[key])\n      })\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  },\n\n  offset(element) {\n    const rect = element.getBoundingClientRect()\n\n    return {\n      top: rect.top + document.body.scrollTop,\n      left: rect.left + document.body.scrollLeft\n    }\n  },\n\n  position(element) {\n    return {\n      top: element.offsetTop,\n      left: element.offsetLeft\n    }\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n  matches(element, selector) {\n    return element.matches(selector)\n  },\n\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    const children = [].concat(...element.children)\n\n    return children.filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n\n    let ancestor = element.parentNode\n\n    while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n      if (this.matches(ancestor, selector)) {\n        parents.push(ancestor)\n      }\n\n      ancestor = ancestor.parentNode\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (this.matches(next, selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  isVisible,\n  reflow,\n  triggerTransitionEnd,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  slide: false,\n  pause: 'hover',\n  wrap: true,\n  touch: true\n}\n\nconst DefaultType = {\n  interval: '(number|boolean)',\n  keyboard: 'boolean',\n  slide: '(boolean|string)',\n  pause: '(string|boolean)',\n  wrap: 'boolean',\n  touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst PointerType = {\n  TOUCH: 'touch',\n  PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n  constructor(element, config) {\n    this._items = null\n    this._interval = null\n    this._activeElement = null\n    this._isPaused = false\n    this._isSliding = false\n    this.touchTimeout = null\n    this.touchStartX = 0\n    this.touchDeltaX = 0\n\n    this._config = this._getConfig(config)\n    this._element = element\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent = Boolean(window.PointerEvent)\n\n    this._addEventListeners()\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  next() {\n    if (!this._isSliding) {\n      this._slide(DIRECTION_NEXT)\n    }\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    if (!this._isSliding) {\n      this._slide(DIRECTION_PREV)\n    }\n  }\n\n  pause(event) {\n    if (!event) {\n      this._isPaused = true\n    }\n\n    if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n      triggerTransitionEnd(this._element)\n      this.cycle(true)\n    }\n\n    clearInterval(this._interval)\n    this._interval = null\n  }\n\n  cycle(event) {\n    if (!event) {\n      this._isPaused = false\n    }\n\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    if (this._config && this._config.interval && !this._isPaused) {\n      this._updateInterval()\n\n      this._interval = setInterval(\n        (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n        this._config.interval\n      )\n    }\n  }\n\n  to(index) {\n    this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n    const activeIndex = this._getItemIndex(this._activeElement)\n\n    if (index > this._items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    if (activeIndex === index) {\n      this.pause()\n      this.cycle()\n      return\n    }\n\n    const direction = index > activeIndex ?\n      DIRECTION_NEXT :\n      DIRECTION_PREV\n\n    this._slide(direction, this._items[index])\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    Data.removeData(this._element, DATA_KEY)\n\n    this._items = null\n    this._config = null\n    this._element = null\n    this._interval = null\n    this._isPaused = null\n    this._isSliding = null\n    this._activeElement = null\n    this._indicatorsElement = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _handleSwipe() {\n    const absDeltax = Math.abs(this.touchDeltaX)\n\n    if (absDeltax <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltax / this.touchDeltaX\n\n    this.touchDeltaX = 0\n\n    // swipe left\n    if (direction > 0) {\n      this.prev()\n    }\n\n    // swipe right\n    if (direction < 0) {\n      this.next()\n    }\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n    }\n\n    if (this._config.touch && this._touchSupported) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    const start = event => {\n      if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n        this.touchStartX = event.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.touches[0].clientX\n      }\n    }\n\n    const move = event => {\n      // ensure swiping with one touch and not pinching\n      if (event.touches && event.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = event => {\n      if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.clientX - this.touchStartX\n      }\n\n      this._handleSwipe()\n      if (this._config.pause === 'hover') {\n        // If it's a touch-enabled device, mouseenter/leave are fired as\n        // part of the mouse compatibility events on first tap - the carousel\n        // would stop cycling until user tapped out of it;\n        // here, we listen for touchend, explicitly pause the carousel\n        // (as if it's the second time we tap on it, mouseenter compat event\n        // is NOT fired) and after a timeout (to allow for mouse compatibility\n        // events to fire) we explicitly restart cycling\n\n        this.pause()\n        if (this.touchTimeout) {\n          clearTimeout(this.touchTimeout)\n        }\n\n        this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n      EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n    })\n\n    if (this._pointerEvent) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n    }\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    switch (event.key) {\n      case ARROW_LEFT_KEY:\n        event.preventDefault()\n        this.prev()\n        break\n      case ARROW_RIGHT_KEY:\n        event.preventDefault()\n        this.next()\n        break\n      default:\n    }\n  }\n\n  _getItemIndex(element) {\n    this._items = element && element.parentNode ?\n      SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n      []\n\n    return this._items.indexOf(element)\n  }\n\n  _getItemByDirection(direction, activeElement) {\n    const isNextDirection = direction === DIRECTION_NEXT\n    const isPrevDirection = direction === DIRECTION_PREV\n    const activeIndex = this._getItemIndex(activeElement)\n    const lastItemIndex = this._items.length - 1\n    const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n                            (isNextDirection && activeIndex === lastItemIndex)\n\n    if (isGoingToWrap && !this._config.wrap) {\n      return activeElement\n    }\n\n    const delta = direction === DIRECTION_PREV ? -1 : 1\n    const itemIndex = (activeIndex + delta) % this._items.length\n\n    return itemIndex === -1 ?\n      this._items[this._items.length - 1] :\n      this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n    return EventHandler.trigger(this._element, EVENT_SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n      for (let i = 0; i < indicators.length; i++) {\n        indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n      }\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    if (elementInterval) {\n      this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n      this._config.interval = elementInterval\n    } else {\n      this._config.interval = this._config.defaultInterval || this._config.interval\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement = element || (activeElement &&\n      this._getItemByDirection(direction, activeElement))\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n    const isCycling = Boolean(this._interval)\n\n    let directionalClassName\n    let orderClassName\n    let eventDirectionName\n\n    if (direction === DIRECTION_NEXT) {\n      directionalClassName = CLASS_NAME_LEFT\n      orderClassName = CLASS_NAME_NEXT\n      eventDirectionName = DIRECTION_LEFT\n    } else {\n      directionalClassName = CLASS_NAME_RIGHT\n      orderClassName = CLASS_NAME_PREV\n      eventDirectionName = DIRECTION_RIGHT\n    }\n\n    if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    this._isSliding = true\n\n    if (isCycling) {\n      this.pause()\n    }\n\n    this._setActiveIndicatorElement(nextElement)\n    this._activeElement = nextElement\n\n    if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n      nextElement.classList.add(orderClassName)\n\n      reflow(nextElement)\n\n      activeElement.classList.add(directionalClassName)\n      nextElement.classList.add(directionalClassName)\n\n      const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n      EventHandler.one(activeElement, TRANSITION_END, () => {\n        nextElement.classList.remove(directionalClassName, orderClassName)\n        nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n        activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n        this._isSliding = false\n\n        setTimeout(() => {\n          EventHandler.trigger(this._element, EVENT_SLID, {\n            relatedTarget: nextElement,\n            direction: eventDirectionName,\n            from: activeElementIndex,\n            to: nextElementIndex\n          })\n        }, 0)\n      })\n\n      emulateTransitionEnd(activeElement, transitionDuration)\n    } else {\n      activeElement.classList.remove(CLASS_NAME_ACTIVE)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      this._isSliding = false\n      EventHandler.trigger(this._element, EVENT_SLID, {\n        relatedTarget: nextElement,\n        direction: eventDirectionName,\n        from: activeElementIndex,\n        to: nextElementIndex\n      })\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static carouselInterface(element, config) {\n    let data = Data.getData(element, DATA_KEY)\n    let _config = {\n      ...Default,\n      ...Manipulator.getDataAttributes(element)\n    }\n\n    if (typeof config === 'object') {\n      _config = {\n        ..._config,\n        ...config\n      }\n    }\n\n    const action = typeof config === 'string' ? config : _config.slide\n\n    if (!data) {\n      data = new Carousel(element, _config)\n    }\n\n    if (typeof config === 'number') {\n      data.to(config)\n    } else if (typeof action === 'string') {\n      if (typeof data[action] === 'undefined') {\n        throw new TypeError(`No method named \"${action}\"`)\n      }\n\n      data[action]()\n    } else if (_config.interval && _config.ride) {\n      data.pause()\n      data.cycle()\n    }\n  }\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      Carousel.carouselInterface(this, config)\n    })\n  }\n\n  static dataApiClickHandler(event) {\n    const target = getElementFromSelector(this)\n\n    if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...Manipulator.getDataAttributes(target),\n      ...Manipulator.getDataAttributes(this)\n    }\n    const slideIndex = this.getAttribute('data-bs-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel.carouselInterface(target, config)\n\n    if (slideIndex) {\n      Data.getData(target, DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Carousel.jQueryInterface\n    $.fn[NAME].Constructor = Carousel\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Carousel.jQueryInterface\n    }\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getSelectorFromElement,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  isElement,\n  reflow,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n  toggle: true,\n  parent: ''\n}\n\nconst DefaultType = {\n  toggle: 'boolean',\n  parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n  constructor(element, config) {\n    this._isTransitioning = false\n    this._element = element\n    this._config = this._getConfig(config)\n    this._triggerArray = SelectorEngine.find(\n      `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\n      `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${element.id}\"]`\n    )\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElem => foundElem === element)\n\n      if (selector !== null && filterElement.length) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      this._element.classList.contains(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n        .filter(elem => {\n          if (typeof this._config.parent === 'string') {\n            return elem.getAttribute('data-bs-parent') === this._config.parent\n          }\n\n          return elem.classList.contains(CLASS_NAME_COLLAPSE)\n        })\n\n      if (actives.length === 0) {\n        actives = null\n      }\n    }\n\n    const container = SelectorEngine.findOne(this._selector)\n    if (actives) {\n      const tempActiveData = actives.find(elem => container !== elem)\n      activesData = tempActiveData ? Data.getData(tempActiveData, DATA_KEY) : null\n\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    if (actives) {\n      actives.forEach(elemActive => {\n        if (container !== elemActive) {\n          Collapse.collapseInterface(elemActive, 'hide')\n        }\n\n        if (!activesData) {\n          Data.setData(elemActive, DATA_KEY, null)\n        }\n      })\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      this._triggerArray.forEach(element => {\n        element.classList.remove(CLASS_NAME_COLLAPSED)\n        element.setAttribute('aria-expanded', true)\n      })\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = getTransitionDurationFromElement(this._element)\n\n    EventHandler.one(this._element, TRANSITION_END, complete)\n\n    emulateTransitionEnd(this._element, transitionDuration)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !this._element.classList.contains(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    const triggerArrayLength = this._triggerArray.length\n    if (triggerArrayLength > 0) {\n      for (let i = 0; i < triggerArrayLength; i++) {\n        const trigger = this._triggerArray[i]\n        const elem = getElementFromSelector(trigger)\n\n        if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n          trigger.classList.add(CLASS_NAME_COLLAPSED)\n          trigger.setAttribute('aria-expanded', false)\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = getTransitionDurationFromElement(this._element)\n\n    EventHandler.one(this._element, TRANSITION_END, complete)\n    emulateTransitionEnd(this._element, transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n\n    this._config = null\n    this._parent = null\n    this._element = null\n    this._triggerArray = null\n    this._isTransitioning = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n  }\n\n  _getParent() {\n    let { parent } = this._config\n\n    if (isElement(parent)) {\n      // it's a jQuery object\n      if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n        parent = parent[0]\n      }\n    } else {\n      parent = SelectorEngine.findOne(parent)\n    }\n\n    const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n    SelectorEngine.find(selector, parent)\n      .forEach(element => {\n        const selected = getElementFromSelector(element)\n\n        this._addAriaAndCollapsedClass(\n          selected,\n          [element]\n        )\n      })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    if (!element || !triggerArray.length) {\n      return\n    }\n\n    const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n    triggerArray.forEach(elem => {\n      if (isOpen) {\n        elem.classList.remove(CLASS_NAME_COLLAPSED)\n      } else {\n        elem.classList.add(CLASS_NAME_COLLAPSED)\n      }\n\n      elem.setAttribute('aria-expanded', isOpen)\n    })\n  }\n\n  // Static\n\n  static collapseInterface(element, config) {\n    let data = Data.getData(element, DATA_KEY)\n    const _config = {\n      ...Default,\n      ...Manipulator.getDataAttributes(element),\n      ...(typeof config === 'object' && config ? config : {})\n    }\n\n    if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n      _config.toggle = false\n    }\n\n    if (!data) {\n      data = new Collapse(element, _config)\n    }\n\n    if (typeof config === 'string') {\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    }\n  }\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      Collapse.collapseInterface(this, config)\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const triggerData = Manipulator.getDataAttributes(this)\n  const selector = getSelectorFromElement(this)\n  const selectorElements = SelectorEngine.find(selector)\n\n  selectorElements.forEach(element => {\n    const data = Data.getData(element, DATA_KEY)\n    let config\n    if (data) {\n      // update parent attribute\n      if (data._parent === null && typeof triggerData.parent === 'string') {\n        data._config.parent = triggerData.parent\n        data._parent = data._getParent()\n      }\n\n      config = 'toggle'\n    } else {\n      config = triggerData\n    }\n\n    Collapse.collapseInterface(element, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Collapse.jQueryInterface\n    $.fn[NAME].Constructor = Collapse\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Collapse.jQueryInterface\n    }\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  getElementFromSelector,\n  isElement,\n  isVisible,\n  noop,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_NAVBAR = 'navbar'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n  offset: 0,\n  flip: true,\n  boundary: 'scrollParent',\n  reference: 'toggle',\n  display: 'dynamic',\n  popperConfig: null\n}\n\nconst DefaultType = {\n  offset: '(number|string|function)',\n  flip: 'boolean',\n  boundary: '(string|element)',\n  reference: '(string|element)',\n  display: 'string',\n  popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n  constructor(element, config) {\n    this._element = element\n    this._popper = null\n    this._config = this._getConfig(config)\n    this._menu = this._getMenuElement()\n    this._inNavbar = this._detectNavbar()\n\n    this._addEventListeners()\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Public\n\n  toggle() {\n    if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\n      return\n    }\n\n    const isActive = this._element.classList.contains(CLASS_NAME_SHOW)\n\n    Dropdown.clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    this.show()\n  }\n\n  show() {\n    if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const parent = Dropdown.getParentFromElement(this._element)\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    // Totally disable Popper for Dropdowns in Navbar\n    if (!this._inNavbar) {\n      if (typeof Popper === 'undefined') {\n        throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n      }\n\n      let referenceElement = this._element\n\n      if (this._config.reference === 'parent') {\n        referenceElement = parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = this._config.reference\n\n        // Check if it's jQuery element\n        if (typeof this._config.reference.jquery !== 'undefined') {\n          referenceElement = this._config.reference[0]\n        }\n      }\n\n      // If boundary is not `scrollParent`, then set position to `static`\n      // to allow the menu to \"escape\" the scroll parent's boundaries\n      // https://github.com/twbs/bootstrap/issues/24251\n      if (this._config.boundary !== 'scrollParent') {\n        parent.classList.add(CLASS_NAME_POSITION_STATIC)\n      }\n\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n      !parent.closest(SELECTOR_NAVBAR_NAV)) {\n      [].concat(...document.body.children)\n        .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    this._menu.classList.toggle(CLASS_NAME_SHOW)\n    this._element.classList.toggle(CLASS_NAME_SHOW)\n    EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const parent = Dropdown.getParentFromElement(this._element)\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.toggle(CLASS_NAME_SHOW)\n    this._element.classList.toggle(CLASS_NAME_SHOW)\n    EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n    EventHandler.off(this._element, EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_CLICK, event => {\n      event.preventDefault()\n      event.stopPropagation()\n      this.toggle()\n    })\n  }\n\n  _getConfig(config) {\n    config = {\n      ...this.constructor.Default,\n      ...Manipulator.getDataAttributes(this._element),\n      ...config\n    }\n\n    typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n    return config\n  }\n\n  _getMenuElement() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._element.parentNode\n    let placement = PLACEMENT_BOTTOM\n\n    // Handle dropup\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      placement = this._menu.classList.contains(CLASS_NAME_MENURIGHT) ?\n        PLACEMENT_TOPEND :\n        PLACEMENT_TOP\n    } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\n      placement = PLACEMENT_RIGHT\n    } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\n      placement = PLACEMENT_LEFT\n    } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\n      placement = PLACEMENT_BOTTOMEND\n    }\n\n    return placement\n  }\n\n  _detectNavbar() {\n    return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`))\n  }\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this._config.offset === 'function') {\n      offset.fn = data => {\n        data.offsets = {\n          ...data.offsets,\n          ...(this._config.offset(data.offsets, this._element) || {})\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this._config.offset\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const popperConfig = {\n      placement: this._getPlacement(),\n      modifiers: {\n        offset: this._getOffset(),\n        flip: {\n          enabled: this._config.flip\n        },\n        preventOverflow: {\n          boundariesElement: this._config.boundary\n        }\n      }\n    }\n\n    // Disable Popper if we have a static display\n    if (this._config.display === 'static') {\n      popperConfig.modifiers.applyStyle = {\n        enabled: false\n      }\n    }\n\n    return {\n      ...popperConfig,\n      ...this._config.popperConfig\n    }\n  }\n\n  // Static\n\n  static dropdownInterface(element, config) {\n    let data = Data.getData(element, DATA_KEY)\n    const _config = typeof config === 'object' ? config : null\n\n    if (!data) {\n      data = new Dropdown(element, _config)\n    }\n\n    if (typeof config === 'string') {\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    }\n  }\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      Dropdown.dropdownInterface(this, config)\n    })\n  }\n\n  static clearMenus(event) {\n    if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n      (event.type === 'keyup' && event.key !== TAB_KEY))) {\n      return\n    }\n\n    const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown.getParentFromElement(toggles[i])\n      const context = Data.getData(toggles[i], DATA_KEY)\n      const relatedTarget = {\n        relatedTarget: toggles[i]\n      }\n\n      if (event && event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      if (!context) {\n        continue\n      }\n\n      const dropdownMenu = context._menu\n      if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\n        continue\n      }\n\n      if (event && ((event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName)) ||\n          (event.type === 'keyup' && event.key === TAB_KEY)) &&\n          dropdownMenu.contains(event.target)) {\n        continue\n      }\n\n      const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget)\n      if (hideEvent.defaultPrevented) {\n        continue\n      }\n\n      // If this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        [].concat(...document.body.children)\n          .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      if (context._popper) {\n        context._popper.destroy()\n      }\n\n      dropdownMenu.classList.remove(CLASS_NAME_SHOW)\n      toggles[i].classList.remove(CLASS_NAME_SHOW)\n      EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget)\n    }\n  }\n\n  static getParentFromElement(element) {\n    return getElementFromSelector(element) || element.parentNode\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not input/textarea:\n    //  - And not a key in REGEXP_KEYDOWN => not a dropdown command\n    // If input/textarea:\n    //  - If space key => not a dropdown command\n    //  - If key is other than escape\n    //    - If key is not up or down => not a dropdown command\n    //    - If trigger inside the menu => not a dropdown command\n    if (/input|textarea/i.test(event.target.tagName) ?\n      event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n      ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n        event.target.closest(SELECTOR_MENU))) :\n      !REGEXP_KEYDOWN.test(event.key)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\n      return\n    }\n\n    const parent = Dropdown.getParentFromElement(this)\n    const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n    if (event.key === ESCAPE_KEY) {\n      const button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n      button.focus()\n      Dropdown.clearMenus()\n      return\n    }\n\n    if (!isActive || event.key === SPACE_KEY) {\n      Dropdown.clearMenus()\n      return\n    }\n\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible)\n\n    if (!items.length) {\n      return\n    }\n\n    let index = items.indexOf(event.target)\n\n    if (event.key === ARROW_UP_KEY && index > 0) { // Up\n      index--\n    }\n\n    if (event.key === ARROW_DOWN_KEY && index < items.length - 1) { // Down\n      index++\n    }\n\n    // index is -1 if the first keydown is an ArrowUp\n    index = index === -1 ? 0 : index\n\n    items[index].focus()\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  event.stopPropagation()\n  Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => e.stopPropagation())\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Dropdown.jQueryInterface\n    $.fn[NAME].Constructor = Dropdown\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Dropdown.jQueryInterface\n    }\n  }\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  isVisible,\n  reflow,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  focus: true,\n  show: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  focus: 'boolean',\n  show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n  constructor(element, config) {\n    this._config = this._getConfig(config)\n    this._element = element\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element)\n    this._backdrop = null\n    this._isShown = false\n    this._isBodyOverflowing = false\n    this._ignoreBackdropClick = false\n    this._isTransitioning = false\n    this._scrollbarWidth = 0\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown || this._isTransitioning) {\n      return\n    }\n\n    if (this._element.classList.contains(CLASS_NAME_FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (this._isShown || showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n\n    this._checkScrollbar()\n    this._setScrollbar()\n\n    this._adjustDialog()\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    EventHandler.on(this._element,\n      EVENT_CLICK_DISMISS,\n      SELECTOR_DATA_DISMISS,\n      event => this.hide(event)\n    )\n\n    EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n      EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n        if (event.target === this._element) {\n          this._ignoreBackdropClick = true\n        }\n      })\n    })\n\n    this._showBackdrop(() => this._showElement(relatedTarget))\n  }\n\n  hide(event) {\n    if (event) {\n      event.preventDefault()\n    }\n\n    if (!this._isShown || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = false\n    const transition = this._element.classList.contains(CLASS_NAME_FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    EventHandler.off(document, EVENT_FOCUSIN)\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n    EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n    if (transition) {\n      const transitionDuration = getTransitionDurationFromElement(this._element)\n\n      EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n      emulateTransitionEnd(this._element, transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n    /**\n     * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n     * Do not move `document` in `htmlElements` array\n     * It will remove `EVENT_CLICK_DATA_API` event that should remain\n     */\n    EventHandler.off(document, EVENT_FOCUSIN)\n\n    Data.removeData(this._element, DATA_KEY)\n\n    this._config = null\n    this._element = null\n    this._dialog = null\n    this._backdrop = null\n    this._isShown = null\n    this._isBodyOverflowing = null\n    this._ignoreBackdropClick = null\n    this._isTransitioning = null\n    this._scrollbarWidth = null\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = this._element.classList.contains(CLASS_NAME_FADE)\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n    if (!this._element.parentNode ||\n        this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n      // Don't move modal's DOM position\n      document.body.appendChild(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    if (transition) {\n      reflow(this._element)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    if (transition) {\n      const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n      EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n      emulateTransitionEnd(this._dialog, transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    EventHandler.off(document, EVENT_FOCUSIN) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => {\n      if (document !== event.target &&\n          this._element !== event.target &&\n          !this._element.contains(event.target)) {\n        this._element.focus()\n      }\n    })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown) {\n      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n        if (this._config.keyboard && event.key === ESCAPE_KEY) {\n          event.preventDefault()\n          this.hide()\n        } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n          this._triggerBackdropTransition()\n        }\n      })\n    } else {\n      EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n    } else {\n      EventHandler.off(window, EVENT_RESIZE)\n    }\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n    this._showBackdrop(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    this._backdrop.parentNode.removeChild(this._backdrop)\n    this._backdrop = null\n  }\n\n  _showBackdrop(callback) {\n    const animate = this._element.classList.contains(CLASS_NAME_FADE) ?\n      CLASS_NAME_FADE :\n      ''\n\n    if (this._isShown && this._config.backdrop) {\n      this._backdrop = document.createElement('div')\n      this._backdrop.className = CLASS_NAME_BACKDROP\n\n      if (animate) {\n        this._backdrop.classList.add(animate)\n      }\n\n      document.body.appendChild(this._backdrop)\n\n      EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n\n        if (event.target !== event.currentTarget) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        reflow(this._backdrop)\n      }\n\n      this._backdrop.classList.add(CLASS_NAME_SHOW)\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n      EventHandler.one(this._backdrop, TRANSITION_END, callback)\n      emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      this._backdrop.classList.remove(CLASS_NAME_SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        callback()\n      }\n\n      if (this._element.classList.contains(CLASS_NAME_FADE)) {\n        const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n        EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n        emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else {\n      callback()\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    const modalTransitionDuration = getTransitionDurationFromElement(this._dialog)\n    EventHandler.off(this._element, TRANSITION_END)\n    EventHandler.one(this._element, TRANSITION_END, () => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      if (!isModalOverflowing) {\n        EventHandler.one(this._element, TRANSITION_END, () => {\n          this._element.style.overflowY = ''\n        })\n        emulateTransitionEnd(this._element, modalTransitionDuration)\n      }\n    })\n    emulateTransitionEnd(this._element, modalTransitionDuration)\n    this._element.focus()\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // ----------------------------------------------------------------------\n\n  _adjustDialog() {\n    const isModalOverflowing =\n      this._element.scrollHeight > document.documentElement.clientHeight\n\n    if (!this._isBodyOverflowing && isModalOverflowing) {\n      this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n    }\n\n    if (this._isBodyOverflowing && !isModalOverflowing) {\n      this._element.style.paddingRight = `${this._scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\n  }\n\n  _checkScrollbar() {\n    const rect = document.body.getBoundingClientRect()\n    this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n    this._scrollbarWidth = this._getScrollbarWidth()\n  }\n\n  _setScrollbar() {\n    if (this._isBodyOverflowing) {\n      // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n      //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n      // Adjust fixed content padding\n      SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n        .forEach(element => {\n          const actualPadding = element.style.paddingRight\n          const calculatedPadding = window.getComputedStyle(element)['padding-right']\n          Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n          element.style.paddingRight = `${Number.parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n        })\n\n      // Adjust sticky content margin\n      SelectorEngine.find(SELECTOR_STICKY_CONTENT)\n        .forEach(element => {\n          const actualMargin = element.style.marginRight\n          const calculatedMargin = window.getComputedStyle(element)['margin-right']\n          Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n          element.style.marginRight = `${Number.parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n        })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n      Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n      document.body.style.paddingRight = `${Number.parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n    }\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    SelectorEngine.find(SELECTOR_FIXED_CONTENT)\n      .forEach(element => {\n        const padding = Manipulator.getDataAttribute(element, 'padding-right')\n        if (typeof padding !== 'undefined') {\n          Manipulator.removeDataAttribute(element, 'padding-right')\n          element.style.paddingRight = padding\n        }\n      })\n\n    // Restore sticky content and navbar-toggler margin\n    SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`)\n      .forEach(element => {\n        const margin = Manipulator.getDataAttribute(element, 'margin-right')\n        if (typeof margin !== 'undefined') {\n          Manipulator.removeDataAttribute(element, 'margin-right')\n          element.style.marginRight = margin\n        }\n      })\n\n    // Restore body padding\n    const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n    if (typeof padding === 'undefined') {\n      document.body.style.paddingRight = ''\n    } else {\n      Manipulator.removeDataAttribute(document.body, 'padding-right')\n      document.body.style.paddingRight = padding\n    }\n  }\n\n  _getScrollbarWidth() { // thx d.walsh\n    const scrollDiv = document.createElement('div')\n    scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n    document.body.appendChild(scrollDiv)\n    const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n    document.body.removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n  // Static\n\n  static jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = {\n        ...Default,\n        ...Manipulator.getDataAttributes(this),\n        ...(typeof config === 'object' && config ? config : {})\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = getElementFromSelector(this)\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  let data = Data.getData(target, DATA_KEY)\n  if (!data) {\n    const config = {\n      ...Manipulator.getDataAttributes(target),\n      ...Manipulator.getDataAttributes(this)\n    }\n\n    data = new Modal(target, config)\n  }\n\n  data.show(this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Modal.jQueryInterface\n    $.fn[NAME].Constructor = Modal\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Modal.jQueryInterface\n    }\n  }\n})\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n  const attrName = attr.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attrName)) {\n    if (uriAttrs.has(attrName)) {\n      return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n    }\n\n    return true\n  }\n\n  const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n  // Check if a regular expression validates the attribute.\n  for (let i = 0, len = regExp.length; i < len; i++) {\n    if (attrName.match(regExp[i])) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  div: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFn && typeof sanitizeFn === 'function') {\n    return sanitizeFn(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const allowlistKeys = Object.keys(allowList)\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (let i = 0, len = elements.length; i < len; i++) {\n    const el = elements[i]\n    const elName = el.nodeName.toLowerCase()\n\n    if (!allowlistKeys.includes(elName)) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].concat(...el.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n    attributeList.forEach(attr => {\n      if (!allowedAttribute(attr, allowedAttributes)) {\n        el.removeAttribute(attr.nodeName)\n      }\n    })\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  findShadowRoot,\n  getTransitionDurationFromElement,\n  getUID,\n  isElement,\n  noop,\n  typeCheckConfig\n} from './util/index'\nimport {\n  DefaultAllowlist,\n  sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n  animation: 'boolean',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string',\n  delay: '(number|object)',\n  html: 'boolean',\n  selector: '(string|boolean)',\n  placement: '(string|function)',\n  offset: '(number|string|function)',\n  container: '(string|element|boolean)',\n  fallbackPlacement: '(string|array)',\n  boundary: '(string|element)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  allowList: 'object',\n  popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: 'right',\n  BOTTOM: 'bottom',\n  LEFT: 'left'\n}\n\nconst Default = {\n  animation: true,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n                    '<div class=\"tooltip-arrow\"></div>' +\n                    '<div class=\"tooltip-inner\"></div></div>',\n  trigger: 'hover focus',\n  title: '',\n  delay: 0,\n  html: false,\n  selector: false,\n  placement: 'top',\n  offset: 0,\n  container: false,\n  fallbackPlacement: 'flip',\n  boundary: 'scrollParent',\n  sanitize: true,\n  sanitizeFn: null,\n  allowList: DefaultAllowlist,\n  popperConfig: null\n}\n\nconst Event = {\n  HIDE: `hide${EVENT_KEY}`,\n  HIDDEN: `hidden${EVENT_KEY}`,\n  SHOW: `show${EVENT_KEY}`,\n  SHOWN: `shown${EVENT_KEY}`,\n  INSERTED: `inserted${EVENT_KEY}`,\n  CLICK: `click${EVENT_KEY}`,\n  FOCUSIN: `focusin${EVENT_KEY}`,\n  FOCUSOUT: `focusout${EVENT_KEY}`,\n  MOUSEENTER: `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n    }\n\n    // private\n    this._isEnabled = true\n    this._timeout = 0\n    this._hoverState = ''\n    this._activeTrigger = {}\n    this._popper = null\n\n    // Protected\n    this.element = element\n    this.config = this._getConfig(config)\n    this.tip = null\n\n    this._setListeners()\n    Data.setData(element, this.constructor.DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  static get DATA_KEY() {\n    return DATA_KEY\n  }\n\n  static get Event() {\n    return Event\n  }\n\n  static get EVENT_KEY() {\n    return EVENT_KEY\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Public\n\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle(event) {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (event) {\n      const dataKey = this.constructor.DATA_KEY\n      let context = Data.getData(event.delegateTarget, dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.delegateTarget,\n          this._getDelegateConfig()\n        )\n        Data.setData(event.delegateTarget, dataKey, context)\n      }\n\n      context._activeTrigger.click = !context._activeTrigger.click\n\n      if (context._isWithActiveTrigger()) {\n        context._enter(null, context)\n      } else {\n        context._leave(null, context)\n      }\n    } else {\n      if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n        this._leave(null, this)\n        return\n      }\n\n      this._enter(null, this)\n    }\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    Data.removeData(this.element, this.constructor.DATA_KEY)\n\n    EventHandler.off(this.element, this.constructor.EVENT_KEY)\n    EventHandler.off(this.element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n    if (this.tip) {\n      this.tip.parentNode.removeChild(this.tip)\n    }\n\n    this._isEnabled = null\n    this._timeout = null\n    this._hoverState = null\n    this._activeTrigger = null\n    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._popper = null\n    this.element = null\n    this.config = null\n    this.tip = null\n  }\n\n  show() {\n    if (this.element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (this.isWithContent() && this._isEnabled) {\n      const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n      const shadowRoot = findShadowRoot(this.element)\n      const isInTheDom = shadowRoot === null ?\n        this.element.ownerDocument.documentElement.contains(this.element) :\n        shadowRoot.contains(this.element)\n\n      if (showEvent.defaultPrevented || !isInTheDom) {\n        return\n      }\n\n      const tip = this.getTipElement()\n      const tipId = getUID(this.constructor.NAME)\n\n      tip.setAttribute('id', tipId)\n      this.element.setAttribute('aria-describedby', tipId)\n\n      this.setContent()\n\n      if (this.config.animation) {\n        tip.classList.add(CLASS_NAME_FADE)\n      }\n\n      const placement = typeof this.config.placement === 'function' ?\n        this.config.placement.call(this, tip, this.element) :\n        this.config.placement\n\n      const attachment = this._getAttachment(placement)\n      this._addAttachmentClass(attachment)\n\n      const container = this._getContainer()\n      Data.setData(tip, this.constructor.DATA_KEY, this)\n\n      if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n        container.appendChild(tip)\n      }\n\n      EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n      tip.classList.add(CLASS_NAME_SHOW)\n\n      // If this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement) {\n        [].concat(...document.body.children).forEach(element => {\n          EventHandler.on(element, 'mouseover', noop())\n        })\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n\n        const prevHoverState = this._hoverState\n        this._hoverState = null\n\n        EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HOVER_STATE_OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n        const transitionDuration = getTransitionDurationFromElement(this.tip)\n        EventHandler.one(this.tip, TRANSITION_END, complete)\n        emulateTransitionEnd(this.tip, transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide() {\n    if (!this._popper) {\n      return\n    }\n\n    const tip = this.getTipElement()\n    const complete = () => {\n      if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n        tip.parentNode.removeChild(tip)\n      }\n\n      this._cleanTipClass()\n      this.element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n      this._popper.destroy()\n    }\n\n    const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      [].concat(...document.body.children)\n        .forEach(element => EventHandler.off(element, 'mouseover', noop))\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n\n    if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n      const transitionDuration = getTransitionDurationFromElement(tip)\n\n      EventHandler.one(tip, TRANSITION_END, complete)\n      emulateTransitionEnd(tip, transitionDuration)\n    } else {\n      complete()\n    }\n\n    this._hoverState = ''\n  }\n\n  update() {\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Protected\n\n  isWithContent() {\n    return Boolean(this.getTitle())\n  }\n\n  getTipElement() {\n    if (this.tip) {\n      return this.tip\n    }\n\n    const element = document.createElement('div')\n    element.innerHTML = this.config.template\n\n    this.tip = element.children[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n  }\n\n  setElementContent(element, content) {\n    if (element === null) {\n      return\n    }\n\n    if (typeof content === 'object' && isElement(content)) {\n      if (content.jquery) {\n        content = content[0]\n      }\n\n      // content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (content.parentNode !== element) {\n          element.innerHTML = ''\n          element.appendChild(content)\n        }\n      } else {\n        element.textContent = content.textContent\n      }\n\n      return\n    }\n\n    if (this.config.html) {\n      if (this.config.sanitize) {\n        content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n      }\n\n      element.innerHTML = content\n    } else {\n      element.textContent = content\n    }\n  }\n\n  getTitle() {\n    let title = this.element.getAttribute('data-bs-original-title')\n\n    if (!title) {\n      title = typeof this.config.title === 'function' ?\n        this.config.title.call(this.element) :\n        this.config.title\n    }\n\n    return title\n  }\n\n  // Private\n\n  _getPopperConfig(attachment) {\n    const defaultBsConfig = {\n      placement: attachment,\n      modifiers: {\n        offset: this._getOffset(),\n        flip: {\n          behavior: this.config.fallbackPlacement\n        },\n        arrow: {\n          element: `.${this.constructor.NAME}-arrow`\n        },\n        preventOverflow: {\n          boundariesElement: this.config.boundary\n        }\n      },\n      onCreate: data => {\n        if (data.originalPlacement !== data.placement) {\n          this._handlePopperPlacementChange(data)\n        }\n      },\n      onUpdate: data => this._handlePopperPlacementChange(data)\n    }\n\n    return {\n      ...defaultBsConfig,\n      ...this.config.popperConfig\n    }\n  }\n\n  _addAttachmentClass(attachment) {\n    this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this.config.offset === 'function') {\n      offset.fn = data => {\n        data.offsets = {\n          ...data.offsets,\n          ...(this.config.offset(data.offsets, this.element) || {})\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this.config.offset\n    }\n\n    return offset\n  }\n\n  _getContainer() {\n    if (this.config.container === false) {\n      return document.body\n    }\n\n    if (isElement(this.config.container)) {\n      return this.config.container\n    }\n\n    return SelectorEngine.findOne(this.config.container)\n  }\n\n  _getAttachment(placement) {\n    return AttachmentMap[placement.toUpperCase()]\n  }\n\n  _setListeners() {\n    const triggers = this.config.trigger.split(' ')\n\n    triggers.forEach(trigger => {\n      if (trigger === 'click') {\n        EventHandler.on(this.element,\n          this.constructor.Event.CLICK,\n          this.config.selector,\n          event => this.toggle(event)\n        )\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.Event.MOUSEENTER :\n          this.constructor.Event.FOCUSIN\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.Event.MOUSELEAVE :\n          this.constructor.Event.FOCUSOUT\n\n        EventHandler.on(this.element,\n          eventIn,\n          this.config.selector,\n          event => this._enter(event)\n        )\n        EventHandler.on(this.element,\n          eventOut,\n          this.config.selector,\n          event => this._leave(event)\n        )\n      }\n    })\n\n    this._hideModalHandler = () => {\n      if (this.element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this.element.closest(`.${CLASS_NAME_MODAL}`),\n      'hide.bs.modal',\n      this._hideModalHandler\n    )\n\n    if (this.config.selector) {\n      this.config = {\n        ...this.config,\n        trigger: 'manual',\n        selector: ''\n      }\n    } else {\n      this._fixTitle()\n    }\n  }\n\n  _fixTitle() {\n    const title = this.element.getAttribute('title')\n    const originalTitleType = typeof this.element.getAttribute('data-bs-original-title')\n\n    if (title || originalTitleType !== 'string') {\n      this.element.setAttribute('data-bs-original-title', title || '')\n      this.element.setAttribute('title', '')\n    }\n  }\n\n  _enter(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || Data.getData(event.delegateTarget, dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.delegateTarget,\n        this._getDelegateConfig()\n      )\n      Data.setData(event.delegateTarget, dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n      ] = true\n    }\n\n    if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\n        context._hoverState === HOVER_STATE_SHOW) {\n      context._hoverState = HOVER_STATE_SHOW\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HOVER_STATE_SHOW\n\n    if (!context.config.delay || !context.config.delay.show) {\n      context.show()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HOVER_STATE_SHOW) {\n        context.show()\n      }\n    }, context.config.delay.show)\n  }\n\n  _leave(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || Data.getData(event.delegateTarget, dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.delegateTarget,\n        this._getDelegateConfig()\n      )\n      Data.setData(event.delegateTarget, dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n      ] = false\n    }\n\n    if (context._isWithActiveTrigger()) {\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HOVER_STATE_OUT\n\n    if (!context.config.delay || !context.config.delay.hide) {\n      context.hide()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HOVER_STATE_OUT) {\n        context.hide()\n      }\n    }, context.config.delay.hide)\n  }\n\n  _isWithActiveTrigger() {\n    for (const trigger in this._activeTrigger) {\n      if (this._activeTrigger[trigger]) {\n        return true\n      }\n    }\n\n    return false\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n    Object.keys(dataAttributes).forEach(dataAttr => {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n        delete dataAttributes[dataAttr]\n      }\n    })\n\n    if (config && typeof config.container === 'object' && config.container.jquery) {\n      config.container = config.container[0]\n    }\n\n    config = {\n      ...this.constructor.Default,\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n    if (config.sanitize) {\n      config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    if (this.config) {\n      for (const key in this.config) {\n        if (this.constructor.Default[key] !== this.config[key]) {\n          config[key] = this.config[key]\n        }\n      }\n    }\n\n    return config\n  }\n\n  _cleanTipClass() {\n    const tip = this.getTipElement()\n    const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      tabClass.map(token => token.trim())\n        .forEach(tClass => tip.classList.remove(tClass))\n    }\n  }\n\n  _handlePopperPlacementChange(popperData) {\n    this.tip = popperData.instance.popper\n    this._cleanTipClass()\n    this._addAttachmentClass(this._getAttachment(popperData.placement))\n  }\n\n  _fixTransition() {\n    const tip = this.getTipElement()\n    const initConfigAnimation = this.config.animation\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE)\n    this.config.animation = false\n    this.hide()\n    this.show()\n    this.config.animation = initConfigAnimation\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data && /dispose|hide/.test(config)) {\n        return\n      }\n\n      if (!data) {\n        data = new Tooltip(this, _config)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config]()\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Tooltip.jQueryInterface\n    $.fn[NAME].Constructor = Tooltip\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Tooltip.jQueryInterface\n    }\n  }\n})\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery, onDOMContentLoaded } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n  ...Tooltip.Default,\n  placement: 'right',\n  trigger: 'click',\n  content: '',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n              '<div class=\"popover-arrow\"></div>' +\n              '<h3 class=\"popover-header\"></h3>' +\n              '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(string|element|function)'\n}\n\nconst Event = {\n  HIDE: `hide${EVENT_KEY}`,\n  HIDDEN: `hidden${EVENT_KEY}`,\n  SHOW: `show${EVENT_KEY}`,\n  SHOWN: `shown${EVENT_KEY}`,\n  INSERTED: `inserted${EVENT_KEY}`,\n  CLICK: `click${EVENT_KEY}`,\n  FOCUSIN: `focusin${EVENT_KEY}`,\n  FOCUSOUT: `focusout${EVENT_KEY}`,\n  MOUSEENTER: `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  static get DATA_KEY() {\n    return DATA_KEY\n  }\n\n  static get Event() {\n    return Event\n  }\n\n  static get EVENT_KEY() {\n    return EVENT_KEY\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Overrides\n\n  isWithContent() {\n    return this.getTitle() || this._getContent()\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n\n    // we use append for html objects to maintain js events\n    this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n\n    this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content)\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n  }\n\n  // Private\n\n  _addAttachmentClass(attachment) {\n    this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  _getContent() {\n    return this.element.getAttribute('data-bs-content') ||\n      this.config.content\n  }\n\n  _cleanTipClass() {\n    const tip = this.getTipElement()\n    const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      tabClass.map(token => token.trim())\n        .forEach(tClass => tip.classList.remove(tClass))\n    }\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data && /dispose|hide/.test(config)) {\n        return\n      }\n\n      if (!data) {\n        data = new Popover(this, _config)\n        Data.setData(this, DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config]()\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Popover.jQueryInterface\n    $.fn[NAME].Constructor = Popover\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Popover.jQueryInterface\n    }\n  }\n})\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  getSelectorFromElement,\n  getUID,\n  isElement,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n  offset: 10,\n  method: 'auto',\n  target: ''\n}\n\nconst DefaultType = {\n  offset: 'number',\n  method: 'string',\n  target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n  constructor(element, config) {\n    this._element = element\n    this._scrollElement = element.tagName === 'BODY' ? window : element\n    this._config = this._getConfig(config)\n    this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS}, ${this._config.target} ${SELECTOR_LIST_ITEMS}, ${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`\n    this._offsets = []\n    this._targets = []\n    this._activeTarget = null\n    this._scrollHeight = 0\n\n    EventHandler.on(this._scrollElement, EVENT_SCROLL, event => this._process(event))\n\n    this.refresh()\n    this._process()\n\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  refresh() {\n    const autoMethod = this._scrollElement === this._scrollElement.window ?\n      METHOD_OFFSET :\n      METHOD_POSITION\n\n    const offsetMethod = this._config.method === 'auto' ?\n      autoMethod :\n      this._config.method\n\n    const offsetBase = offsetMethod === METHOD_POSITION ?\n      this._getScrollTop() :\n      0\n\n    this._offsets = []\n    this._targets = []\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = SelectorEngine.find(this._selector)\n\n    targets.map(element => {\n      const targetSelector = getSelectorFromElement(element)\n      const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n      if (target) {\n        const targetBCR = target.getBoundingClientRect()\n        if (targetBCR.width || targetBCR.height) {\n          return [\n            Manipulator[offsetMethod](target).top + offsetBase,\n            targetSelector\n          ]\n        }\n      }\n\n      return null\n    })\n      .filter(item => item)\n      .sort((a, b) => a[0] - b[0])\n      .forEach(item => {\n        this._offsets.push(item[0])\n        this._targets.push(item[1])\n      })\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n    EventHandler.off(this._scrollElement, EVENT_KEY)\n\n    this._element = null\n    this._scrollElement = null\n    this._config = null\n    this._selector = null\n    this._offsets = null\n    this._targets = null\n    this._activeTarget = null\n    this._scrollHeight = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n\n    if (typeof config.target !== 'string' && isElement(config.target)) {\n      let { id } = config.target\n      if (!id) {\n        id = getUID(NAME)\n        config.target.id = id\n      }\n\n      config.target = `#${id}`\n    }\n\n    typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window ?\n      this._scrollElement.pageYOffset :\n      this._scrollElement.scrollTop\n  }\n\n  _getScrollHeight() {\n    return this._scrollElement.scrollHeight || Math.max(\n      document.body.scrollHeight,\n      document.documentElement.scrollHeight\n    )\n  }\n\n  _getOffsetHeight() {\n    return this._scrollElement === window ?\n      window.innerHeight :\n      this._scrollElement.getBoundingClientRect().height\n  }\n\n  _process() {\n    const scrollTop = this._getScrollTop() + this._config.offset\n    const scrollHeight = this._getScrollHeight()\n    const maxScroll = this._config.offset +\n      scrollHeight -\n      this._getOffsetHeight()\n\n    if (this._scrollHeight !== scrollHeight) {\n      this.refresh()\n    }\n\n    if (scrollTop >= maxScroll) {\n      const target = this._targets[this._targets.length - 1]\n\n      if (this._activeTarget !== target) {\n        this._activate(target)\n      }\n\n      return\n    }\n\n    if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n      this._activeTarget = null\n      this._clear()\n      return\n    }\n\n    for (let i = this._offsets.length; i--;) {\n      const isActiveTarget = this._activeTarget !== this._targets[i] &&\n          scrollTop >= this._offsets[i] &&\n          (typeof this._offsets[i + 1] === 'undefined' ||\n              scrollTop < this._offsets[i + 1])\n\n      if (isActiveTarget) {\n        this._activate(this._targets[i])\n      }\n    }\n  }\n\n  _activate(target) {\n    this._activeTarget = target\n\n    this._clear()\n\n    const queries = this._selector.split(',')\n      .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const link = SelectorEngine.findOne(queries.join(','))\n\n    if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n\n      link.classList.add(CLASS_NAME_ACTIVE)\n    } else {\n      // Set triggered link as active\n      link.classList.add(CLASS_NAME_ACTIVE)\n\n      SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n        .forEach(listGroup => {\n          // Set triggered links parents as active\n          // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n          SelectorEngine.prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)\n            .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n\n          // Handle special case when .nav-link is inside .nav-item\n          SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS)\n            .forEach(navItem => {\n              SelectorEngine.children(navItem, SELECTOR_NAV_LINKS)\n                .forEach(item => item.classList.add(CLASS_NAME_ACTIVE))\n            })\n        })\n    }\n\n    EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    SelectorEngine.find(this._selector)\n      .filter(node => node.classList.contains(CLASS_NAME_ACTIVE))\n      .forEach(node => node.classList.remove(CLASS_NAME_ACTIVE))\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config]()\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  SelectorEngine.find(SELECTOR_DATA_SPY)\n    .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .ScrollSpy to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = ScrollSpy.jQueryInterface\n    $.fn[NAME].Constructor = ScrollSpy\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return ScrollSpy.jQueryInterface\n    }\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\n\n    Data.setData(this._element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  show() {\n    if ((this._element.parentNode &&\n      this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n      this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\n      this._element.classList.contains(CLASS_NAME_DISABLED)) {\n      return\n    }\n\n    let previous\n    const target = getElementFromSelector(this._element)\n    const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n      previous = SelectorEngine.find(itemSelector, listElement)\n      previous = previous[previous.length - 1]\n    }\n\n    let hideEvent = null\n\n    if (previous) {\n      hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\n        relatedTarget: this._element\n      })\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget: previous\n    })\n\n    if (showEvent.defaultPrevented ||\n      (hideEvent !== null && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      EventHandler.trigger(previous, EVENT_HIDDEN, {\n        relatedTarget: this._element\n      })\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget: previous\n      })\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    Data.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _activate(element, container, callback) {\n    const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n      SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n      SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback &&\n      (active && active.classList.contains(CLASS_NAME_FADE))\n\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = getTransitionDurationFromElement(active)\n      active.classList.remove(CLASS_NAME_SHOW)\n\n      EventHandler.one(active, TRANSITION_END, complete)\n      emulateTransitionEnd(active, transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      active.classList.remove(CLASS_NAME_ACTIVE)\n\n      const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n      if (dropdownChild) {\n        dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    reflow(element)\n\n    if (element.classList.contains(CLASS_NAME_FADE)) {\n      element.classList.add(CLASS_NAME_SHOW)\n    }\n\n    if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n      const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n      if (dropdownElement) {\n        SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE)\n          .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n      }\n\n      element.setAttribute('aria-expanded', true)\n    }\n\n    if (callback) {\n      callback()\n    }\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config]()\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n\n  const data = Data.getData(this, DATA_KEY) || new Tab(this)\n  data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Tab.jQueryInterface\n    $.fn[NAME].Constructor = Tab\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Tab.jQueryInterface\n    }\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  getTransitionDurationFromElement,\n  reflow,\n  typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '5.0.0-alpha3'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\nconst SELECTOR_DATA_DISMISS = '[data-bs-dismiss=\"toast\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n  constructor(element, config) {\n    this._element = element\n    this._config = this._getConfig(config)\n    this._timeout = null\n    this._setListeners()\n    Data.setData(element, DATA_KEY, this)\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      this._element.classList.add(CLASS_NAME_SHOW)\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      if (this._config.autohide) {\n        this._timeout = setTimeout(() => {\n          this.hide()\n        }, this._config.delay)\n      }\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE)\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = getTransitionDurationFromElement(this._element)\n\n      EventHandler.one(this._element, TRANSITION_END, complete)\n      emulateTransitionEnd(this._element, transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide() {\n    if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    if (this._config.animation) {\n      const transitionDuration = getTransitionDurationFromElement(this._element)\n\n      EventHandler.one(this._element, TRANSITION_END, complete)\n      emulateTransitionEnd(this._element, transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n    Data.removeData(this._element, DATA_KEY)\n\n    this._element = null\n    this._config = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...Manipulator.getDataAttributes(this._element),\n      ...(typeof config === 'object' && config ? config : {})\n    }\n\n    typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n    return config\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config](this)\n      }\n    })\n  }\n\n  static getInstance(element) {\n    return Data.getData(element, DATA_KEY)\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Toast.jQueryInterface\n    $.fn[NAME].Constructor = Toast\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Toast.jQueryInterface\n    }\n  }\n})\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","mapData","storeData","id","set","key","data","bsKey","get","keyProperties","delete","Data","setData","instance","getData","removeData","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","getUidEvent","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","domElements","querySelectorAll","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","has","addHandler","handlers","previousFn","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","defineProperty","preventDefault","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASSNAME_ALERT","CLASSNAME_FADE","CLASSNAME_SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","closest","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","button","normalizeData","val","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","NODE_TEXT","SelectorEngine","matches","find","concat","Element","prototype","findOne","children","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","e","add","tagName","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","parseInt","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","parent","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_NAVBAR","CLASS_NAME_POSITION_STATIC","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","focus","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","paddingLeft","paddingRight","round","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","el","elName","attributeList","allowedAttributes","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_MODAL","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popper","initConfigAnimation","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","method","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","CLASS_NAME_DROPDOWN_MENU","SELECTOR_ACTIVE_UL","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_clearTimeout"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,OAAO,GAAG,OAAhB;AACA,IAAMC,uBAAuB,GAAG,IAAhC;AACA,IAAMC,cAAc,GAAG,eAAvB;;AAGA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG,EAAI;AACpB,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAA5B,EAAuC;AACrC,gBAAUD,GAAV;AACD;;AAED,SAAO,GAAGE,QAAH,CAAYC,IAAZ,CAAiBH,GAAjB,EAAsBI,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;AACD,CAND;AAQA;AACA;AACA;AACA;AACA;;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,MAAM,EAAI;AACvB,KAAG;AACDA,IAAAA,MAAM,IAAIC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgBd,OAA3B,CAAV;AACD,GAFD,QAESe,QAAQ,CAACC,cAAT,CAAwBL,MAAxB,CAFT;;AAIA,SAAOA,MAAP;AACD,CAND;;AAQA,IAAMM,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;AAC7B,MAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,gBAArB,CAAf;;AAEA,MAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;AACjC,QAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;AAEAD,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;AACD;;AAED,SAAOH,QAAP;AACD,CAVD;;AAYA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;AACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;;AAEA,MAAIC,QAAJ,EAAc;AACZ,WAAOJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;AACD;;AAED,SAAO,IAAP;AACD,CARD;;AAUA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAP,OAAO,EAAI;AACxC,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;AAEA,SAAOC,QAAQ,GAAGJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,CAAH,GAAsC,IAArD;AACD,CAJD;;AAMA,IAAMO,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,OAAO,EAAI;AAClD,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,CAAP;AACD,GAHiD;;;AAAA,8BAS9CS,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,CAT8C;AAAA,MAOhDW,kBAPgD,yBAOhDA,kBAPgD;AAAA,MAQhDC,eARgD,yBAQhDA,eARgD;;AAWlD,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,UAAP,CAAkBJ,kBAAlB,CAAhC;AACA,MAAMK,oBAAoB,GAAGF,MAAM,CAACC,UAAP,CAAkBH,eAAlB,CAA7B,CAZkD;;AAelD,MAAI,CAACC,uBAAD,IAA4B,CAACG,oBAAjC,EAAuD;AACrD,WAAO,CAAP;AACD,GAjBiD;;;AAoBlDL,EAAAA,kBAAkB,GAAGA,kBAAkB,CAACM,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;AACAL,EAAAA,eAAe,GAAGA,eAAe,CAACK,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;AAEA,SAAO,CAACH,MAAM,CAACC,UAAP,CAAkBJ,kBAAlB,IAAwCG,MAAM,CAACC,UAAP,CAAkBH,eAAlB,CAAzC,IAA+E7B,uBAAtF;AACD,CAxBD;;AA0BA,IAAMmC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAlB,OAAO,EAAI;AACtCA,EAAAA,OAAO,CAACmB,aAAR,CAAsB,IAAIC,KAAJ,CAAUpC,cAAV,CAAtB;AACD,CAFD;;AAIA,IAAMqC,SAAS,GAAG,SAAZA,SAAY,CAAAnC,GAAG;AAAA,SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBoC,QAApB;AAAA,CAArB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACvB,OAAD,EAAUwB,QAAV,EAAuB;AAClD,MAAIC,MAAM,GAAG,KAAb;AACA,MAAMC,eAAe,GAAG,CAAxB;AACA,MAAMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;AACA,WAASE,QAAT,GAAoB;AAClBH,IAAAA,MAAM,GAAG,IAAT;AACAzB,IAAAA,OAAO,CAAC6B,mBAAR,CAA4B7C,cAA5B,EAA4C4C,QAA5C;AACD;;AAED5B,EAAAA,OAAO,CAAC8B,gBAAR,CAAyB9C,cAAzB,EAAyC4C,QAAzC;AACAG,EAAAA,UAAU,CAAC,YAAM;AACf,QAAI,CAACN,MAAL,EAAa;AACXP,MAAAA,oBAAoB,CAAClB,OAAD,CAApB;AACD;AACF,GAJS,EAIP2B,gBAJO,CAAV;AAKD,CAfD;;AAiBA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;AAC9DC,EAAAA,MAAM,CAACC,IAAP,CAAYF,WAAZ,EAAyBG,OAAzB,CAAiC,UAAAC,QAAQ,EAAI;AAC3C,QAAMC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;AACA,QAAME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;AACA,QAAMG,SAAS,GAAGD,KAAK,IAAIpB,SAAS,CAACoB,KAAD,CAAlB,GAChB,SADgB,GAEhBxD,MAAM,CAACwD,KAAD,CAFR;;AAIA,QAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;AAC9C,YAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;AAID;AACF,GAbD;AAcD,CAfD;;AAiBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAA/C,OAAO,EAAI;AAC3B,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,KAAP;AACD;;AAED,MAAIA,OAAO,CAACgD,KAAR,IAAiBhD,OAAO,CAACiD,UAAzB,IAAuCjD,OAAO,CAACiD,UAAR,CAAmBD,KAA9D,EAAqE;AACnE,QAAME,YAAY,GAAGxC,gBAAgB,CAACV,OAAD,CAArC;AACA,QAAMmD,eAAe,GAAGzC,gBAAgB,CAACV,OAAO,CAACiD,UAAT,CAAxC;AAEA,WAAOC,YAAY,CAACE,OAAb,KAAyB,MAAzB,IACLD,eAAe,CAACC,OAAhB,KAA4B,MADvB,IAELF,YAAY,CAACG,UAAb,KAA4B,QAF9B;AAGD;;AAED,SAAO,KAAP;AACD,CAfD;;AAiBA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAtD,OAAO,EAAI;AAChC,MAAI,CAACH,QAAQ,CAAC0D,eAAT,CAAyBC,YAA9B,EAA4C;AAC1C,WAAO,IAAP;AACD,GAH+B;;;AAMhC,MAAI,OAAOxD,OAAO,CAACyD,WAAf,KAA+B,UAAnC,EAA+C;AAC7C,QAAMC,IAAI,GAAG1D,OAAO,CAACyD,WAAR,EAAb;AACA,WAAOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;AACD;;AAED,MAAI1D,OAAO,YAAY2D,UAAvB,EAAmC;AACjC,WAAO3D,OAAP;AACD,GAb+B;;;AAgBhC,MAAI,CAACA,OAAO,CAACiD,UAAb,EAAyB;AACvB,WAAO,IAAP;AACD;;AAED,SAAOK,cAAc,CAACtD,OAAO,CAACiD,UAAT,CAArB;AACD,CArBD;;AAuBA,IAAMW,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM,YAAY,EAAlB;AAAA,CAAb;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAA7D,OAAO;AAAA,SAAIA,OAAO,CAAC8D,YAAZ;AAAA,CAAtB;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AAAA,gBACHtD,MADG;AAAA,MACduD,MADc,WACdA,MADc;;AAGtB,MAAIA,MAAM,IAAI,CAACnE,QAAQ,CAACoE,IAAT,CAAcC,YAAd,CAA2B,mBAA3B,CAAf,EAAgE;AAC9D,WAAOF,MAAP;AACD;;AAED,SAAO,IAAP;AACD,CARD;;AAUA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ,EAAI;AACrC,MAAIvE,QAAQ,CAACwE,UAAT,KAAwB,SAA5B,EAAuC;AACrCxE,IAAAA,QAAQ,CAACiC,gBAAT,CAA0B,kBAA1B,EAA8CsC,QAA9C;AACD,GAFD,MAEO;AACLA,IAAAA,QAAQ;AACT;AACF,CAND;;ACtLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAME,OAAO,GAAI,YAAM;AACrB,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAIC,EAAE,GAAG,CAAT;AACA,SAAO;AACLC,IAAAA,GADK,eACDzE,OADC,EACQ0E,GADR,EACaC,IADb,EACmB;AACtB,UAAI,OAAO3E,OAAO,CAAC4E,KAAf,KAAyB,WAA7B,EAA0C;AACxC5E,QAAAA,OAAO,CAAC4E,KAAR,GAAgB;AACdF,UAAAA,GAAG,EAAHA,GADc;AAEdF,UAAAA,EAAE,EAAFA;AAFc,SAAhB;AAIAA,QAAAA,EAAE;AACH;;AAEDD,MAAAA,SAAS,CAACvE,OAAO,CAAC4E,KAAR,CAAcJ,EAAf,CAAT,GAA8BG,IAA9B;AACD,KAXI;AAYLE,IAAAA,GAZK,eAYD7E,OAZC,EAYQ0E,GAZR,EAYa;AAChB,UAAI,CAAC1E,OAAD,IAAY,OAAOA,OAAO,CAAC4E,KAAf,KAAyB,WAAzC,EAAsD;AACpD,eAAO,IAAP;AACD;;AAED,UAAME,aAAa,GAAG9E,OAAO,CAAC4E,KAA9B;;AACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;AAC7B,eAAOH,SAAS,CAACO,aAAa,CAACN,EAAf,CAAhB;AACD;;AAED,aAAO,IAAP;AACD,KAvBI;AAwBLO,IAAAA,MAxBK,mBAwBE/E,OAxBF,EAwBW0E,GAxBX,EAwBgB;AACnB,UAAI,OAAO1E,OAAO,CAAC4E,KAAf,KAAyB,WAA7B,EAA0C;AACxC;AACD;;AAED,UAAME,aAAa,GAAG9E,OAAO,CAAC4E,KAA9B;;AACA,UAAIE,aAAa,CAACJ,GAAd,KAAsBA,GAA1B,EAA+B;AAC7B,eAAOH,SAAS,CAACO,aAAa,CAACN,EAAf,CAAhB;AACA,eAAOxE,OAAO,CAAC4E,KAAf;AACD;AACF;AAlCI,GAAP;AAoCD,CAvCe,EAAhB;;AAyCA,IAAMI,IAAI,GAAG;AACXC,EAAAA,OADW,mBACHC,QADG,EACOR,GADP,EACYC,IADZ,EACkB;AAC3BL,IAAAA,OAAO,CAACG,GAAR,CAAYS,QAAZ,EAAsBR,GAAtB,EAA2BC,IAA3B;AACD,GAHU;AAIXQ,EAAAA,OAJW,mBAIHD,QAJG,EAIOR,GAJP,EAIY;AACrB,WAAOJ,OAAO,CAACO,GAAR,CAAYK,QAAZ,EAAsBR,GAAtB,CAAP;AACD,GANU;AAOXU,EAAAA,UAPW,sBAOAF,QAPA,EAOUR,GAPV,EAOe;AACxBJ,IAAAA,OAAO,CAACS,MAAR,CAAeG,QAAf,EAAyBR,GAAzB;AACD;AATU,CAAb;;ACtDA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;;AAEA,IAAMW,cAAc,GAAG,oBAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,aAAa,GAAG,EAAtB;;AACA,IAAIC,QAAQ,GAAG,CAAf;AACA,IAAMC,YAAY,GAAG;AACnBC,EAAAA,UAAU,EAAE,WADO;AAEnBC,EAAAA,UAAU,EAAE;AAFO,CAArB;AAIA,IAAMC,YAAY,GAAG,IAAIC,GAAJ,CAAQ,CAC3B,OAD2B,EAE3B,UAF2B,EAG3B,SAH2B,EAI3B,WAJ2B,EAK3B,aAL2B,EAM3B,YAN2B,EAO3B,gBAP2B,EAQ3B,WAR2B,EAS3B,UAT2B,EAU3B,WAV2B,EAW3B,aAX2B,EAY3B,WAZ2B,EAa3B,SAb2B,EAc3B,UAd2B,EAe3B,OAf2B,EAgB3B,mBAhB2B,EAiB3B,YAjB2B,EAkB3B,WAlB2B,EAmB3B,UAnB2B,EAoB3B,aApB2B,EAqB3B,aArB2B,EAsB3B,aAtB2B,EAuB3B,WAvB2B,EAwB3B,cAxB2B,EAyB3B,eAzB2B,EA0B3B,cA1B2B,EA2B3B,eA3B2B,EA4B3B,YA5B2B,EA6B3B,OA7B2B,EA8B3B,MA9B2B,EA+B3B,QA/B2B,EAgC3B,OAhC2B,EAiC3B,QAjC2B,EAkC3B,QAlC2B,EAmC3B,SAnC2B,EAoC3B,UApC2B,EAqC3B,MArC2B,EAsC3B,QAtC2B,EAuC3B,cAvC2B,EAwC3B,QAxC2B,EAyC3B,MAzC2B,EA0C3B,kBA1C2B,EA2C3B,kBA3C2B,EA4C3B,OA5C2B,EA6C3B,OA7C2B,EA8C3B,QA9C2B,CAAR,CAArB;AAiDA;AACA;AACA;AACA;AACA;;AAEA,SAASC,WAAT,CAAqB/F,OAArB,EAA8BgG,GAA9B,EAAmC;AACjC,SAAQA,GAAG,IAAOA,GAAP,UAAeP,QAAQ,EAA3B,IAAoCzF,OAAO,CAACyF,QAA5C,IAAwDA,QAAQ,EAAvE;AACD;;AAED,SAASQ,QAAT,CAAkBjG,OAAlB,EAA2B;AACzB,MAAMgG,GAAG,GAAGD,WAAW,CAAC/F,OAAD,CAAvB;AAEAA,EAAAA,OAAO,CAACyF,QAAR,GAAmBO,GAAnB;AACAR,EAAAA,aAAa,CAACQ,GAAD,CAAb,GAAqBR,aAAa,CAACQ,GAAD,CAAb,IAAsB,EAA3C;AAEA,SAAOR,aAAa,CAACQ,GAAD,CAApB;AACD;;AAED,SAASE,gBAAT,CAA0BlG,OAA1B,EAAmCmG,EAAnC,EAAuC;AACrC,SAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC7BA,IAAAA,KAAK,CAACC,cAAN,GAAuBtG,OAAvB;;AAEA,QAAIoG,OAAO,CAACG,MAAZ,EAAoB;AAClBC,MAAAA,YAAY,CAACC,GAAb,CAAiBzG,OAAjB,EAA0BqG,KAAK,CAACK,IAAhC,EAAsCP,EAAtC;AACD;;AAED,WAAOA,EAAE,CAACQ,KAAH,CAAS3G,OAAT,EAAkB,CAACqG,KAAD,CAAlB,CAAP;AACD,GARD;AASD;;AAED,SAASO,0BAAT,CAAoC5G,OAApC,EAA6CC,QAA7C,EAAuDkG,EAAvD,EAA2D;AACzD,SAAO,SAASC,OAAT,CAAiBC,KAAjB,EAAwB;AAC7B,QAAMQ,WAAW,GAAG7G,OAAO,CAAC8G,gBAAR,CAAyB7G,QAAzB,CAApB;;AAEA,aAAW8G,MAAX,GAAsBV,KAAtB,CAAWU,MAAX,EAA6BA,MAAM,IAAIA,MAAM,KAAK,IAAlD,EAAwDA,MAAM,GAAGA,MAAM,CAAC9D,UAAxE,EAAoF;AAClF,WAAK,IAAI+D,CAAC,GAAGH,WAAW,CAACI,MAAzB,EAAiCD,CAAC,EAAlC,GAAuC;AACrC,YAAIH,WAAW,CAACG,CAAD,CAAX,KAAmBD,MAAvB,EAA+B;AAC7BV,UAAAA,KAAK,CAACC,cAAN,GAAuBS,MAAvB;;AAEA,cAAIX,OAAO,CAACG,MAAZ,EAAoB;AAClBC,YAAAA,YAAY,CAACC,GAAb,CAAiBzG,OAAjB,EAA0BqG,KAAK,CAACK,IAAhC,EAAsCP,EAAtC;AACD;;AAED,iBAAOA,EAAE,CAACQ,KAAH,CAASI,MAAT,EAAiB,CAACV,KAAD,CAAjB,CAAP;AACD;AACF;AACF,KAf4B;;;AAkB7B,WAAO,IAAP;AACD,GAnBD;AAoBD;;AAED,SAASa,WAAT,CAAqBC,MAArB,EAA6Bf,OAA7B,EAAsCgB,kBAAtC,EAAiE;AAAA,MAA3BA,kBAA2B;AAA3BA,IAAAA,kBAA2B,GAAN,IAAM;AAAA;;AAC/D,MAAMC,YAAY,GAAGjF,MAAM,CAACC,IAAP,CAAY8E,MAAZ,CAArB;;AAEA,OAAK,IAAIH,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGD,YAAY,CAACJ,MAAnC,EAA2CD,CAAC,GAAGM,GAA/C,EAAoDN,CAAC,EAArD,EAAyD;AACvD,QAAMX,KAAK,GAAGc,MAAM,CAACE,YAAY,CAACL,CAAD,CAAb,CAApB;;AAEA,QAAIX,KAAK,CAACkB,eAAN,KAA0BnB,OAA1B,IAAqCC,KAAK,CAACe,kBAAN,KAA6BA,kBAAtE,EAA0F;AACxF,aAAOf,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD;;AAED,SAASmB,eAAT,CAAyBC,iBAAzB,EAA4CrB,OAA5C,EAAqDsB,YAArD,EAAmE;AACjE,MAAMC,UAAU,GAAG,OAAOvB,OAAP,KAAmB,QAAtC;AACA,MAAMmB,eAAe,GAAGI,UAAU,GAAGD,YAAH,GAAkBtB,OAApD,CAFiE;;AAKjE,MAAIwB,SAAS,GAAGH,iBAAiB,CAACI,OAAlB,CAA0BvC,cAA1B,EAA0C,EAA1C,CAAhB;AACA,MAAMwC,MAAM,GAAGpC,YAAY,CAACkC,SAAD,CAA3B;;AAEA,MAAIE,MAAJ,EAAY;AACVF,IAAAA,SAAS,GAAGE,MAAZ;AACD;;AAED,MAAMC,QAAQ,GAAGlC,YAAY,CAACmC,GAAb,CAAiBJ,SAAjB,CAAjB;;AAEA,MAAI,CAACG,QAAL,EAAe;AACbH,IAAAA,SAAS,GAAGH,iBAAZ;AACD;;AAED,SAAO,CAACE,UAAD,EAAaJ,eAAb,EAA8BK,SAA9B,CAAP;AACD;;AAED,SAASK,UAAT,CAAoBjI,OAApB,EAA6ByH,iBAA7B,EAAgDrB,OAAhD,EAAyDsB,YAAzD,EAAuEnB,MAAvE,EAA+E;AAC7E,MAAI,OAAOkB,iBAAP,KAA6B,QAA7B,IAAyC,CAACzH,OAA9C,EAAuD;AACrD;AACD;;AAED,MAAI,CAACoG,OAAL,EAAc;AACZA,IAAAA,OAAO,GAAGsB,YAAV;AACAA,IAAAA,YAAY,GAAG,IAAf;AACD;;AAR4E,yBAU5BF,eAAe,CAACC,iBAAD,EAAoBrB,OAApB,EAA6BsB,YAA7B,CAVa;AAAA,MAUtEC,UAVsE;AAAA,MAU1DJ,eAV0D;AAAA,MAUzCK,SAVyC;;AAW7E,MAAMT,MAAM,GAAGlB,QAAQ,CAACjG,OAAD,CAAvB;AACA,MAAMkI,QAAQ,GAAGf,MAAM,CAACS,SAAD,CAAN,KAAsBT,MAAM,CAACS,SAAD,CAAN,GAAoB,EAA1C,CAAjB;AACA,MAAMO,UAAU,GAAGjB,WAAW,CAACgB,QAAD,EAAWX,eAAX,EAA4BI,UAAU,GAAGvB,OAAH,GAAa,IAAnD,CAA9B;;AAEA,MAAI+B,UAAJ,EAAgB;AACdA,IAAAA,UAAU,CAAC5B,MAAX,GAAoB4B,UAAU,CAAC5B,MAAX,IAAqBA,MAAzC;AAEA;AACD;;AAED,MAAMP,GAAG,GAAGD,WAAW,CAACwB,eAAD,EAAkBE,iBAAiB,CAACI,OAAlB,CAA0BxC,cAA1B,EAA0C,EAA1C,CAAlB,CAAvB;AACA,MAAMc,EAAE,GAAGwB,UAAU,GACnBf,0BAA0B,CAAC5G,OAAD,EAAUoG,OAAV,EAAmBsB,YAAnB,CADP,GAEnBxB,gBAAgB,CAAClG,OAAD,EAAUoG,OAAV,CAFlB;AAIAD,EAAAA,EAAE,CAACiB,kBAAH,GAAwBO,UAAU,GAAGvB,OAAH,GAAa,IAA/C;AACAD,EAAAA,EAAE,CAACoB,eAAH,GAAqBA,eAArB;AACApB,EAAAA,EAAE,CAACI,MAAH,GAAYA,MAAZ;AACAJ,EAAAA,EAAE,CAACV,QAAH,GAAcO,GAAd;AACAkC,EAAAA,QAAQ,CAAClC,GAAD,CAAR,GAAgBG,EAAhB;AAEAnG,EAAAA,OAAO,CAAC8B,gBAAR,CAAyB8F,SAAzB,EAAoCzB,EAApC,EAAwCwB,UAAxC;AACD;;AAED,SAASS,aAAT,CAAuBpI,OAAvB,EAAgCmH,MAAhC,EAAwCS,SAAxC,EAAmDxB,OAAnD,EAA4DgB,kBAA5D,EAAgF;AAC9E,MAAMjB,EAAE,GAAGe,WAAW,CAACC,MAAM,CAACS,SAAD,CAAP,EAAoBxB,OAApB,EAA6BgB,kBAA7B,CAAtB;;AAEA,MAAI,CAACjB,EAAL,EAAS;AACP;AACD;;AAEDnG,EAAAA,OAAO,CAAC6B,mBAAR,CAA4B+F,SAA5B,EAAuCzB,EAAvC,EAA2CkC,OAAO,CAACjB,kBAAD,CAAlD;AACA,SAAOD,MAAM,CAACS,SAAD,CAAN,CAAkBzB,EAAE,CAACV,QAArB,CAAP;AACD;;AAED,SAAS6C,wBAAT,CAAkCtI,OAAlC,EAA2CmH,MAA3C,EAAmDS,SAAnD,EAA8DW,SAA9D,EAAyE;AACvE,MAAMC,iBAAiB,GAAGrB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;AAEAxF,EAAAA,MAAM,CAACC,IAAP,CAAYmG,iBAAZ,EAA+BlG,OAA/B,CAAuC,UAAAmG,UAAU,EAAI;AACnD,QAAIA,UAAU,CAACC,QAAX,CAAoBH,SAApB,CAAJ,EAAoC;AAClC,UAAMlC,KAAK,GAAGmC,iBAAiB,CAACC,UAAD,CAA/B;AAEAL,MAAAA,aAAa,CAACpI,OAAD,EAAUmH,MAAV,EAAkBS,SAAlB,EAA6BvB,KAAK,CAACkB,eAAnC,EAAoDlB,KAAK,CAACe,kBAA1D,CAAb;AACD;AACF,GAND;AAOD;;AAED,IAAMZ,YAAY,GAAG;AACnBmC,EAAAA,EADmB,cAChB3I,OADgB,EACPqG,KADO,EACAD,OADA,EACSsB,YADT,EACuB;AACxCO,IAAAA,UAAU,CAACjI,OAAD,EAAUqG,KAAV,EAAiBD,OAAjB,EAA0BsB,YAA1B,EAAwC,KAAxC,CAAV;AACD,GAHkB;AAKnBkB,EAAAA,GALmB,eAKf5I,OALe,EAKNqG,KALM,EAKCD,OALD,EAKUsB,YALV,EAKwB;AACzCO,IAAAA,UAAU,CAACjI,OAAD,EAAUqG,KAAV,EAAiBD,OAAjB,EAA0BsB,YAA1B,EAAwC,IAAxC,CAAV;AACD,GAPkB;AASnBjB,EAAAA,GATmB,eASfzG,OATe,EASNyH,iBATM,EASarB,OATb,EASsBsB,YATtB,EASoC;AACrD,QAAI,OAAOD,iBAAP,KAA6B,QAA7B,IAAyC,CAACzH,OAA9C,EAAuD;AACrD;AACD;;AAHoD,4BAKJwH,eAAe,CAACC,iBAAD,EAAoBrB,OAApB,EAA6BsB,YAA7B,CALX;AAAA,QAK9CC,UAL8C;AAAA,QAKlCJ,eALkC;AAAA,QAKjBK,SALiB;;AAMrD,QAAMiB,WAAW,GAAGjB,SAAS,KAAKH,iBAAlC;AACA,QAAMN,MAAM,GAAGlB,QAAQ,CAACjG,OAAD,CAAvB;AACA,QAAM8I,WAAW,GAAGrB,iBAAiB,CAACsB,UAAlB,CAA6B,GAA7B,CAApB;;AAEA,QAAI,OAAOxB,eAAP,KAA2B,WAA/B,EAA4C;AAC1C;AACA,UAAI,CAACJ,MAAD,IAAW,CAACA,MAAM,CAACS,SAAD,CAAtB,EAAmC;AACjC;AACD;;AAEDQ,MAAAA,aAAa,CAACpI,OAAD,EAAUmH,MAAV,EAAkBS,SAAlB,EAA6BL,eAA7B,EAA8CI,UAAU,GAAGvB,OAAH,GAAa,IAArE,CAAb;AACA;AACD;;AAED,QAAI0C,WAAJ,EAAiB;AACf1G,MAAAA,MAAM,CAACC,IAAP,CAAY8E,MAAZ,EAAoB7E,OAApB,CAA4B,UAAA0G,YAAY,EAAI;AAC1CV,QAAAA,wBAAwB,CAACtI,OAAD,EAAUmH,MAAV,EAAkB6B,YAAlB,EAAgCvB,iBAAiB,CAACwB,KAAlB,CAAwB,CAAxB,CAAhC,CAAxB;AACD,OAFD;AAGD;;AAED,QAAMT,iBAAiB,GAAGrB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;AACAxF,IAAAA,MAAM,CAACC,IAAP,CAAYmG,iBAAZ,EAA+BlG,OAA/B,CAAuC,UAAA4G,WAAW,EAAI;AACpD,UAAMT,UAAU,GAAGS,WAAW,CAACrB,OAAZ,CAAoBtC,aAApB,EAAmC,EAAnC,CAAnB;;AAEA,UAAI,CAACsD,WAAD,IAAgBpB,iBAAiB,CAACiB,QAAlB,CAA2BD,UAA3B,CAApB,EAA4D;AAC1D,YAAMpC,KAAK,GAAGmC,iBAAiB,CAACU,WAAD,CAA/B;AAEAd,QAAAA,aAAa,CAACpI,OAAD,EAAUmH,MAAV,EAAkBS,SAAlB,EAA6BvB,KAAK,CAACkB,eAAnC,EAAoDlB,KAAK,CAACe,kBAA1D,CAAb;AACD;AACF,KARD;AASD,GA7CkB;AA+CnB+B,EAAAA,OA/CmB,mBA+CXnJ,OA/CW,EA+CFqG,KA/CE,EA+CK+C,IA/CL,EA+CW;AAC5B,QAAI,OAAO/C,KAAP,KAAiB,QAAjB,IAA6B,CAACrG,OAAlC,EAA2C;AACzC,aAAO,IAAP;AACD;;AAED,QAAMqJ,CAAC,GAAGtF,SAAS,EAAnB;AACA,QAAM6D,SAAS,GAAGvB,KAAK,CAACwB,OAAN,CAAcvC,cAAd,EAA8B,EAA9B,CAAlB;AACA,QAAMuD,WAAW,GAAGxC,KAAK,KAAKuB,SAA9B;AACA,QAAMG,QAAQ,GAAGlC,YAAY,CAACmC,GAAb,CAAiBJ,SAAjB,CAAjB;AAEA,QAAI0B,WAAJ;AACA,QAAIC,OAAO,GAAG,IAAd;AACA,QAAIC,cAAc,GAAG,IAArB;AACA,QAAIC,gBAAgB,GAAG,KAAvB;AACA,QAAIC,GAAG,GAAG,IAAV;;AAEA,QAAIb,WAAW,IAAIQ,CAAnB,EAAsB;AACpBC,MAAAA,WAAW,GAAGD,CAAC,CAACjI,KAAF,CAAQiF,KAAR,EAAe+C,IAAf,CAAd;AAEAC,MAAAA,CAAC,CAACrJ,OAAD,CAAD,CAAWmJ,OAAX,CAAmBG,WAAnB;AACAC,MAAAA,OAAO,GAAG,CAACD,WAAW,CAACK,oBAAZ,EAAX;AACAH,MAAAA,cAAc,GAAG,CAACF,WAAW,CAACM,6BAAZ,EAAlB;AACAH,MAAAA,gBAAgB,GAAGH,WAAW,CAACO,kBAAZ,EAAnB;AACD;;AAED,QAAI9B,QAAJ,EAAc;AACZ2B,MAAAA,GAAG,GAAG7J,QAAQ,CAACiK,WAAT,CAAqB,YAArB,CAAN;AACAJ,MAAAA,GAAG,CAACK,SAAJ,CAAcnC,SAAd,EAAyB2B,OAAzB,EAAkC,IAAlC;AACD,KAHD,MAGO;AACLG,MAAAA,GAAG,GAAG,IAAIM,WAAJ,CAAgB3D,KAAhB,EAAuB;AAC3BkD,QAAAA,OAAO,EAAPA,OAD2B;AAE3BU,QAAAA,UAAU,EAAE;AAFe,OAAvB,CAAN;AAID,KAjC2B;;;AAoC5B,QAAI,OAAOb,IAAP,KAAgB,WAApB,EAAiC;AAC/BhH,MAAAA,MAAM,CAACC,IAAP,CAAY+G,IAAZ,EAAkB9G,OAAlB,CAA0B,UAAAoC,GAAG,EAAI;AAC/BtC,QAAAA,MAAM,CAAC8H,cAAP,CAAsBR,GAAtB,EAA2BhF,GAA3B,EAAgC;AAC9BG,UAAAA,GAD8B,iBACxB;AACJ,mBAAOuE,IAAI,CAAC1E,GAAD,CAAX;AACD;AAH6B,SAAhC;AAKD,OAND;AAOD;;AAED,QAAI+E,gBAAJ,EAAsB;AACpBC,MAAAA,GAAG,CAACS,cAAJ;AACD;;AAED,QAAIX,cAAJ,EAAoB;AAClBxJ,MAAAA,OAAO,CAACmB,aAAR,CAAsBuI,GAAtB;AACD;;AAED,QAAIA,GAAG,CAACD,gBAAJ,IAAwB,OAAOH,WAAP,KAAuB,WAAnD,EAAgE;AAC9DA,MAAAA,WAAW,CAACa,cAAZ;AACD;;AAED,WAAOT,GAAP;AACD;AA1GkB,CAArB;;AC1MA;AACA;AACA;AACA;AACA;;AAEA,IAAMU,IAAI,GAAG,OAAb;AACA,IAAMC,OAAO,GAAG,cAAhB;AACA,IAAMC,QAAQ,GAAG,UAAjB;AACA,IAAMC,SAAS,SAAOD,QAAtB;AACA,IAAME,YAAY,GAAG,WAArB;AAEA,IAAMC,gBAAgB,GAAG,2BAAzB;AAEA,IAAMC,WAAW,aAAWH,SAA5B;AACA,IAAMI,YAAY,cAAYJ,SAA9B;AACA,IAAMK,oBAAoB,aAAWL,SAAX,GAAuBC,YAAjD;AAEA,IAAMK,eAAe,GAAG,OAAxB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,iBAAYhL,OAAZ,EAAqB;AACnB,SAAKiL,QAAL,GAAgBjL,OAAhB;;AAEA,QAAI,KAAKiL,QAAT,EAAmB;AACjBjG,MAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,QAAtB,EAAgC,IAAhC;AACD;AACF;;;;;AAQD;SAEAY,QAAA,eAAMlL,OAAN,EAAe;AACb,QAAMmL,WAAW,GAAGnL,OAAO,GAAG,KAAKoL,eAAL,CAAqBpL,OAArB,CAAH,GAAmC,KAAKiL,QAAnE;;AACA,QAAMI,WAAW,GAAG,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;AAEA,QAAIE,WAAW,KAAK,IAAhB,IAAwBA,WAAW,CAAC5B,gBAAxC,EAA0D;AACxD;AACD;;AAED,SAAK8B,cAAL,CAAoBJ,WAApB;AACD;;SAEDK,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,QAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAIDG,kBAAA,yBAAgBpL,OAAhB,EAAyB;AACvB,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACyL,OAAR,OAAoBZ,eAApB,CAA1C;AACD;;SAEDS,qBAAA,4BAAmBtL,OAAnB,EAA4B;AAC1B,WAAOwG,YAAY,CAAC2C,OAAb,CAAqBnJ,OAArB,EAA8B0K,WAA9B,CAAP;AACD;;SAEDa,iBAAA,wBAAevL,OAAf,EAAwB;AAAA;;AACtBA,IAAAA,OAAO,CAAC0L,SAAR,CAAkBC,MAAlB,CAAyBZ,cAAzB;;AAEA,QAAI,CAAC/K,OAAO,CAAC0L,SAAR,CAAkBE,QAAlB,CAA2Bd,cAA3B,CAAL,EAAiD;AAC/C,WAAKe,eAAL,CAAqB7L,OAArB;;AACA;AACD;;AAED,QAAMW,kBAAkB,GAAGH,gCAAgC,CAACR,OAAD,CAA3D;AAEAwG,IAAAA,YAAY,CAACoC,GAAb,CAAiB5I,OAAjB,EAA0BhB,cAA1B,EAA0C;AAAA,aAAM,KAAI,CAAC6M,eAAL,CAAqB7L,OAArB,CAAN;AAAA,KAA1C;AACAuB,IAAAA,oBAAoB,CAACvB,OAAD,EAAUW,kBAAV,CAApB;AACD;;SAEDkL,kBAAA,yBAAgB7L,OAAhB,EAAyB;AACvB,QAAIA,OAAO,CAACiD,UAAZ,EAAwB;AACtBjD,MAAAA,OAAO,CAACiD,UAAR,CAAmB6I,WAAnB,CAA+B9L,OAA/B;AACD;;AAEDwG,IAAAA,YAAY,CAAC2C,OAAb,CAAqBnJ,OAArB,EAA8B2K,YAA9B;AACD;;;QAIMoB,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,QAAnB,CAAX;;AAEA,UAAI,CAAC3F,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAIqG,KAAJ,CAAU,IAAV,CAAP;AACD;;AAED,UAAI9I,MAAM,KAAK,OAAf,EAAwB;AACtByC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAa,IAAb;AACD;AACF,KAVM,CAAP;AAWD;;QAEM+J,gBAAP,uBAAqBC,aAArB,EAAoC;AAClC,WAAO,UAAU7F,KAAV,EAAiB;AACtB,UAAIA,KAAJ,EAAW;AACTA,QAAAA,KAAK,CAAC8D,cAAN;AACD;;AAED+B,MAAAA,aAAa,CAAChB,KAAd,CAAoB,IAApB;AACD,KAND;AAOD;;QAEMiB,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,QAAtB,CAAP;AACD;;;;wBAlFoB;AACnB,aAAOD,OAAP;AACD;;;;;AAmFH;AACA;AACA;AACA;AACA;;;AACA7D,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,oBAA1B,EAAgDH,gBAAhD,EAAkEO,KAAK,CAACiB,aAAN,CAAoB,IAAIjB,KAAJ,EAApB,CAAlE;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA7G,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,IAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,IAAL,IAAaY,KAAK,CAACe,eAAnB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,IAAL,EAAWiC,WAAX,GAAyBrB,KAAzB;;AACA3B,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,IAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,IAAL,IAAagC,kBAAb;AACA,aAAOpB,KAAK,CAACe,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACjJA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,QAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,WAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAM+B,iBAAiB,GAAG,QAA1B;AAEA,IAAMC,oBAAoB,GAAG,2BAA7B;AAEA,IAAM5B,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA;AACA;AACA;AACA;AACA;;IAEMiC;AACJ,kBAAYzM,OAAZ,EAAqB;AACnB,SAAKiL,QAAL,GAAgBjL,OAAhB;AACAgF,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAQD;SAEAoC,SAAA,kBAAS;AACP;AACA,SAAKzB,QAAL,CAAc0B,YAAd,CAA2B,cAA3B,EAA2C,KAAK1B,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BH,iBAA/B,CAA3C;AACD;;SAEDf,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAIMc,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AAEA,UAAI,CAAC3F,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI8H,MAAJ,CAAW,IAAX,CAAP;AACD;;AAED,UAAIvK,MAAM,KAAK,QAAf,EAAyB;AACvByC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAVM,CAAP;AAWD;;SAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBAlCoB;AACnB,aAAOD,SAAP;AACD;;;;;AAmCH;AACA;AACA;AACA;AACA;;;AAEA7D,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4B,oBAAhD,EAAsE,UAAAnG,KAAK,EAAI;AAC7EA,EAAAA,KAAK,CAAC8D,cAAN;AAEA,MAAMyC,MAAM,GAAGvG,KAAK,CAACU,MAAN,CAAa0E,OAAb,CAAqBe,oBAArB,CAAf;AAEA,MAAI7H,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAayH,MAAb,EAAqBtC,UAArB,CAAX;;AACA,MAAI,CAAC3F,IAAL,EAAW;AACTA,IAAAA,IAAI,GAAG,IAAI8H,MAAJ,CAAWG,MAAX,CAAP;AACD;;AAEDjI,EAAAA,IAAI,CAAC+H,MAAL;AACD,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;;AAEAvI,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAaqC,MAAM,CAACV,eAApB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBI,MAAzB;;AAEApD,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOK,MAAM,CAACV,eAAd;AACD,KAHD;AAID;AACF,CAbiB,CAAlB;;AC1GA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASc,aAAT,CAAuBC,GAAvB,EAA4B;AAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;AAClB,WAAO,IAAP;AACD;;AAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;AACnB,WAAO,KAAP;AACD;;AAED,MAAIA,GAAG,KAAKhM,MAAM,CAACgM,GAAD,CAAN,CAAY1N,QAAZ,EAAZ,EAAoC;AAClC,WAAO0B,MAAM,CAACgM,GAAD,CAAb;AACD;;AAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;AAChC,WAAO,IAAP;AACD;;AAED,SAAOA,GAAP;AACD;;AAED,SAASC,gBAAT,CAA0BrI,GAA1B,EAA+B;AAC7B,SAAOA,GAAG,CAACmD,OAAJ,CAAY,QAAZ,EAAsB,UAAAmF,GAAG;AAAA,iBAAQA,GAAG,CAACzN,WAAJ,EAAR;AAAA,GAAzB,CAAP;AACD;;AAED,IAAM0N,WAAW,GAAG;AAClBC,EAAAA,gBADkB,4BACDlN,OADC,EACQ0E,GADR,EACajC,KADb,EACoB;AACpCzC,IAAAA,OAAO,CAAC2M,YAAR,cAAgCI,gBAAgB,CAACrI,GAAD,CAAhD,EAAyDjC,KAAzD;AACD,GAHiB;AAKlB0K,EAAAA,mBALkB,+BAKEnN,OALF,EAKW0E,GALX,EAKgB;AAChC1E,IAAAA,OAAO,CAACoN,eAAR,cAAmCL,gBAAgB,CAACrI,GAAD,CAAnD;AACD,GAPiB;AASlB2I,EAAAA,iBATkB,6BASArN,OATA,EASS;AACzB,QAAI,CAACA,OAAL,EAAc;AACZ,aAAO,EAAP;AACD;;AAED,QAAMsN,UAAU,GAAG,EAAnB;AAEAlL,IAAAA,MAAM,CAACC,IAAP,CAAYrC,OAAO,CAACuN,OAApB,EACGC,MADH,CACU,UAAA9I,GAAG;AAAA,aAAIA,GAAG,CAACqE,UAAJ,CAAe,IAAf,CAAJ;AAAA,KADb,EAEGzG,OAFH,CAEW,UAAAoC,GAAG,EAAI;AACd,UAAI+I,OAAO,GAAG/I,GAAG,CAACmD,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd;AACA4F,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBnO,WAAlB,KAAkCkO,OAAO,CAACxE,KAAR,CAAc,CAAd,EAAiBwE,OAAO,CAACxG,MAAzB,CAA5C;AACAqG,MAAAA,UAAU,CAACG,OAAD,CAAV,GAAsBZ,aAAa,CAAC7M,OAAO,CAACuN,OAAR,CAAgB7I,GAAhB,CAAD,CAAnC;AACD,KANH;AAQA,WAAO4I,UAAP;AACD,GAzBiB;AA2BlBK,EAAAA,gBA3BkB,4BA2BD3N,OA3BC,EA2BQ0E,GA3BR,EA2Ba;AAC7B,WAAOmI,aAAa,CAAC7M,OAAO,CAACE,YAAR,cAAgC6M,gBAAgB,CAACrI,GAAD,CAAhD,CAAD,CAApB;AACD,GA7BiB;AA+BlBkJ,EAAAA,MA/BkB,kBA+BX5N,OA/BW,EA+BF;AACd,QAAM6N,IAAI,GAAG7N,OAAO,CAAC8N,qBAAR,EAAb;AAEA,WAAO;AACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWlO,QAAQ,CAACoE,IAAT,CAAc+J,SADzB;AAELC,MAAAA,IAAI,EAAEJ,IAAI,CAACI,IAAL,GAAYpO,QAAQ,CAACoE,IAAT,CAAciK;AAF3B,KAAP;AAID,GAtCiB;AAwClBC,EAAAA,QAxCkB,oBAwCTnO,OAxCS,EAwCA;AAChB,WAAO;AACL+N,MAAAA,GAAG,EAAE/N,OAAO,CAACoO,SADR;AAELH,MAAAA,IAAI,EAAEjO,OAAO,CAACqO;AAFT,KAAP;AAID;AA7CiB,CAApB;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAMC,SAAS,GAAG,CAAlB;AAEA,IAAMC,cAAc,GAAG;AACrBC,EAAAA,OADqB,mBACbxO,OADa,EACJC,QADI,EACM;AACzB,WAAOD,OAAO,CAACwO,OAAR,CAAgBvO,QAAhB,CAAP;AACD,GAHoB;AAKrBwO,EAAAA,IALqB,gBAKhBxO,QALgB,EAKND,OALM,EAK8B;AAAA;;AAAA,QAApCA,OAAoC;AAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAAC0D,eAAiB;AAAA;;AACjD,WAAO,YAAGmL,MAAH,aAAaC,OAAO,CAACC,SAAR,CAAkB9H,gBAAlB,CAAmCzH,IAAnC,CAAwCW,OAAxC,EAAiDC,QAAjD,CAAb,CAAP;AACD,GAPoB;AASrB4O,EAAAA,OATqB,mBASb5O,QATa,EASHD,OATG,EASiC;AAAA,QAApCA,OAAoC;AAApCA,MAAAA,OAAoC,GAA1BH,QAAQ,CAAC0D,eAAiB;AAAA;;AACpD,WAAOoL,OAAO,CAACC,SAAR,CAAkBtO,aAAlB,CAAgCjB,IAAhC,CAAqCW,OAArC,EAA8CC,QAA9C,CAAP;AACD,GAXoB;AAarB6O,EAAAA,QAbqB,oBAaZ9O,OAbY,EAaHC,QAbG,EAaO;AAAA;;AAC1B,QAAM6O,QAAQ,GAAG,aAAGJ,MAAH,cAAa1O,OAAO,CAAC8O,QAArB,CAAjB;;AAEA,WAAOA,QAAQ,CAACtB,MAAT,CAAgB,UAAAuB,KAAK;AAAA,aAAIA,KAAK,CAACP,OAAN,CAAcvO,QAAd,CAAJ;AAAA,KAArB,CAAP;AACD,GAjBoB;AAmBrB+O,EAAAA,OAnBqB,mBAmBbhP,OAnBa,EAmBJC,QAnBI,EAmBM;AACzB,QAAM+O,OAAO,GAAG,EAAhB;AAEA,QAAIC,QAAQ,GAAGjP,OAAO,CAACiD,UAAvB;;AAEA,WAAOgM,QAAQ,IAAIA,QAAQ,CAAC3N,QAAT,KAAsB4N,IAAI,CAACC,YAAvC,IAAuDF,QAAQ,CAAC3N,QAAT,KAAsBgN,SAApF,EAA+F;AAC7F,UAAI,KAAKE,OAAL,CAAaS,QAAb,EAAuBhP,QAAvB,CAAJ,EAAsC;AACpC+O,QAAAA,OAAO,CAACI,IAAR,CAAaH,QAAb;AACD;;AAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAAChM,UAApB;AACD;;AAED,WAAO+L,OAAP;AACD,GAjCoB;AAmCrBK,EAAAA,IAnCqB,gBAmChBrP,OAnCgB,EAmCPC,QAnCO,EAmCG;AACtB,QAAIqP,QAAQ,GAAGtP,OAAO,CAACuP,sBAAvB;;AAEA,WAAOD,QAAP,EAAiB;AACf,UAAIA,QAAQ,CAACd,OAAT,CAAiBvO,QAAjB,CAAJ,EAAgC;AAC9B,eAAO,CAACqP,QAAD,CAAP;AACD;;AAEDA,MAAAA,QAAQ,GAAGA,QAAQ,CAACC,sBAApB;AACD;;AAED,WAAO,EAAP;AACD,GA/CoB;AAiDrBC,EAAAA,IAjDqB,gBAiDhBxP,OAjDgB,EAiDPC,QAjDO,EAiDG;AACtB,QAAIuP,IAAI,GAAGxP,OAAO,CAACyP,kBAAnB;;AAEA,WAAOD,IAAP,EAAa;AACX,UAAI,KAAKhB,OAAL,CAAagB,IAAb,EAAmBvP,QAAnB,CAAJ,EAAkC;AAChC,eAAO,CAACuP,IAAD,CAAP;AACD;;AAEDA,MAAAA,IAAI,GAAGA,IAAI,CAACC,kBAAZ;AACD;;AAED,WAAO,EAAP;AACD;AA7DoB,CAAvB;;ACSA;AACA;AACA;AACA;AACA;;AAEA,IAAMrF,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMkF,cAAc,GAAG,WAAvB;AACA,IAAMC,eAAe,GAAG,YAAxB;AACA,IAAMC,sBAAsB,GAAG,GAA/B;;AACA,IAAMC,eAAe,GAAG,EAAxB;AAEA,IAAMC,OAAO,GAAG;AACdC,EAAAA,QAAQ,EAAE,IADI;AAEdC,EAAAA,QAAQ,EAAE,IAFI;AAGdC,EAAAA,KAAK,EAAE,KAHO;AAIdC,EAAAA,KAAK,EAAE,OAJO;AAKdC,EAAAA,IAAI,EAAE,IALQ;AAMdC,EAAAA,KAAK,EAAE;AANO,CAAhB;AASA,IAAMC,WAAW,GAAG;AAClBN,EAAAA,QAAQ,EAAE,kBADQ;AAElBC,EAAAA,QAAQ,EAAE,SAFQ;AAGlBC,EAAAA,KAAK,EAAE,kBAHW;AAIlBC,EAAAA,KAAK,EAAE,kBAJW;AAKlBC,EAAAA,IAAI,EAAE,SALY;AAMlBC,EAAAA,KAAK,EAAE;AANW,CAApB;AASA,IAAME,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,eAAe,GAAG,OAAxB;AAEA,IAAMC,WAAW,aAAWnG,WAA5B;AACA,IAAMoG,UAAU,YAAUpG,WAA1B;AACA,IAAMqG,aAAa,eAAarG,WAAhC;AACA,IAAMsG,gBAAgB,kBAAgBtG,WAAtC;AACA,IAAMuG,gBAAgB,kBAAgBvG,WAAtC;AACA,IAAMwG,gBAAgB,kBAAgBxG,WAAtC;AACA,IAAMyG,eAAe,iBAAezG,WAApC;AACA,IAAM0G,cAAc,gBAAc1G,WAAlC;AACA,IAAM2G,iBAAiB,mBAAiB3G,WAAxC;AACA,IAAM4G,eAAe,iBAAe5G,WAApC;AACA,IAAM6G,gBAAgB,iBAAe7G,WAArC;AACA,IAAM8G,mBAAmB,YAAU9G,WAAV,GAAsBC,cAA/C;AACA,IAAMI,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAM8G,mBAAmB,GAAG,UAA5B;AACA,IAAM/E,mBAAiB,GAAG,QAA1B;AACA,IAAMgF,gBAAgB,GAAG,OAAzB;AACA,IAAMC,gBAAgB,GAAG,qBAAzB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,eAAe,GAAG,oBAAxB;AACA,IAAMC,wBAAwB,GAAG,eAAjC;AAEA,IAAMC,eAAe,GAAG,SAAxB;AACA,IAAMC,oBAAoB,GAAG,uBAA7B;AACA,IAAMC,aAAa,GAAG,gBAAtB;AACA,IAAMC,iBAAiB,GAAG,oBAA1B;AACA,IAAMC,kBAAkB,GAAG,0CAA3B;AACA,IAAMC,mBAAmB,GAAG,sBAA5B;AACA,IAAMC,mBAAmB,GAAG,qCAA5B;AACA,IAAMC,kBAAkB,GAAG,2BAA3B;AAEA,IAAMC,WAAW,GAAG;AAClBC,EAAAA,KAAK,EAAE,OADW;AAElBC,EAAAA,GAAG,EAAE;AAFa,CAApB;AAKA;AACA;AACA;AACA;AACA;;IACMC;AACJ,oBAAYxS,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,SAAKuQ,MAAL,GAAc,IAAd;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,WAAL,GAAmB,CAAnB;AACA,SAAKC,WAAL,GAAmB,CAAnB;AAEA,SAAKC,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAK+I,QAAL,GAAgBjL,OAAhB;AACA,SAAKmT,kBAAL,GAA0B5E,cAAc,CAACM,OAAf,CAAuBqD,mBAAvB,EAA4C,KAAKjH,QAAjD,CAA1B;AACA,SAAKmI,eAAL,GAAuB,kBAAkBvT,QAAQ,CAAC0D,eAA3B,IAA8C8P,SAAS,CAACC,cAAV,GAA2B,CAAhG;AACA,SAAKC,aAAL,GAAqBlL,OAAO,CAAC5H,MAAM,CAAC+S,YAAR,CAA5B;;AAEA,SAAKC,kBAAL;;AACAzO,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAkF,OAAA,gBAAO;AACL,QAAI,CAAC,KAAKqD,UAAV,EAAsB;AACpB,WAAKa,MAAL,CAAYpD,cAAZ;AACD;AACF;;SAEDqD,kBAAA,2BAAkB;AAChB;AACA;AACA,QAAI,CAAC9T,QAAQ,CAAC+T,MAAV,IAAoB7Q,SAAS,CAAC,KAAKkI,QAAN,CAAjC,EAAkD;AAChD,WAAKuE,IAAL;AACD;AACF;;SAEDH,OAAA,gBAAO;AACL,QAAI,CAAC,KAAKwD,UAAV,EAAsB;AACpB,WAAKa,MAAL,CAAYnD,cAAZ;AACD;AACF;;SAEDL,QAAA,eAAM7J,KAAN,EAAa;AACX,QAAI,CAACA,KAAL,EAAY;AACV,WAAKuM,SAAL,GAAiB,IAAjB;AACD;;AAED,QAAIrE,cAAc,CAACM,OAAf,CAAuBoD,kBAAvB,EAA2C,KAAKhH,QAAhD,CAAJ,EAA+D;AAC7D/J,MAAAA,oBAAoB,CAAC,KAAK+J,QAAN,CAApB;AACA,WAAK4I,KAAL,CAAW,IAAX;AACD;;AAEDC,IAAAA,aAAa,CAAC,KAAKpB,SAAN,CAAb;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACD;;SAEDmB,QAAA,eAAMxN,KAAN,EAAa;AACX,QAAI,CAACA,KAAL,EAAY;AACV,WAAKuM,SAAL,GAAiB,KAAjB;AACD;;AAED,QAAI,KAAKF,SAAT,EAAoB;AAClBoB,MAAAA,aAAa,CAAC,KAAKpB,SAAN,CAAb;AACA,WAAKA,SAAL,GAAiB,IAAjB;AACD;;AAED,QAAI,KAAKO,OAAL,IAAgB,KAAKA,OAAL,CAAalD,QAA7B,IAAyC,CAAC,KAAK6C,SAAnD,EAA8D;AAC5D,WAAKmB,eAAL;;AAEA,WAAKrB,SAAL,GAAiBsB,WAAW,CAC1B,CAACnU,QAAQ,CAACoU,eAAT,GAA2B,KAAKN,eAAhC,GAAkD,KAAKnE,IAAxD,EAA8D0E,IAA9D,CAAmE,IAAnE,CAD0B,EAE1B,KAAKjB,OAAL,CAAalD,QAFa,CAA5B;AAID;AACF;;SAEDoE,KAAA,YAAGC,KAAH,EAAU;AAAA;;AACR,SAAKzB,cAAL,GAAsBpE,cAAc,CAACM,OAAf,CAAuBiD,oBAAvB,EAA6C,KAAK7G,QAAlD,CAAtB;;AACA,QAAMoJ,WAAW,GAAG,KAAKC,aAAL,CAAmB,KAAK3B,cAAxB,CAApB;;AAEA,QAAIyB,KAAK,GAAG,KAAK3B,MAAL,CAAYxL,MAAZ,GAAqB,CAA7B,IAAkCmN,KAAK,GAAG,CAA9C,EAAiD;AAC/C;AACD;;AAED,QAAI,KAAKvB,UAAT,EAAqB;AACnBrM,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgC0F,UAAhC,EAA4C;AAAA,eAAM,KAAI,CAACwD,EAAL,CAAQC,KAAR,CAAN;AAAA,OAA5C;AACA;AACD;;AAED,QAAIC,WAAW,KAAKD,KAApB,EAA2B;AACzB,WAAKlE,KAAL;AACA,WAAK2D,KAAL;AACA;AACD;;AAED,QAAMU,SAAS,GAAGH,KAAK,GAAGC,WAAR,GAChB/D,cADgB,GAEhBC,cAFF;;AAIA,SAAKmD,MAAL,CAAYa,SAAZ,EAAuB,KAAK9B,MAAL,CAAY2B,KAAZ,CAAvB;AACD;;SAED5I,UAAA,mBAAU;AACRhF,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCV,WAAhC;AACAvF,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AAEA,SAAKmI,MAAL,GAAc,IAAd;AACA,SAAKQ,OAAL,GAAe,IAAf;AACA,SAAKhI,QAAL,GAAgB,IAAhB;AACA,SAAKyH,SAAL,GAAiB,IAAjB;AACA,SAAKE,SAAL,GAAiB,IAAjB;AACA,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKF,cAAL,GAAsB,IAAtB;AACA,SAAKQ,kBAAL,GAA0B,IAA1B;AACD;;;SAIDD,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD4N,OADC,EAED5N,MAFC,CAAN;AAIAF,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAemO,WAAf,CAAf;AACA,WAAOnO,MAAP;AACD;;SAEDsS,eAAA,wBAAe;AACb,QAAMC,SAAS,GAAG/U,IAAI,CAACgV,GAAL,CAAS,KAAK1B,WAAd,CAAlB;;AAEA,QAAIyB,SAAS,IAAI5E,eAAjB,EAAkC;AAChC;AACD;;AAED,QAAM0E,SAAS,GAAGE,SAAS,GAAG,KAAKzB,WAAnC;AAEA,SAAKA,WAAL,GAAmB,CAAnB,CATa;;AAYb,QAAIuB,SAAS,GAAG,CAAhB,EAAmB;AACjB,WAAKlF,IAAL;AACD,KAdY;;;AAiBb,QAAIkF,SAAS,GAAG,CAAhB,EAAmB;AACjB,WAAK/E,IAAL;AACD;AACF;;SAEDiE,qBAAA,8BAAqB;AAAA;;AACnB,QAAI,KAAKR,OAAL,CAAajD,QAAjB,EAA2B;AACzBxJ,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B2F,aAA/B,EAA8C,UAAAvK,KAAK;AAAA,eAAI,MAAI,CAACsO,QAAL,CAActO,KAAd,CAAJ;AAAA,OAAnD;AACD;;AAED,QAAI,KAAK4M,OAAL,CAAa/C,KAAb,KAAuB,OAA3B,EAAoC;AAClC1J,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B4F,gBAA/B,EAAiD,UAAAxK,KAAK;AAAA,eAAI,MAAI,CAAC6J,KAAL,CAAW7J,KAAX,CAAJ;AAAA,OAAtD;AACAG,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B6F,gBAA/B,EAAiD,UAAAzK,KAAK;AAAA,eAAI,MAAI,CAACwN,KAAL,CAAWxN,KAAX,CAAJ;AAAA,OAAtD;AACD;;AAED,QAAI,KAAK4M,OAAL,CAAa7C,KAAb,IAAsB,KAAKgD,eAA/B,EAAgD;AAC9C,WAAKwB,uBAAL;AACD;AACF;;SAEDA,0BAAA,mCAA0B;AAAA;;AACxB,QAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAxO,KAAK,EAAI;AACrB,UAAI,MAAI,CAACkN,aAAL,IAAsBlB,WAAW,CAAChM,KAAK,CAACyO,WAAN,CAAkBhS,WAAlB,EAAD,CAArC,EAAwE;AACtE,QAAA,MAAI,CAACiQ,WAAL,GAAmB1M,KAAK,CAAC0O,OAAzB;AACD,OAFD,MAEO,IAAI,CAAC,MAAI,CAACxB,aAAV,EAAyB;AAC9B,QAAA,MAAI,CAACR,WAAL,GAAmB1M,KAAK,CAAC2O,OAAN,CAAc,CAAd,EAAiBD,OAApC;AACD;AACF,KAND;;AAQA,QAAME,IAAI,GAAG,SAAPA,IAAO,CAAA5O,KAAK,EAAI;AACpB;AACA,UAAIA,KAAK,CAAC2O,OAAN,IAAiB3O,KAAK,CAAC2O,OAAN,CAAc/N,MAAd,GAAuB,CAA5C,EAA+C;AAC7C,QAAA,MAAI,CAAC+L,WAAL,GAAmB,CAAnB;AACD,OAFD,MAEO;AACL,QAAA,MAAI,CAACA,WAAL,GAAmB3M,KAAK,CAAC2O,OAAN,CAAc,CAAd,EAAiBD,OAAjB,GAA2B,MAAI,CAAChC,WAAnD;AACD;AACF,KAPD;;AASA,QAAMmC,GAAG,GAAG,SAANA,GAAM,CAAA7O,KAAK,EAAI;AACnB,UAAI,MAAI,CAACkN,aAAL,IAAsBlB,WAAW,CAAChM,KAAK,CAACyO,WAAN,CAAkBhS,WAAlB,EAAD,CAArC,EAAwE;AACtE,QAAA,MAAI,CAACkQ,WAAL,GAAmB3M,KAAK,CAAC0O,OAAN,GAAgB,MAAI,CAAChC,WAAxC;AACD;;AAED,MAAA,MAAI,CAACyB,YAAL;;AACA,UAAI,MAAI,CAACvB,OAAL,CAAa/C,KAAb,KAAuB,OAA3B,EAAoC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,QAAA,MAAI,CAACA,KAAL;;AACA,YAAI,MAAI,CAAC4C,YAAT,EAAuB;AACrBqC,UAAAA,YAAY,CAAC,MAAI,CAACrC,YAAN,CAAZ;AACD;;AAED,QAAA,MAAI,CAACA,YAAL,GAAoB/Q,UAAU,CAAC,UAAAsE,KAAK;AAAA,iBAAI,MAAI,CAACwN,KAAL,CAAWxN,KAAX,CAAJ;AAAA,SAAN,EAA6BuJ,sBAAsB,GAAG,MAAI,CAACqD,OAAL,CAAalD,QAAnE,CAA9B;AACD;AACF,KAtBD;;AAwBAxB,IAAAA,cAAc,CAACE,IAAf,CAAoBuD,iBAApB,EAAuC,KAAK/G,QAA5C,EAAsD3I,OAAtD,CAA8D,UAAA8S,OAAO,EAAI;AACvE5O,MAAAA,YAAY,CAACmC,EAAb,CAAgByM,OAAhB,EAAyBhE,gBAAzB,EAA2C,UAAAiE,CAAC;AAAA,eAAIA,CAAC,CAAClL,cAAF,EAAJ;AAAA,OAA5C;AACD,KAFD;;AAIA,QAAI,KAAKoJ,aAAT,EAAwB;AACtB/M,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BiG,iBAA/B,EAAkD,UAAA7K,KAAK;AAAA,eAAIwO,KAAK,CAACxO,KAAD,CAAT;AAAA,OAAvD;AACAG,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BkG,eAA/B,EAAgD,UAAA9K,KAAK;AAAA,eAAI6O,GAAG,CAAC7O,KAAD,CAAP;AAAA,OAArD;;AAEA,WAAK4E,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B1D,wBAA5B;AACD,KALD,MAKO;AACLpL,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B8F,gBAA/B,EAAiD,UAAA1K,KAAK;AAAA,eAAIwO,KAAK,CAACxO,KAAD,CAAT;AAAA,OAAtD;AACAG,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B+F,eAA/B,EAAgD,UAAA3K,KAAK;AAAA,eAAI4O,IAAI,CAAC5O,KAAD,CAAR;AAAA,OAArD;AACAG,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BgG,cAA/B,EAA+C,UAAA5K,KAAK;AAAA,eAAI6O,GAAG,CAAC7O,KAAD,CAAP;AAAA,OAApD;AACD;AACF;;SAEDsO,WAAA,kBAAStO,KAAT,EAAgB;AACd,QAAI,kBAAkBzD,IAAlB,CAAuByD,KAAK,CAACU,MAAN,CAAawO,OAApC,CAAJ,EAAkD;AAChD;AACD;;AAED,YAAQlP,KAAK,CAAC3B,GAAd;AACE,WAAKgL,cAAL;AACErJ,QAAAA,KAAK,CAAC8D,cAAN;AACA,aAAKkF,IAAL;AACA;;AACF,WAAKM,eAAL;AACEtJ,QAAAA,KAAK,CAAC8D,cAAN;AACA,aAAKqF,IAAL;AACA;AARJ;AAWD;;SAED8E,gBAAA,uBAActU,OAAd,EAAuB;AACrB,SAAKyS,MAAL,GAAczS,OAAO,IAAIA,OAAO,CAACiD,UAAnB,GACZsL,cAAc,CAACE,IAAf,CAAoBsD,aAApB,EAAmC/R,OAAO,CAACiD,UAA3C,CADY,GAEZ,EAFF;AAIA,WAAO,KAAKwP,MAAL,CAAY+C,OAAZ,CAAoBxV,OAApB,CAAP;AACD;;SAEDyV,sBAAA,6BAAoBlB,SAApB,EAA+BmB,aAA/B,EAA8C;AAC5C,QAAMC,eAAe,GAAGpB,SAAS,KAAKjE,cAAtC;AACA,QAAMsF,eAAe,GAAGrB,SAAS,KAAKhE,cAAtC;;AACA,QAAM8D,WAAW,GAAG,KAAKC,aAAL,CAAmBoB,aAAnB,CAApB;;AACA,QAAMG,aAAa,GAAG,KAAKpD,MAAL,CAAYxL,MAAZ,GAAqB,CAA3C;AACA,QAAM6O,aAAa,GAAIF,eAAe,IAAIvB,WAAW,KAAK,CAApC,IACGsB,eAAe,IAAItB,WAAW,KAAKwB,aAD5D;;AAGA,QAAIC,aAAa,IAAI,CAAC,KAAK7C,OAAL,CAAa9C,IAAnC,EAAyC;AACvC,aAAOuF,aAAP;AACD;;AAED,QAAMK,KAAK,GAAGxB,SAAS,KAAKhE,cAAd,GAA+B,CAAC,CAAhC,GAAoC,CAAlD;AACA,QAAMyF,SAAS,GAAG,CAAC3B,WAAW,GAAG0B,KAAf,IAAwB,KAAKtD,MAAL,CAAYxL,MAAtD;AAEA,WAAO+O,SAAS,KAAK,CAAC,CAAf,GACL,KAAKvD,MAAL,CAAY,KAAKA,MAAL,CAAYxL,MAAZ,GAAqB,CAAjC,CADK,GAEL,KAAKwL,MAAL,CAAYuD,SAAZ,CAFF;AAGD;;SAEDC,qBAAA,4BAAmBC,aAAnB,EAAkCC,kBAAlC,EAAsD;AACpD,QAAMC,WAAW,GAAG,KAAK9B,aAAL,CAAmB4B,aAAnB,CAApB;;AACA,QAAMG,SAAS,GAAG,KAAK/B,aAAL,CAAmB/F,cAAc,CAACM,OAAf,CAAuBiD,oBAAvB,EAA6C,KAAK7G,QAAlD,CAAnB,CAAlB;;AAEA,WAAOzE,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoCyF,WAApC,EAAiD;AACtDwF,MAAAA,aAAa,EAAbA,aADsD;AAEtD3B,MAAAA,SAAS,EAAE4B,kBAF2C;AAGtDG,MAAAA,IAAI,EAAED,SAHgD;AAItDlC,MAAAA,EAAE,EAAEiC;AAJkD,KAAjD,CAAP;AAMD;;SAEDG,6BAAA,oCAA2BvW,OAA3B,EAAoC;AAClC,QAAI,KAAKmT,kBAAT,EAA6B;AAC3B,UAAMqD,UAAU,GAAGjI,cAAc,CAACE,IAAf,CAAoBoD,eAApB,EAAqC,KAAKsB,kBAA1C,CAAnB;;AACA,WAAK,IAAInM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwP,UAAU,CAACvP,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AAC1CwP,QAAAA,UAAU,CAACxP,CAAD,CAAV,CAAc0E,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACD;;AAED,UAAMkK,aAAa,GAAG,KAAKtD,kBAAL,CAAwBrE,QAAxB,CACpB,KAAKwF,aAAL,CAAmBtU,OAAnB,CADoB,CAAtB;;AAIA,UAAIyW,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAAC/K,SAAd,CAAwB4J,GAAxB,CAA4B/I,mBAA5B;AACD;AACF;AACF;;SAEDwH,kBAAA,2BAAkB;AAChB,QAAM/T,OAAO,GAAG,KAAK2S,cAAL,IAAuBpE,cAAc,CAACM,OAAf,CAAuBiD,oBAAvB,EAA6C,KAAK7G,QAAlD,CAAvC;;AAEA,QAAI,CAACjL,OAAL,EAAc;AACZ;AACD;;AAED,QAAM0W,eAAe,GAAG5V,MAAM,CAAC6V,QAAP,CAAgB3W,OAAO,CAACE,YAAR,CAAqB,kBAArB,CAAhB,EAA0D,EAA1D,CAAxB;;AAEA,QAAIwW,eAAJ,EAAqB;AACnB,WAAKzD,OAAL,CAAa2D,eAAb,GAA+B,KAAK3D,OAAL,CAAa2D,eAAb,IAAgC,KAAK3D,OAAL,CAAalD,QAA5E;AACA,WAAKkD,OAAL,CAAalD,QAAb,GAAwB2G,eAAxB;AACD,KAHD,MAGO;AACL,WAAKzD,OAAL,CAAalD,QAAb,GAAwB,KAAKkD,OAAL,CAAa2D,eAAb,IAAgC,KAAK3D,OAAL,CAAalD,QAArE;AACD;AACF;;SAED2D,SAAA,gBAAOa,SAAP,EAAkBvU,OAAlB,EAA2B;AAAA;;AACzB,QAAM0V,aAAa,GAAGnH,cAAc,CAACM,OAAf,CAAuBiD,oBAAvB,EAA6C,KAAK7G,QAAlD,CAAtB;;AACA,QAAM4L,kBAAkB,GAAG,KAAKvC,aAAL,CAAmBoB,aAAnB,CAA3B;;AACA,QAAMoB,WAAW,GAAG9W,OAAO,IAAK0V,aAAa,IAC3C,KAAKD,mBAAL,CAAyBlB,SAAzB,EAAoCmB,aAApC,CADF;;AAGA,QAAMqB,gBAAgB,GAAG,KAAKzC,aAAL,CAAmBwC,WAAnB,CAAzB;;AACA,QAAME,SAAS,GAAG3O,OAAO,CAAC,KAAKqK,SAAN,CAAzB;AAEA,QAAIuE,oBAAJ;AACA,QAAIC,cAAJ;AACA,QAAIf,kBAAJ;;AAEA,QAAI5B,SAAS,KAAKjE,cAAlB,EAAkC;AAChC2G,MAAAA,oBAAoB,GAAGxF,eAAvB;AACAyF,MAAAA,cAAc,GAAGxF,eAAjB;AACAyE,MAAAA,kBAAkB,GAAG3F,cAArB;AACD,KAJD,MAIO;AACLyG,MAAAA,oBAAoB,GAAGzF,gBAAvB;AACA0F,MAAAA,cAAc,GAAGvF,eAAjB;AACAwE,MAAAA,kBAAkB,GAAG1F,eAArB;AACD;;AAED,QAAIqG,WAAW,IAAIA,WAAW,CAACpL,SAAZ,CAAsBE,QAAtB,CAA+BW,mBAA/B,CAAnB,EAAsE;AACpE,WAAKsG,UAAL,GAAkB,KAAlB;AACA;AACD;;AAED,QAAMsE,UAAU,GAAG,KAAKlB,kBAAL,CAAwBa,WAAxB,EAAqCX,kBAArC,CAAnB;;AACA,QAAIgB,UAAU,CAAC1N,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAI,CAACiM,aAAD,IAAkB,CAACoB,WAAvB,EAAoC;AAClC;AACA;AACD;;AAED,SAAKjE,UAAL,GAAkB,IAAlB;;AAEA,QAAImE,SAAJ,EAAe;AACb,WAAK9G,KAAL;AACD;;AAED,SAAKqG,0BAAL,CAAgCO,WAAhC;;AACA,SAAKnE,cAAL,GAAsBmE,WAAtB;;AAEA,QAAI,KAAK7L,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC2F,gBAAjC,CAAJ,EAAwD;AACtDuF,MAAAA,WAAW,CAACpL,SAAZ,CAAsB4J,GAAtB,CAA0B4B,cAA1B;AAEArT,MAAAA,MAAM,CAACiT,WAAD,CAAN;AAEApB,MAAAA,aAAa,CAAChK,SAAd,CAAwB4J,GAAxB,CAA4B2B,oBAA5B;AACAH,MAAAA,WAAW,CAACpL,SAAZ,CAAsB4J,GAAtB,CAA0B2B,oBAA1B;AAEA,UAAMtW,kBAAkB,GAAGH,gCAAgC,CAACkV,aAAD,CAA3D;AAEAlP,MAAAA,YAAY,CAACoC,GAAb,CAAiB8M,aAAjB,EAAgC1W,cAAhC,EAAgD,YAAM;AACpD8X,QAAAA,WAAW,CAACpL,SAAZ,CAAsBC,MAAtB,CAA6BsL,oBAA7B,EAAmDC,cAAnD;AACAJ,QAAAA,WAAW,CAACpL,SAAZ,CAAsB4J,GAAtB,CAA0B/I,mBAA1B;AAEAmJ,QAAAA,aAAa,CAAChK,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B,EAAkD2K,cAAlD,EAAkED,oBAAlE;AAEA,QAAA,MAAI,CAACpE,UAAL,GAAkB,KAAlB;AAEA9Q,QAAAA,UAAU,CAAC,YAAM;AACfyE,UAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC0F,UAApC,EAAgD;AAC9CuF,YAAAA,aAAa,EAAEY,WAD+B;AAE9CvC,YAAAA,SAAS,EAAE4B,kBAFmC;AAG9CG,YAAAA,IAAI,EAAEO,kBAHwC;AAI9C1C,YAAAA,EAAE,EAAE4C;AAJ0C,WAAhD;AAMD,SAPS,EAOP,CAPO,CAAV;AAQD,OAhBD;AAkBAxV,MAAAA,oBAAoB,CAACmU,aAAD,EAAgB/U,kBAAhB,CAApB;AACD,KA7BD,MA6BO;AACL+U,MAAAA,aAAa,CAAChK,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACAuK,MAAAA,WAAW,CAACpL,SAAZ,CAAsB4J,GAAtB,CAA0B/I,mBAA1B;AAEA,WAAKsG,UAAL,GAAkB,KAAlB;AACArM,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC0F,UAApC,EAAgD;AAC9CuF,QAAAA,aAAa,EAAEY,WAD+B;AAE9CvC,QAAAA,SAAS,EAAE4B,kBAFmC;AAG9CG,QAAAA,IAAI,EAAEO,kBAHwC;AAI9C1C,QAAAA,EAAE,EAAE4C;AAJ0C,OAAhD;AAMD;;AAED,QAAIC,SAAJ,EAAe;AACb,WAAKnD,KAAL;AACD;AACF;;;WAIMuD,oBAAP,2BAAyBpX,OAAzB,EAAkCkC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAX;;AACA,QAAI2I,OAAO,gBACNnD,OADM,EAEN7C,WAAW,CAACI,iBAAZ,CAA8BrN,OAA9B,CAFM,CAAX;;AAKA,QAAI,OAAOkC,MAAP,KAAkB,QAAtB,EAAgC;AAC9B+Q,MAAAA,OAAO,gBACFA,OADE,EAEF/Q,MAFE,CAAP;AAID;;AAED,QAAMmV,MAAM,GAAG,OAAOnV,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC+Q,OAAO,CAAChD,KAA7D;;AAEA,QAAI,CAACtL,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAI6N,QAAJ,CAAaxS,OAAb,EAAsBiT,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9ByC,MAAAA,IAAI,CAACwP,EAAL,CAAQjS,MAAR;AACD,KAFD,MAEO,IAAI,OAAOmV,MAAP,KAAkB,QAAtB,EAAgC;AACrC,UAAI,OAAO1S,IAAI,CAAC0S,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIC,SAAJ,wBAAkCD,MAAlC,QAAN;AACD;;AAED1S,MAAAA,IAAI,CAAC0S,MAAD,CAAJ;AACD,KANM,MAMA,IAAIpE,OAAO,CAAClD,QAAR,IAAoBkD,OAAO,CAACsE,IAAhC,EAAsC;AAC3C5S,MAAAA,IAAI,CAACuL,KAAL;AACAvL,MAAAA,IAAI,CAACkP,KAAL;AACD;AACF;;WAEM9H,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3BwG,MAAAA,QAAQ,CAAC4E,iBAAT,CAA2B,IAA3B,EAAiClV,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEMsV,sBAAP,6BAA2BnR,KAA3B,EAAkC;AAChC,QAAMU,MAAM,GAAGxG,sBAAsB,CAAC,IAAD,CAArC;;AAEA,QAAI,CAACwG,MAAD,IAAW,CAACA,MAAM,CAAC2E,SAAP,CAAiBE,QAAjB,CAA0B0F,mBAA1B,CAAhB,EAAgE;AAC9D;AACD;;AAED,QAAMpP,MAAM,gBACP+K,WAAW,CAACI,iBAAZ,CAA8BtG,MAA9B,CADO,EAEPkG,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;AAIA,QAAMoK,UAAU,GAAG,KAAKvX,YAAL,CAAkB,kBAAlB,CAAnB;;AAEA,QAAIuX,UAAJ,EAAgB;AACdvV,MAAAA,MAAM,CAAC6N,QAAP,GAAkB,KAAlB;AACD;;AAEDyC,IAAAA,QAAQ,CAAC4E,iBAAT,CAA2BrQ,MAA3B,EAAmC7E,MAAnC;;AAEA,QAAIuV,UAAJ,EAAgB;AACdzS,MAAAA,IAAI,CAACG,OAAL,CAAa4B,MAAb,EAAqBuD,UAArB,EAA+B6J,EAA/B,CAAkCsD,UAAlC;AACD;;AAEDpR,IAAAA,KAAK,CAAC8D,cAAN;AACD;;WAEMgC,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBAldoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,OAAP;AACD;;;;;AA+cH;AACA;AACA;AACA;AACA;;;AAEAtJ,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgDuH,mBAAhD,EAAqEK,QAAQ,CAACgF,mBAA9E;AAEAhR,YAAY,CAACmC,EAAb,CAAgBlI,MAAhB,EAAwB4Q,mBAAxB,EAA6C,YAAM;AACjD,MAAMqG,SAAS,GAAGnJ,cAAc,CAACE,IAAf,CAAoB2D,kBAApB,CAAlB;;AAEA,OAAK,IAAIpL,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGoQ,SAAS,CAACzQ,MAAhC,EAAwCD,CAAC,GAAGM,GAA5C,EAAiDN,CAAC,EAAlD,EAAsD;AACpDwL,IAAAA,QAAQ,CAAC4E,iBAAT,CAA2BM,SAAS,CAAC1Q,CAAD,CAApC,EAAyChC,IAAI,CAACG,OAAL,CAAauS,SAAS,CAAC1Q,CAAD,CAAtB,EAA2BsD,UAA3B,CAAzC;AACD;AACF,CAND;AAQA;AACA;AACA;AACA;AACA;AACA;;AAEAnG,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAaoI,QAAQ,CAACzG,eAAtB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBmG,QAAzB;;AACAnJ,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOoG,QAAQ,CAACzG,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACrlBA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMsF,SAAO,GAAG;AACdpD,EAAAA,MAAM,EAAE,IADM;AAEdiL,EAAAA,MAAM,EAAE;AAFM,CAAhB;AAKA,IAAMtH,aAAW,GAAG;AAClB3D,EAAAA,MAAM,EAAE,SADU;AAElBiL,EAAAA,MAAM,EAAE;AAFU,CAApB;AAKA,IAAMC,UAAU,YAAUrN,WAA1B;AACA,IAAMsN,WAAW,aAAWtN,WAA5B;AACA,IAAMuN,UAAU,YAAUvN,WAA1B;AACA,IAAMwN,YAAY,cAAYxN,WAA9B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAMwN,eAAe,GAAG,MAAxB;AACA,IAAMC,mBAAmB,GAAG,UAA5B;AACA,IAAMC,qBAAqB,GAAG,YAA9B;AACA,IAAMC,oBAAoB,GAAG,WAA7B;AAEA,IAAMC,KAAK,GAAG,OAAd;AACA,IAAMC,MAAM,GAAG,QAAf;AAEA,IAAMC,gBAAgB,GAAG,oBAAzB;AACA,IAAM9L,sBAAoB,GAAG,6BAA7B;AAEA;AACA;AACA;AACA;AACA;;IAEM+L;AACJ,oBAAYvY,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,SAAKsW,gBAAL,GAAwB,KAAxB;AACA,SAAKvN,QAAL,GAAgBjL,OAAhB;AACA,SAAKiT,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAKuW,aAAL,GAAqBlK,cAAc,CAACE,IAAf,CAChBjC,sBAAH,iBAAkCxM,OAAO,CAACwE,EAA1C,aACGgI,sBADH,2BAC4CxM,OAAO,CAACwE,EADpD,SADmB,CAArB;AAKA,QAAMkU,UAAU,GAAGnK,cAAc,CAACE,IAAf,CAAoBjC,sBAApB,CAAnB;;AAEA,SAAK,IAAIxF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGoR,UAAU,CAACzR,MAAjC,EAAyCD,CAAC,GAAGM,GAA7C,EAAkDN,CAAC,EAAnD,EAAuD;AACrD,UAAM2R,IAAI,GAAGD,UAAU,CAAC1R,CAAD,CAAvB;AACA,UAAM/G,QAAQ,GAAGI,sBAAsB,CAACsY,IAAD,CAAvC;AACA,UAAMC,aAAa,GAAGrK,cAAc,CAACE,IAAf,CAAoBxO,QAApB,EACnBuN,MADmB,CACZ,UAAAqL,SAAS;AAAA,eAAIA,SAAS,KAAK7Y,OAAlB;AAAA,OADG,CAAtB;;AAGA,UAAIC,QAAQ,KAAK,IAAb,IAAqB2Y,aAAa,CAAC3R,MAAvC,EAA+C;AAC7C,aAAK6R,SAAL,GAAiB7Y,QAAjB;;AACA,aAAKwY,aAAL,CAAmBrJ,IAAnB,CAAwBuJ,IAAxB;AACD;AACF;;AAED,SAAKI,OAAL,GAAe,KAAK9F,OAAL,CAAa0E,MAAb,GAAsB,KAAKqB,UAAL,EAAtB,GAA0C,IAAzD;;AAEA,QAAI,CAAC,KAAK/F,OAAL,CAAa0E,MAAlB,EAA0B;AACxB,WAAKsB,yBAAL,CAA+B,KAAKhO,QAApC,EAA8C,KAAKwN,aAAnD;AACD;;AAED,QAAI,KAAKxF,OAAL,CAAavG,MAAjB,EAAyB;AACvB,WAAKA,MAAL;AACD;;AAED1H,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAoC,SAAA,kBAAS;AACP,QAAI,KAAKzB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,eAAjC,CAAJ,EAAuD;AACrD,WAAKkB,IAAL;AACD,KAFD,MAEO;AACL,WAAKC,IAAL;AACD;AACF;;SAEDA,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAKX,gBAAL,IACF,KAAKvN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,eAAjC,CADF,EACqD;AACnD;AACD;;AAED,QAAIoB,OAAJ;AACA,QAAIC,WAAJ;;AAEA,QAAI,KAAKN,OAAT,EAAkB;AAChBK,MAAAA,OAAO,GAAG7K,cAAc,CAACE,IAAf,CAAoB6J,gBAApB,EAAsC,KAAKS,OAA3C,EACPvL,MADO,CACA,UAAAmL,IAAI,EAAI;AACd,YAAI,OAAO,KAAI,CAAC1F,OAAL,CAAa0E,MAApB,KAA+B,QAAnC,EAA6C;AAC3C,iBAAOgB,IAAI,CAACzY,YAAL,CAAkB,gBAAlB,MAAwC,KAAI,CAAC+S,OAAL,CAAa0E,MAA5D;AACD;;AAED,eAAOgB,IAAI,CAACjN,SAAL,CAAeE,QAAf,CAAwBqM,mBAAxB,CAAP;AACD,OAPO,CAAV;;AASA,UAAImB,OAAO,CAACnS,MAAR,KAAmB,CAAvB,EAA0B;AACxBmS,QAAAA,OAAO,GAAG,IAAV;AACD;AACF;;AAED,QAAME,SAAS,GAAG/K,cAAc,CAACM,OAAf,CAAuB,KAAKiK,SAA5B,CAAlB;;AACA,QAAIM,OAAJ,EAAa;AACX,UAAMG,cAAc,GAAGH,OAAO,CAAC3K,IAAR,CAAa,UAAAkK,IAAI;AAAA,eAAIW,SAAS,KAAKX,IAAlB;AAAA,OAAjB,CAAvB;AACAU,MAAAA,WAAW,GAAGE,cAAc,GAAGvU,IAAI,CAACG,OAAL,CAAaoU,cAAb,EAA6BjP,UAA7B,CAAH,GAA4C,IAAxE;;AAEA,UAAI+O,WAAW,IAAIA,WAAW,CAACb,gBAA/B,EAAiD;AAC/C;AACD;AACF;;AAED,QAAMgB,UAAU,GAAGhT,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,UAApC,CAAnB;;AACA,QAAI4B,UAAU,CAAC/P,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAI2P,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC9W,OAAR,CAAgB,UAAAmX,UAAU,EAAI;AAC5B,YAAIH,SAAS,KAAKG,UAAlB,EAA8B;AAC5BlB,UAAAA,QAAQ,CAACmB,iBAAT,CAA2BD,UAA3B,EAAuC,MAAvC;AACD;;AAED,YAAI,CAACJ,WAAL,EAAkB;AAChBrU,UAAAA,IAAI,CAACC,OAAL,CAAawU,UAAb,EAAyBnP,UAAzB,EAAmC,IAAnC;AACD;AACF,OARD;AASD;;AAED,QAAMqP,SAAS,GAAG,KAAKC,aAAL,EAAlB;;AAEA,SAAK3O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BsM,mBAA/B;;AACA,SAAKhN,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B4C,qBAA5B;;AAEA,SAAKjN,QAAL,CAAcjI,KAAd,CAAoB2W,SAApB,IAAiC,CAAjC;;AAEA,QAAI,KAAKlB,aAAL,CAAmBxR,MAAvB,EAA+B;AAC7B,WAAKwR,aAAL,CAAmBnW,OAAnB,CAA2B,UAAAtC,OAAO,EAAI;AACpCA,QAAAA,OAAO,CAAC0L,SAAR,CAAkBC,MAAlB,CAAyBwM,oBAAzB;AACAnY,QAAAA,OAAO,CAAC2M,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD,OAHD;AAID;;AAED,SAAKkN,gBAAL,CAAsB,IAAtB;;AAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,KAAI,CAAC7O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BuM,qBAA/B;;AACA,MAAA,KAAI,CAACjN,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B2C,mBAA5B,EAAiDD,eAAjD;;AAEA,MAAA,KAAI,CAAC/M,QAAL,CAAcjI,KAAd,CAAoB2W,SAApB,IAAiC,EAAjC;;AAEA,MAAA,KAAI,CAACE,gBAAL,CAAsB,KAAtB;;AAEArT,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC4M,WAApC;AACD,KATD;;AAWA,QAAMkC,oBAAoB,GAAGJ,SAAS,CAAC,CAAD,CAAT,CAAa7W,WAAb,KAA6B6W,SAAS,CAAC1Q,KAAV,CAAgB,CAAhB,CAA1D;AACA,QAAM+Q,UAAU,cAAYD,oBAA5B;AACA,QAAMpZ,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyK,QAAN,CAA3D;AAEAzE,IAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD8a,QAAhD;AAEAvY,IAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBtK,kBAAhB,CAApB;AACA,SAAKsK,QAAL,CAAcjI,KAAd,CAAoB2W,SAApB,IAAoC,KAAK1O,QAAL,CAAc+O,UAAd,CAApC;AACD;;SAEDd,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAKV,gBAAL,IACF,CAAC,KAAKvN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,eAAjC,CADH,EACsD;AACpD;AACD;;AAED,QAAMwB,UAAU,GAAGhT,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC6M,UAApC,CAAnB;;AACA,QAAI0B,UAAU,CAAC/P,gBAAf,EAAiC;AAC/B;AACD;;AAED,QAAMkQ,SAAS,GAAG,KAAKC,aAAL,EAAlB;;AAEA,SAAK3O,QAAL,CAAcjI,KAAd,CAAoB2W,SAApB,IAAoC,KAAK1O,QAAL,CAAc6C,qBAAd,GAAsC6L,SAAtC,CAApC;AAEA9V,IAAAA,MAAM,CAAC,KAAKoH,QAAN,CAAN;;AAEA,SAAKA,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B4C,qBAA5B;;AACA,SAAKjN,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BsM,mBAA/B,EAAoDD,eAApD;;AAEA,QAAMiC,kBAAkB,GAAG,KAAKxB,aAAL,CAAmBxR,MAA9C;;AACA,QAAIgT,kBAAkB,GAAG,CAAzB,EAA4B;AAC1B,WAAK,IAAIjT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiT,kBAApB,EAAwCjT,CAAC,EAAzC,EAA6C;AAC3C,YAAMmC,OAAO,GAAG,KAAKsP,aAAL,CAAmBzR,CAAnB,CAAhB;AACA,YAAM2R,IAAI,GAAGpY,sBAAsB,CAAC4I,OAAD,CAAnC;;AAEA,YAAIwP,IAAI,IAAI,CAACA,IAAI,CAACjN,SAAL,CAAeE,QAAf,CAAwBoM,eAAxB,CAAb,EAAuD;AACrD7O,UAAAA,OAAO,CAACuC,SAAR,CAAkB4J,GAAlB,CAAsB6C,oBAAtB;AACAhP,UAAAA,OAAO,CAACwD,YAAR,CAAqB,eAArB,EAAsC,KAAtC;AACD;AACF;AACF;;AAED,SAAKkN,gBAAL,CAAsB,IAAtB;;AAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,MAAI,CAACD,gBAAL,CAAsB,KAAtB;;AACA,MAAA,MAAI,CAAC5O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BuM,qBAA/B;;AACA,MAAA,MAAI,CAACjN,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B2C,mBAA5B;;AACAzR,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC8M,YAApC;AACD,KALD;;AAOA,SAAK9M,QAAL,CAAcjI,KAAd,CAAoB2W,SAApB,IAAiC,EAAjC;AACA,QAAMhZ,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyK,QAAN,CAA3D;AAEAzE,IAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD8a,QAAhD;AACAvY,IAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBtK,kBAAhB,CAApB;AACD;;SAEDkZ,mBAAA,0BAAiBK,eAAjB,EAAkC;AAChC,SAAK1B,gBAAL,GAAwB0B,eAAxB;AACD;;SAED1O,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AAEA,SAAK2I,OAAL,GAAe,IAAf;AACA,SAAK8F,OAAL,GAAe,IAAf;AACA,SAAK9N,QAAL,GAAgB,IAAhB;AACA,SAAKwN,aAAL,GAAqB,IAArB;AACA,SAAKD,gBAAL,GAAwB,IAAxB;AACD;;;SAIDtF,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD4N,SADC,EAED5N,MAFC,CAAN;AAIAA,IAAAA,MAAM,CAACwK,MAAP,GAAgBrE,OAAO,CAACnG,MAAM,CAACwK,MAAR,CAAvB,CALiB;;AAMjB1K,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAemO,aAAf,CAAf;AACA,WAAOnO,MAAP;AACD;;SAED0X,gBAAA,yBAAgB;AACd,WAAO,KAAK3O,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCwM,KAAjC,IAA0CA,KAA1C,GAAkDC,MAAzD;AACD;;SAEDW,aAAA,sBAAa;AAAA;;AAAA,QACLrB,MADK,GACM,KAAK1E,OADX,CACL0E,MADK;;AAGX,QAAItW,SAAS,CAACsW,MAAD,CAAb,EAAuB;AACrB;AACA,UAAI,OAAOA,MAAM,CAACwC,MAAd,KAAyB,WAAzB,IAAwC,OAAOxC,MAAM,CAAC,CAAD,CAAb,KAAqB,WAAjE,EAA8E;AAC5EA,QAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;AACD;AACF,KALD,MAKO;AACLA,MAAAA,MAAM,GAAGpJ,cAAc,CAACM,OAAf,CAAuB8I,MAAvB,CAAT;AACD;;AAED,QAAM1X,QAAQ,GAAMuM,sBAAN,0BAA8CmL,MAA9C,QAAd;AAEApJ,IAAAA,cAAc,CAACE,IAAf,CAAoBxO,QAApB,EAA8B0X,MAA9B,EACGrV,OADH,CACW,UAAAtC,OAAO,EAAI;AAClB,UAAMoa,QAAQ,GAAG7Z,sBAAsB,CAACP,OAAD,CAAvC;;AAEA,MAAA,MAAI,CAACiZ,yBAAL,CACEmB,QADF,EAEE,CAACpa,OAAD,CAFF;AAID,KARH;AAUA,WAAO2X,MAAP;AACD;;SAEDsB,4BAAA,mCAA0BjZ,OAA1B,EAAmCqa,YAAnC,EAAiD;AAC/C,QAAI,CAACra,OAAD,IAAY,CAACqa,YAAY,CAACpT,MAA9B,EAAsC;AACpC;AACD;;AAED,QAAMqT,MAAM,GAAGta,OAAO,CAAC0L,SAAR,CAAkBE,QAAlB,CAA2BoM,eAA3B,CAAf;AAEAqC,IAAAA,YAAY,CAAC/X,OAAb,CAAqB,UAAAqW,IAAI,EAAI;AAC3B,UAAI2B,MAAJ,EAAY;AACV3B,QAAAA,IAAI,CAACjN,SAAL,CAAeC,MAAf,CAAsBwM,oBAAtB;AACD,OAFD,MAEO;AACLQ,QAAAA,IAAI,CAACjN,SAAL,CAAe4J,GAAf,CAAmB6C,oBAAnB;AACD;;AAEDQ,MAAAA,IAAI,CAAChM,YAAL,CAAkB,eAAlB,EAAmC2N,MAAnC;AACD,KARD;AASD;;;WAIMZ,oBAAP,2BAAyB1Z,OAAzB,EAAkCkC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAX;;AACA,QAAM2I,OAAO,gBACRnD,SADQ,EAER7C,WAAW,CAACI,iBAAZ,CAA8BrN,OAA9B,CAFQ,EAGP,OAAOkC,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;AAMA,QAAI,CAACyC,IAAD,IAASsO,OAAO,CAACvG,MAAjB,IAA2B,OAAOxK,MAAP,KAAkB,QAA7C,IAAyD,YAAYU,IAAZ,CAAiBV,MAAjB,CAA7D,EAAuF;AACrF+Q,MAAAA,OAAO,CAACvG,MAAR,GAAiB,KAAjB;AACD;;AAED,QAAI,CAAC/H,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAI4T,QAAJ,CAAavY,OAAb,EAAsBiT,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,UAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,MAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF;;WAEM6J,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3BuM,MAAAA,QAAQ,CAACmB,iBAAT,CAA2B,IAA3B,EAAiCxX,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBAzQoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;;;AAsQH;AACA;AACA;AACA;AACA;;;AAEAtJ,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUnG,KAAV,EAAiB;AACrF;AACA,MAAIA,KAAK,CAACU,MAAN,CAAawO,OAAb,KAAyB,GAA7B,EAAkC;AAChClP,IAAAA,KAAK,CAAC8D,cAAN;AACD;;AAED,MAAMoQ,WAAW,GAAGtN,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAApB;AACA,MAAMpN,QAAQ,GAAGI,sBAAsB,CAAC,IAAD,CAAvC;AACA,MAAMma,gBAAgB,GAAGjM,cAAc,CAACE,IAAf,CAAoBxO,QAApB,CAAzB;AAEAua,EAAAA,gBAAgB,CAAClY,OAAjB,CAAyB,UAAAtC,OAAO,EAAI;AAClC,QAAM2E,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAb;AACA,QAAIpI,MAAJ;;AACA,QAAIyC,IAAJ,EAAU;AACR;AACA,UAAIA,IAAI,CAACoU,OAAL,KAAiB,IAAjB,IAAyB,OAAOwB,WAAW,CAAC5C,MAAnB,KAA8B,QAA3D,EAAqE;AACnEhT,QAAAA,IAAI,CAACsO,OAAL,CAAa0E,MAAb,GAAsB4C,WAAW,CAAC5C,MAAlC;AACAhT,QAAAA,IAAI,CAACoU,OAAL,GAAepU,IAAI,CAACqU,UAAL,EAAf;AACD;;AAED9W,MAAAA,MAAM,GAAG,QAAT;AACD,KARD,MAQO;AACLA,MAAAA,MAAM,GAAGqY,WAAT;AACD;;AAEDhC,IAAAA,QAAQ,CAACmB,iBAAT,CAA2B1Z,OAA3B,EAAoCkC,MAApC;AACD,GAhBD;AAiBD,CA3BD;AA6BA;AACA;AACA;AACA;AACA;AACA;;AAEAiC,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAamO,QAAQ,CAACxM,eAAtB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBkM,QAAzB;;AACAlP,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOmM,QAAQ,CAACxM,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AC5YA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMiQ,UAAU,GAAG,QAAnB;AACA,IAAMC,SAAS,GAAG,OAAlB;AACA,IAAMC,OAAO,GAAG,KAAhB;AACA,IAAMC,YAAY,GAAG,SAArB;AACA,IAAMC,cAAc,GAAG,WAAvB;AACA,IAAMC,kBAAkB,GAAG,CAA3B;;AAEA,IAAMC,cAAc,GAAG,IAAIpY,MAAJ,CAAciY,YAAd,SAA8BC,cAA9B,SAAgDJ,UAAhD,CAAvB;AAEA,IAAM3C,YAAU,YAAUvN,WAA1B;AACA,IAAMwN,cAAY,cAAYxN,WAA9B;AACA,IAAMqN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,aAAW,aAAWtN,WAA5B;AACA,IAAMyQ,WAAW,aAAWzQ,WAA5B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AACA,IAAMyQ,sBAAsB,eAAa1Q,WAAb,GAAyBC,cAArD;AACA,IAAM0Q,oBAAoB,aAAW3Q,WAAX,GAAuBC,cAAjD;AAEA,IAAM2Q,mBAAmB,GAAG,UAA5B;AACA,IAAMnD,iBAAe,GAAG,MAAxB;AACA,IAAMoD,iBAAiB,GAAG,QAA1B;AACA,IAAMC,oBAAoB,GAAG,WAA7B;AACA,IAAMC,mBAAmB,GAAG,UAA5B;AACA,IAAMC,oBAAoB,GAAG,qBAA7B;AACA,IAAMC,iBAAiB,GAAG,QAA1B;AACA,IAAMC,0BAA0B,GAAG,iBAAnC;AAEA,IAAMjP,sBAAoB,GAAG,6BAA7B;AACA,IAAMkP,mBAAmB,GAAG,gBAA5B;AACA,IAAMC,aAAa,GAAG,gBAAtB;AACA,IAAMC,mBAAmB,GAAG,aAA5B;AACA,IAAMC,sBAAsB,GAAG,6DAA/B;AAEA,IAAMC,aAAa,GAAG,WAAtB;AACA,IAAMC,gBAAgB,GAAG,SAAzB;AACA,IAAMC,gBAAgB,GAAG,cAAzB;AACA,IAAMC,mBAAmB,GAAG,YAA5B;AACA,IAAMC,eAAe,GAAG,aAAxB;AACA,IAAMC,cAAc,GAAG,YAAvB;AAEA,IAAMrM,SAAO,GAAG;AACdlC,EAAAA,MAAM,EAAE,CADM;AAEdwO,EAAAA,IAAI,EAAE,IAFQ;AAGdC,EAAAA,QAAQ,EAAE,cAHI;AAIdC,EAAAA,SAAS,EAAE,QAJG;AAKdlZ,EAAAA,OAAO,EAAE,SALK;AAMdmZ,EAAAA,YAAY,EAAE;AANA,CAAhB;AASA,IAAMlM,aAAW,GAAG;AAClBzC,EAAAA,MAAM,EAAE,0BADU;AAElBwO,EAAAA,IAAI,EAAE,SAFY;AAGlBC,EAAAA,QAAQ,EAAE,kBAHQ;AAIlBC,EAAAA,SAAS,EAAE,kBAJO;AAKlBlZ,EAAAA,OAAO,EAAE,QALS;AAMlBmZ,EAAAA,YAAY,EAAE;AANI,CAApB;AASA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,oBAAYxc,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,SAAK+I,QAAL,GAAgBjL,OAAhB;AACA,SAAKyc,OAAL,GAAe,IAAf;AACA,SAAKxJ,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAKwa,KAAL,GAAa,KAAKC,eAAL,EAAb;AACA,SAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;AAEA,SAAKpJ,kBAAL;;AACAzO,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAgBD;SAEAoC,SAAA,kBAAS;AACP,QAAI,KAAKzB,QAAL,CAAc6R,QAAd,IAA0B,KAAK7R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCuP,mBAAjC,CAA9B,EAAqF;AACnF;AACD;;AAED,QAAM4B,QAAQ,GAAG,KAAK9R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,iBAAjC,CAAjB;;AAEAwE,IAAAA,QAAQ,CAACQ,UAAT;;AAEA,QAAID,QAAJ,EAAc;AACZ;AACD;;AAED,SAAK5D,IAAL;AACD;;SAEDA,OAAA,gBAAO;AACL,QAAI,KAAKlO,QAAL,CAAc6R,QAAd,IAA0B,KAAK7R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCuP,mBAAjC,CAA1B,IAAmF,KAAKuB,KAAL,CAAWhR,SAAX,CAAqBE,QAArB,CAA8BoM,iBAA9B,CAAvF,EAAuI;AACrI;AACD;;AAED,QAAML,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,KAAKhS,QAAnC,CAAf;AACA,QAAMiL,aAAa,GAAG;AACpBA,MAAAA,aAAa,EAAE,KAAKjL;AADA,KAAtB;AAIA,QAAMiS,SAAS,GAAG1W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,EAAgD1B,aAAhD,CAAlB;;AAEA,QAAIgH,SAAS,CAACzT,gBAAd,EAAgC;AAC9B;AACD,KAdI;;;AAiBL,QAAI,CAAC,KAAKmT,SAAV,EAAqB;AACnB,UAAI,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;AACjC,cAAM,IAAI7F,SAAJ,CAAc,+DAAd,CAAN;AACD;;AAED,UAAI8F,gBAAgB,GAAG,KAAKnS,QAA5B;;AAEA,UAAI,KAAKgI,OAAL,CAAaqJ,SAAb,KAA2B,QAA/B,EAAyC;AACvCc,QAAAA,gBAAgB,GAAGzF,MAAnB;AACD,OAFD,MAEO,IAAItW,SAAS,CAAC,KAAK4R,OAAL,CAAaqJ,SAAd,CAAb,EAAuC;AAC5Cc,QAAAA,gBAAgB,GAAG,KAAKnK,OAAL,CAAaqJ,SAAhC,CAD4C;;AAI5C,YAAI,OAAO,KAAKrJ,OAAL,CAAaqJ,SAAb,CAAuBnC,MAA9B,KAAyC,WAA7C,EAA0D;AACxDiD,UAAAA,gBAAgB,GAAG,KAAKnK,OAAL,CAAaqJ,SAAb,CAAuB,CAAvB,CAAnB;AACD;AACF,OAhBkB;AAmBnB;AACA;;;AACA,UAAI,KAAKrJ,OAAL,CAAaoJ,QAAb,KAA0B,cAA9B,EAA8C;AAC5C1E,QAAAA,MAAM,CAACjM,SAAP,CAAiB4J,GAAjB,CAAqBmG,0BAArB;AACD;;AAED,WAAKgB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;AACD,KA3CI;AA8CL;AACA;AACA;;;AACA,QAAI,kBAAkBxd,QAAQ,CAAC0D,eAA3B,IACF,CAACoU,MAAM,CAAClM,OAAP,CAAemQ,mBAAf,CADH,EACwC;AAAA;;AACtC,kBAAGlN,MAAH,aAAa7O,QAAQ,CAACoE,IAAT,CAAc6K,QAA3B,EACGxM,OADH,CACW,UAAAqW,IAAI;AAAA,eAAInS,YAAY,CAACmC,EAAb,CAAgBgQ,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyC/U,IAAI,EAA7C,CAAJ;AAAA,OADf;AAED;;AAED,SAAKqH,QAAL,CAAcqS,KAAd;;AACA,SAAKrS,QAAL,CAAc0B,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;AAEA,SAAK+P,KAAL,CAAWhR,SAAX,CAAqBgB,MAArB,CAA4BsL,iBAA5B;;AACA,SAAK/M,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BsL,iBAA/B;;AACAxR,IAAAA,YAAY,CAAC2C,OAAb,CAAqBwO,MAArB,EAA6BE,aAA7B,EAA0C3B,aAA1C;AACD;;SAEDgD,OAAA,gBAAO;AACL,QAAI,KAAKjO,QAAL,CAAc6R,QAAd,IAA0B,KAAK7R,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCuP,mBAAjC,CAA1B,IAAmF,CAAC,KAAKuB,KAAL,CAAWhR,SAAX,CAAqBE,QAArB,CAA8BoM,iBAA9B,CAAxF,EAAwI;AACtI;AACD;;AAED,QAAML,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,KAAKhS,QAAnC,CAAf;AACA,QAAMiL,aAAa,GAAG;AACpBA,MAAAA,aAAa,EAAE,KAAKjL;AADA,KAAtB;AAIA,QAAMsS,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqBwO,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;AAEA,QAAIqH,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD;;AAED,QAAI,KAAKgT,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;AACD;;AAED,SAAKd,KAAL,CAAWhR,SAAX,CAAqBgB,MAArB,CAA4BsL,iBAA5B;;AACA,SAAK/M,QAAL,CAAcS,SAAd,CAAwBgB,MAAxB,CAA+BsL,iBAA/B;;AACAxR,IAAAA,YAAY,CAAC2C,OAAb,CAAqBwO,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;AACD;;SAED1K,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AACA9D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCV,WAAhC;AACA,SAAKU,QAAL,GAAgB,IAAhB;AACA,SAAKyR,KAAL,GAAa,IAAb;;AACA,QAAI,KAAKD,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;;AACA,WAAKf,OAAL,GAAe,IAAf;AACD;AACF;;SAEDgB,SAAA,kBAAS;AACP,SAAKb,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;AACA,QAAI,KAAKJ,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAaiB,cAAb;AACD;AACF;;;SAIDjK,qBAAA,8BAAqB;AAAA;;AACnBjN,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+B+P,WAA/B,EAA4C,UAAA3U,KAAK,EAAI;AACnDA,MAAAA,KAAK,CAAC8D,cAAN;AACA9D,MAAAA,KAAK,CAACsX,eAAN;;AACA,MAAA,KAAI,CAACjR,MAAL;AACD,KAJD;AAKD;;SAEDwG,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD,KAAK0b,WAAL,CAAiB9N,OADhB,EAED7C,WAAW,CAACI,iBAAZ,CAA8B,KAAKpC,QAAnC,CAFC,EAGD/I,MAHC,CAAN;AAMAF,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAe,KAAK0b,WAAL,CAAiBvN,WAAhC,CAAf;AAEA,WAAOnO,MAAP;AACD;;SAEDya,kBAAA,2BAAkB;AAChB,WAAOpO,cAAc,CAACiB,IAAf,CAAoB,KAAKvE,QAAzB,EAAmC0Q,aAAnC,EAAkD,CAAlD,CAAP;AACD;;SAEDkC,gBAAA,yBAAgB;AACd,QAAMC,cAAc,GAAG,KAAK7S,QAAL,CAAchI,UAArC;AACA,QAAI8a,SAAS,GAAG/B,gBAAhB,CAFc;;AAKd,QAAI8B,cAAc,CAACpS,SAAf,CAAyBE,QAAzB,CAAkCwP,iBAAlC,CAAJ,EAA0D;AACxD2C,MAAAA,SAAS,GAAG,KAAKrB,KAAL,CAAWhR,SAAX,CAAqBE,QAArB,CAA8B2P,oBAA9B,IACVQ,gBADU,GAEVD,aAFF;AAGD,KAJD,MAIO,IAAIgC,cAAc,CAACpS,SAAf,CAAyBE,QAAzB,CAAkCyP,oBAAlC,CAAJ,EAA6D;AAClE0C,MAAAA,SAAS,GAAG7B,eAAZ;AACD,KAFM,MAEA,IAAI4B,cAAc,CAACpS,SAAf,CAAyBE,QAAzB,CAAkC0P,mBAAlC,CAAJ,EAA4D;AACjEyC,MAAAA,SAAS,GAAG5B,cAAZ;AACD,KAFM,MAEA,IAAI,KAAKO,KAAL,CAAWhR,SAAX,CAAqBE,QAArB,CAA8B2P,oBAA9B,CAAJ,EAAyD;AAC9DwC,MAAAA,SAAS,GAAG9B,mBAAZ;AACD;;AAED,WAAO8B,SAAP;AACD;;SAEDlB,gBAAA,yBAAgB;AACd,WAAOxU,OAAO,CAAC,KAAK4C,QAAL,CAAcQ,OAAd,OAA0B+P,iBAA1B,CAAD,CAAd;AACD;;SAEDwC,aAAA,sBAAa;AAAA;;AACX,QAAMpQ,MAAM,GAAG,EAAf;;AAEA,QAAI,OAAO,KAAKqF,OAAL,CAAarF,MAApB,KAA+B,UAAnC,EAA+C;AAC7CA,MAAAA,MAAM,CAACzH,EAAP,GAAY,UAAAxB,IAAI,EAAI;AAClBA,QAAAA,IAAI,CAACsZ,OAAL,gBACKtZ,IAAI,CAACsZ,OADV,EAEM,MAAI,CAAChL,OAAL,CAAarF,MAAb,CAAoBjJ,IAAI,CAACsZ,OAAzB,EAAkC,MAAI,CAAChT,QAAvC,KAAoD,EAF1D;AAKA,eAAOtG,IAAP;AACD,OAPD;AAQD,KATD,MASO;AACLiJ,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAKqF,OAAL,CAAarF,MAA7B;AACD;;AAED,WAAOA,MAAP;AACD;;SAEDyP,mBAAA,4BAAmB;AACjB,QAAMd,YAAY,GAAG;AACnBwB,MAAAA,SAAS,EAAE,KAAKF,aAAL,EADQ;AAEnBK,MAAAA,SAAS,EAAE;AACTtQ,QAAAA,MAAM,EAAE,KAAKoQ,UAAL,EADC;AAET5B,QAAAA,IAAI,EAAE;AACJ+B,UAAAA,OAAO,EAAE,KAAKlL,OAAL,CAAamJ;AADlB,SAFG;AAKTgC,QAAAA,eAAe,EAAE;AACfC,UAAAA,iBAAiB,EAAE,KAAKpL,OAAL,CAAaoJ;AADjB;AALR;AAFQ,KAArB,CADiB;;AAejB,QAAI,KAAKpJ,OAAL,CAAa7P,OAAb,KAAyB,QAA7B,EAAuC;AACrCmZ,MAAAA,YAAY,CAAC2B,SAAb,CAAuBI,UAAvB,GAAoC;AAClCH,QAAAA,OAAO,EAAE;AADyB,OAApC;AAGD;;AAED,wBACK5B,YADL,EAEK,KAAKtJ,OAAL,CAAasJ,YAFlB;AAID;;;WAIMgC,oBAAP,2BAAyBve,OAAzB,EAAkCkC,MAAlC,EAA0C;AACxC,QAAIyC,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAX;;AACA,QAAM2I,OAAO,GAAG,OAAO/Q,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;AAEA,QAAI,CAACyC,IAAL,EAAW;AACTA,MAAAA,IAAI,GAAG,IAAI6X,QAAJ,CAAaxc,OAAb,EAAsBiT,OAAtB,CAAP;AACD;;AAED,QAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,UAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,cAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,MAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF;;WAEM6J,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3BwQ,MAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiCrc,MAAjC;AACD,KAFM,CAAP;AAGD;;WAEM8a,aAAP,oBAAkB3W,KAAlB,EAAyB;AACvB,QAAIA,KAAK,KAAKA,KAAK,CAACuG,MAAN,KAAiBkO,kBAAjB,IACXzU,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAC3B,GAAN,KAAciW,OADlC,CAAT,EACsD;AACpD;AACD;;AAED,QAAM6D,OAAO,GAAGjQ,cAAc,CAACE,IAAf,CAAoBjC,sBAApB,CAAhB;;AAEA,SAAK,IAAIxF,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGkX,OAAO,CAACvX,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;AAClD,UAAM2Q,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8BuB,OAAO,CAACxX,CAAD,CAArC,CAAf;AACA,UAAMyX,OAAO,GAAGzZ,IAAI,CAACG,OAAL,CAAaqZ,OAAO,CAACxX,CAAD,CAApB,EAAyBsD,UAAzB,CAAhB;AACA,UAAM4L,aAAa,GAAG;AACpBA,QAAAA,aAAa,EAAEsI,OAAO,CAACxX,CAAD;AADF,OAAtB;;AAIA,UAAIX,KAAK,IAAIA,KAAK,CAACK,IAAN,KAAe,OAA5B,EAAqC;AACnCwP,QAAAA,aAAa,CAACwI,UAAd,GAA2BrY,KAA3B;AACD;;AAED,UAAI,CAACoY,OAAL,EAAc;AACZ;AACD;;AAED,UAAME,YAAY,GAAGF,OAAO,CAAC/B,KAA7B;;AACA,UAAI,CAAC8B,OAAO,CAACxX,CAAD,CAAP,CAAW0E,SAAX,CAAqBE,QAArB,CAA8BoM,iBAA9B,CAAL,EAAqD;AACnD;AACD;;AAED,UAAI3R,KAAK,KAAMA,KAAK,CAACK,IAAN,KAAe,OAAf,IACX,kBAAkB9D,IAAlB,CAAuByD,KAAK,CAACU,MAAN,CAAawO,OAApC,CADU,IAETlP,KAAK,CAACK,IAAN,KAAe,OAAf,IAA0BL,KAAK,CAAC3B,GAAN,KAAciW,OAFpC,CAAL,IAGAgE,YAAY,CAAC/S,QAAb,CAAsBvF,KAAK,CAACU,MAA5B,CAHJ,EAGyC;AACvC;AACD;;AAED,UAAMwW,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqBwO,MAArB,EAA6BG,YAA7B,EAAyC5B,aAAzC,CAAlB;;AACA,UAAIqH,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD,OA9BiD;AAiClD;;;AACA,UAAI,kBAAkB5J,QAAQ,CAAC0D,eAA/B,EAAgD;AAAA;;AAC9C,qBAAGmL,MAAH,cAAa7O,QAAQ,CAACoE,IAAT,CAAc6K,QAA3B,EACGxM,OADH,CACW,UAAAqW,IAAI;AAAA,iBAAInS,YAAY,CAACC,GAAb,CAAiBkS,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0C/U,IAAI,EAA9C,CAAJ;AAAA,SADf;AAED;;AAED4a,MAAAA,OAAO,CAACxX,CAAD,CAAP,CAAW2F,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;AAEA,UAAI8R,OAAO,CAAChC,OAAZ,EAAqB;AACnBgC,QAAAA,OAAO,CAAChC,OAAR,CAAgBe,OAAhB;AACD;;AAEDmB,MAAAA,YAAY,CAACjT,SAAb,CAAuBC,MAAvB,CAA8BqM,iBAA9B;AACAwG,MAAAA,OAAO,CAACxX,CAAD,CAAP,CAAW0E,SAAX,CAAqBC,MAArB,CAA4BqM,iBAA5B;AACAxR,MAAAA,YAAY,CAAC2C,OAAb,CAAqBwO,MAArB,EAA6BI,cAA7B,EAA2C7B,aAA3C;AACD;AACF;;WAEM+G,uBAAP,8BAA4Bjd,OAA5B,EAAqC;AACnC,WAAOO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACiD,UAAlD;AACD;;WAEM2b,wBAAP,+BAA6BvY,KAA7B,EAAoC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI,kBAAkBzD,IAAlB,CAAuByD,KAAK,CAACU,MAAN,CAAawO,OAApC,IACFlP,KAAK,CAAC3B,GAAN,KAAcgW,SAAd,IAA4BrU,KAAK,CAAC3B,GAAN,KAAc+V,UAAd,KAC1BpU,KAAK,CAAC3B,GAAN,KAAcmW,cAAd,IAAgCxU,KAAK,CAAC3B,GAAN,KAAckW,YAA/C,IACCvU,KAAK,CAACU,MAAN,CAAa0E,OAAb,CAAqBkQ,aAArB,CAF0B,CAD1B,GAIF,CAACZ,cAAc,CAACnY,IAAf,CAAoByD,KAAK,CAAC3B,GAA1B,CAJH,EAImC;AACjC;AACD;;AAED2B,IAAAA,KAAK,CAAC8D,cAAN;AACA9D,IAAAA,KAAK,CAACsX,eAAN;;AAEA,QAAI,KAAKb,QAAL,IAAiB,KAAKpR,SAAL,CAAeE,QAAf,CAAwBuP,mBAAxB,CAArB,EAAmE;AACjE;AACD;;AAED,QAAMxD,MAAM,GAAG6E,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;AACA,QAAMF,QAAQ,GAAG,KAAKrR,SAAL,CAAeE,QAAf,CAAwBoM,iBAAxB,CAAjB;;AAEA,QAAI3R,KAAK,CAAC3B,GAAN,KAAc+V,UAAlB,EAA8B;AAC5B,UAAM7N,MAAM,GAAG,KAAK4B,OAAL,CAAahC,sBAAb,IAAqC,IAArC,GAA4C+B,cAAc,CAACc,IAAf,CAAoB,IAApB,EAA0B7C,sBAA1B,EAAgD,CAAhD,CAA3D;AACAI,MAAAA,MAAM,CAAC0Q,KAAP;AACAd,MAAAA,QAAQ,CAACQ,UAAT;AACA;AACD;;AAED,QAAI,CAACD,QAAD,IAAa1W,KAAK,CAAC3B,GAAN,KAAcgW,SAA/B,EAA0C;AACxC8B,MAAAA,QAAQ,CAACQ,UAAT;AACA;AACD;;AAED,QAAM6B,KAAK,GAAGtQ,cAAc,CAACE,IAAf,CAAoBoN,sBAApB,EAA4ClE,MAA5C,EAAoDnK,MAApD,CAA2DzK,SAA3D,CAAd;;AAEA,QAAI,CAAC8b,KAAK,CAAC5X,MAAX,EAAmB;AACjB;AACD;;AAED,QAAImN,KAAK,GAAGyK,KAAK,CAACrJ,OAAN,CAAcnP,KAAK,CAACU,MAApB,CAAZ;;AAEA,QAAIV,KAAK,CAAC3B,GAAN,KAAckW,YAAd,IAA8BxG,KAAK,GAAG,CAA1C,EAA6C;AAAE;AAC7CA,MAAAA,KAAK;AACN;;AAED,QAAI/N,KAAK,CAAC3B,GAAN,KAAcmW,cAAd,IAAgCzG,KAAK,GAAGyK,KAAK,CAAC5X,MAAN,GAAe,CAA3D,EAA8D;AAAE;AAC9DmN,MAAAA,KAAK;AACN,KApDiC;;;AAuDlCA,IAAAA,KAAK,GAAGA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAA3B;AAEAyK,IAAAA,KAAK,CAACzK,KAAD,CAAL,CAAakJ,KAAb;AACD;;WAEMnR,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBA9XoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;wBAEwB;AACvB,aAAOO,aAAP;AACD;;;;;AAuXH;AACA;AACA;AACA;AACA;;;AAEA7J,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0Bob,sBAA1B,EAAkDzO,sBAAlD,EAAwEgQ,QAAQ,CAACoC,qBAAjF;AACApY,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0Bob,sBAA1B,EAAkDU,aAAlD,EAAiEa,QAAQ,CAACoC,qBAA1E;AACApY,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4R,QAAQ,CAACQ,UAAzD;AACAxW,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0Bqb,oBAA1B,EAAgDsB,QAAQ,CAACQ,UAAzD;AACAxW,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUnG,KAAV,EAAiB;AACrFA,EAAAA,KAAK,CAAC8D,cAAN;AACA9D,EAAAA,KAAK,CAACsX,eAAN;AACAnB,EAAAA,QAAQ,CAAC+B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;AACD,CAJD;AAKA/X,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD8Q,mBAAhD,EAAqE,UAAArG,CAAC;AAAA,SAAIA,CAAC,CAACsI,eAAF,EAAJ;AAAA,CAAtE;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEAxZ,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAaoS,QAAQ,CAACzQ,eAAtB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBmQ,QAAzB;;AACAnT,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOoQ,QAAQ,CAACzQ,eAAhB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AClfA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AACA,IAAMiQ,YAAU,GAAG,QAAnB;AAEA,IAAM3K,SAAO,GAAG;AACdgP,EAAAA,QAAQ,EAAE,IADI;AAEd9O,EAAAA,QAAQ,EAAE,IAFI;AAGdsN,EAAAA,KAAK,EAAE,IAHO;AAIdnE,EAAAA,IAAI,EAAE;AAJQ,CAAhB;AAOA,IAAM9I,aAAW,GAAG;AAClByO,EAAAA,QAAQ,EAAE,kBADQ;AAElB9O,EAAAA,QAAQ,EAAE,SAFQ;AAGlBsN,EAAAA,KAAK,EAAE,SAHW;AAIlBnE,EAAAA,IAAI,EAAE;AAJY,CAApB;AAOA,IAAMrB,YAAU,YAAUvN,WAA1B;AACA,IAAMwU,oBAAoB,qBAAmBxU,WAA7C;AACA,IAAMwN,cAAY,cAAYxN,WAA9B;AACA,IAAMqN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,aAAW,aAAWtN,WAA5B;AACA,IAAMyU,aAAa,eAAazU,WAAhC;AACA,IAAM0U,YAAY,cAAY1U,WAA9B;AACA,IAAM2U,mBAAmB,qBAAmB3U,WAA5C;AACA,IAAM4U,qBAAqB,uBAAqB5U,WAAhD;AACA,IAAM6U,qBAAqB,uBAAqB7U,WAAhD;AACA,IAAM8U,uBAAuB,yBAAuB9U,WAApD;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAM8U,6BAA6B,GAAG,yBAAtC;AACA,IAAMC,mBAAmB,GAAG,gBAA5B;AACA,IAAMC,eAAe,GAAG,YAAxB;AACA,IAAMC,eAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AACA,IAAM0H,iBAAiB,GAAG,cAA1B;AAEA,IAAMC,eAAe,GAAG,eAAxB;AACA,IAAMC,mBAAmB,GAAG,aAA5B;AACA,IAAMpT,sBAAoB,GAAG,0BAA7B;AACA,IAAMqT,qBAAqB,GAAG,2BAA9B;AACA,IAAMC,sBAAsB,GAAG,mDAA/B;AACA,IAAMC,uBAAuB,GAAG,aAAhC;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,iBAAYhgB,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,SAAK+Q,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAK+I,QAAL,GAAgBjL,OAAhB;AACA,SAAKigB,OAAL,GAAe1R,cAAc,CAACM,OAAf,CAAuB8Q,eAAvB,EAAwC3f,OAAxC,CAAf;AACA,SAAKkgB,SAAL,GAAiB,IAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKC,kBAAL,GAA0B,KAA1B;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAK7H,gBAAL,GAAwB,KAAxB;AACA,SAAK8H,eAAL,GAAuB,CAAvB;AACAtb,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEAoC,SAAA,gBAAOwJ,aAAP,EAAsB;AACpB,WAAO,KAAKiK,QAAL,GAAgB,KAAKjH,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAUjD,aAAV,CAArC;AACD;;SAEDiD,OAAA,cAAKjD,aAAL,EAAoB;AAAA;;AAClB,QAAI,KAAKiK,QAAL,IAAiB,KAAK3H,gBAA1B,EAA4C;AAC1C;AACD;;AAED,QAAI,KAAKvN,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6T,eAAjC,CAAJ,EAAuD;AACrD,WAAKjH,gBAAL,GAAwB,IAAxB;AACD;;AAED,QAAM0E,SAAS,GAAG1W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,EAAgD;AAChE1B,MAAAA,aAAa,EAAbA;AADgE,KAAhD,CAAlB;;AAIA,QAAI,KAAKiK,QAAL,IAAiBjD,SAAS,CAACzT,gBAA/B,EAAiD;AAC/C;AACD;;AAED,SAAK0W,QAAL,GAAgB,IAAhB;;AAEA,SAAKI,eAAL;;AACA,SAAKC,aAAL;;AAEA,SAAKC,aAAL;;AAEA,SAAKC,eAAL;;AACA,SAAKC,eAAL;;AAEAna,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EACEiU,mBADF,EAEEW,qBAFF,EAGE,UAAAxZ,KAAK;AAAA,aAAI,KAAI,CAAC6S,IAAL,CAAU7S,KAAV,CAAJ;AAAA,KAHP;AAMAG,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsX,OAArB,EAA8BZ,uBAA9B,EAAuD,YAAM;AAC3D7Y,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAI,CAACqC,QAAtB,EAAgCmU,qBAAhC,EAAuD,UAAA/Y,KAAK,EAAI;AAC9D,YAAIA,KAAK,CAACU,MAAN,KAAiB,KAAI,CAACkE,QAA1B,EAAoC;AAClC,UAAA,KAAI,CAACoV,oBAAL,GAA4B,IAA5B;AACD;AACF,OAJD;AAKD,KAND;;AAQA,SAAKO,aAAL,CAAmB;AAAA,aAAM,KAAI,CAACC,YAAL,CAAkB3K,aAAlB,CAAN;AAAA,KAAnB;AACD;;SAEDgD,OAAA,cAAK7S,KAAL,EAAY;AAAA;;AACV,QAAIA,KAAJ,EAAW;AACTA,MAAAA,KAAK,CAAC8D,cAAN;AACD;;AAED,QAAI,CAAC,KAAKgW,QAAN,IAAkB,KAAK3H,gBAA3B,EAA6C;AAC3C;AACD;;AAED,QAAM+E,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC6M,YAApC,CAAlB;;AAEA,QAAIyF,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD;;AAED,SAAK0W,QAAL,GAAgB,KAAhB;;AACA,QAAMW,UAAU,GAAG,KAAK7V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6T,eAAjC,CAAnB;;AAEA,QAAIqB,UAAJ,EAAgB;AACd,WAAKtI,gBAAL,GAAwB,IAAxB;AACD;;AAED,SAAKkI,eAAL;;AACA,SAAKC,eAAL;;AAEAna,IAAAA,YAAY,CAACC,GAAb,CAAiB5G,QAAjB,EAA2Bmf,aAA3B;;AAEA,SAAK/T,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqM,iBAA/B;;AAEAxR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCiU,mBAAhC;AACA1Y,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwZ,OAAtB,EAA+BZ,uBAA/B;;AAEA,QAAIyB,UAAJ,EAAgB;AACd,UAAMngB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyK,QAAN,CAA3D;AAEAzE,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD,UAAAqH,KAAK;AAAA,eAAI,MAAI,CAAC0a,UAAL,CAAgB1a,KAAhB,CAAJ;AAAA,OAArD;AACA9E,MAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBtK,kBAAhB,CAApB;AACD,KALD,MAKO;AACL,WAAKogB,UAAL;AACD;AACF;;SAEDvV,UAAA,mBAAU;AACR,KAAC/K,MAAD,EAAS,KAAKwK,QAAd,EAAwB,KAAKgV,OAA7B,EACG3d,OADH,CACW,UAAA0e,WAAW;AAAA,aAAIxa,YAAY,CAACC,GAAb,CAAiBua,WAAjB,EAA8BzW,WAA9B,CAAJ;AAAA,KADtB;AAGA;AACJ;AACA;AACA;AACA;;AACI/D,IAAAA,YAAY,CAACC,GAAb,CAAiB5G,QAAjB,EAA2Bmf,aAA3B;AAEAha,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AAEA,SAAK2I,OAAL,GAAe,IAAf;AACA,SAAKhI,QAAL,GAAgB,IAAhB;AACA,SAAKgV,OAAL,GAAe,IAAf;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,oBAAL,GAA4B,IAA5B;AACA,SAAK7H,gBAAL,GAAwB,IAAxB;AACA,SAAK8H,eAAL,GAAuB,IAAvB;AACD;;SAEDW,eAAA,wBAAe;AACb,SAAKR,aAAL;AACD;;;SAIDvN,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD4N,SADC,EAED5N,MAFC,CAAN;AAIAF,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAemO,aAAf,CAAf;AACA,WAAOnO,MAAP;AACD;;SAED2e,eAAA,sBAAa3K,aAAb,EAA4B;AAAA;;AAC1B,QAAM4K,UAAU,GAAG,KAAK7V,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6T,eAAjC,CAAnB;;AACA,QAAMyB,SAAS,GAAG3S,cAAc,CAACM,OAAf,CAAuB+Q,mBAAvB,EAA4C,KAAKK,OAAjD,CAAlB;;AAEA,QAAI,CAAC,KAAKhV,QAAL,CAAchI,UAAf,IACA,KAAKgI,QAAL,CAAchI,UAAd,CAAyB3B,QAAzB,KAAsC4N,IAAI,CAACC,YAD/C,EAC6D;AAC3D;AACAtP,MAAAA,QAAQ,CAACoE,IAAT,CAAckd,WAAd,CAA0B,KAAKlW,QAA/B;AACD;;AAED,SAAKA,QAAL,CAAcjI,KAAd,CAAoBI,OAApB,GAA8B,OAA9B;;AACA,SAAK6H,QAAL,CAAcmC,eAAd,CAA8B,aAA9B;;AACA,SAAKnC,QAAL,CAAc0B,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;AACA,SAAK1B,QAAL,CAAc0B,YAAd,CAA2B,MAA3B,EAAmC,QAAnC;;AACA,SAAK1B,QAAL,CAAc+C,SAAd,GAA0B,CAA1B;;AAEA,QAAIkT,SAAJ,EAAe;AACbA,MAAAA,SAAS,CAAClT,SAAV,GAAsB,CAAtB;AACD;;AAED,QAAI8S,UAAJ,EAAgB;AACdjd,MAAAA,MAAM,CAAC,KAAKoH,QAAN,CAAN;AACD;;AAED,SAAKA,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B0C,iBAA5B;;AAEA,QAAI,KAAK/E,OAAL,CAAaqK,KAAjB,EAAwB;AACtB,WAAK8D,aAAL;AACD;;AAED,QAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,UAAI,MAAI,CAACpO,OAAL,CAAaqK,KAAjB,EAAwB;AACtB,QAAA,MAAI,CAACrS,QAAL,CAAcqS,KAAd;AACD;;AAED,MAAA,MAAI,CAAC9E,gBAAL,GAAwB,KAAxB;AACAhS,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC4M,aAApC,EAAiD;AAC/C3B,QAAAA,aAAa,EAAbA;AAD+C,OAAjD;AAGD,KATD;;AAWA,QAAI4K,UAAJ,EAAgB;AACd,UAAMngB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyf,OAAN,CAA3D;AAEAzZ,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqX,OAAtB,EAA+BjhB,cAA/B,EAA+CqiB,kBAA/C;AACA9f,MAAAA,oBAAoB,CAAC,KAAK0e,OAAN,EAAetf,kBAAf,CAApB;AACD,KALD,MAKO;AACL0gB,MAAAA,kBAAkB;AACnB;AACF;;SAEDD,gBAAA,yBAAgB;AAAA;;AACd5a,IAAAA,YAAY,CAACC,GAAb,CAAiB5G,QAAjB,EAA2Bmf,aAA3B,EADc;;AAEdxY,IAAAA,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0Bmf,aAA1B,EAAyC,UAAA3Y,KAAK,EAAI;AAChD,UAAIxG,QAAQ,KAAKwG,KAAK,CAACU,MAAnB,IACA,MAAI,CAACkE,QAAL,KAAkB5E,KAAK,CAACU,MADxB,IAEA,CAAC,MAAI,CAACkE,QAAL,CAAcW,QAAd,CAAuBvF,KAAK,CAACU,MAA7B,CAFL,EAE2C;AACzC,QAAA,MAAI,CAACkE,QAAL,CAAcqS,KAAd;AACD;AACF,KAND;AAOD;;SAEDoD,kBAAA,2BAAkB;AAAA;;AAChB,QAAI,KAAKP,QAAT,EAAmB;AACjB3Z,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BkU,qBAA/B,EAAsD,UAAA9Y,KAAK,EAAI;AAC7D,YAAI,MAAI,CAAC4M,OAAL,CAAajD,QAAb,IAAyB3J,KAAK,CAAC3B,GAAN,KAAc+V,YAA3C,EAAuD;AACrDpU,UAAAA,KAAK,CAAC8D,cAAN;;AACA,UAAA,MAAI,CAAC+O,IAAL;AACD,SAHD,MAGO,IAAI,CAAC,MAAI,CAACjG,OAAL,CAAajD,QAAd,IAA0B3J,KAAK,CAAC3B,GAAN,KAAc+V,YAA5C,EAAwD;AAC7D,UAAA,MAAI,CAAC6G,0BAAL;AACD;AACF,OAPD;AAQD,KATD,MASO;AACL9a,MAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCkU,qBAAhC;AACD;AACF;;SAEDwB,kBAAA,2BAAkB;AAAA;;AAChB,QAAI,KAAKR,QAAT,EAAmB;AACjB3Z,MAAAA,YAAY,CAACmC,EAAb,CAAgBlI,MAAhB,EAAwBwe,YAAxB,EAAsC;AAAA,eAAM,MAAI,CAACwB,aAAL,EAAN;AAAA,OAAtC;AACD,KAFD,MAEO;AACLja,MAAAA,YAAY,CAACC,GAAb,CAAiBhG,MAAjB,EAAyBwe,YAAzB;AACD;AACF;;SAED8B,aAAA,sBAAa;AAAA;;AACX,SAAK9V,QAAL,CAAcjI,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;;AACA,SAAK6H,QAAL,CAAc0B,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;AACA,SAAK1B,QAAL,CAAcmC,eAAd,CAA8B,YAA9B;;AACA,SAAKnC,QAAL,CAAcmC,eAAd,CAA8B,MAA9B;;AACA,SAAKoL,gBAAL,GAAwB,KAAxB;;AACA,SAAKoI,aAAL,CAAmB,YAAM;AACvB/gB,MAAAA,QAAQ,CAACoE,IAAT,CAAcyH,SAAd,CAAwBC,MAAxB,CAA+B6T,eAA/B;;AACA,MAAA,MAAI,CAAC+B,iBAAL;;AACA,MAAA,MAAI,CAACC,eAAL;;AACAhb,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC8M,cAApC;AACD,KALD;AAMD;;SAED0J,kBAAA,2BAAkB;AAChB,SAAKvB,SAAL,CAAejd,UAAf,CAA0B6I,WAA1B,CAAsC,KAAKoU,SAA3C;;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACD;;SAEDU,gBAAA,uBAAcxc,QAAd,EAAwB;AAAA;;AACtB,QAAMsd,OAAO,GAAG,KAAKzW,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6T,eAAjC,IACdA,eADc,GAEd,EAFF;;AAIA,QAAI,KAAKU,QAAL,IAAiB,KAAKlN,OAAL,CAAa6L,QAAlC,EAA4C;AAC1C,WAAKoB,SAAL,GAAiBrgB,QAAQ,CAAC8hB,aAAT,CAAuB,KAAvB,CAAjB;AACA,WAAKzB,SAAL,CAAe0B,SAAf,GAA2BrC,mBAA3B;;AAEA,UAAImC,OAAJ,EAAa;AACX,aAAKxB,SAAL,CAAexU,SAAf,CAAyB4J,GAAzB,CAA6BoM,OAA7B;AACD;;AAED7hB,MAAAA,QAAQ,CAACoE,IAAT,CAAckd,WAAd,CAA0B,KAAKjB,SAA/B;AAEA1Z,MAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BiU,mBAA/B,EAAoD,UAAA7Y,KAAK,EAAI;AAC3D,YAAI,MAAI,CAACga,oBAAT,EAA+B;AAC7B,UAAA,MAAI,CAACA,oBAAL,GAA4B,KAA5B;AACA;AACD;;AAED,YAAIha,KAAK,CAACU,MAAN,KAAiBV,KAAK,CAACwb,aAA3B,EAA0C;AACxC;AACD;;AAED,YAAI,MAAI,CAAC5O,OAAL,CAAa6L,QAAb,KAA0B,QAA9B,EAAwC;AACtC,UAAA,MAAI,CAACwC,0BAAL;AACD,SAFD,MAEO;AACL,UAAA,MAAI,CAACpI,IAAL;AACD;AACF,OAfD;;AAiBA,UAAIwI,OAAJ,EAAa;AACX7d,QAAAA,MAAM,CAAC,KAAKqc,SAAN,CAAN;AACD;;AAED,WAAKA,SAAL,CAAexU,SAAf,CAAyB4J,GAAzB,CAA6B0C,iBAA7B;;AAEA,UAAI,CAAC0J,OAAL,EAAc;AACZtd,QAAAA,QAAQ;AACR;AACD;;AAED,UAAM0d,0BAA0B,GAAGthB,gCAAgC,CAAC,KAAK0f,SAAN,CAAnE;AAEA1Z,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKsX,SAAtB,EAAiClhB,cAAjC,EAAiDoF,QAAjD;AACA7C,MAAAA,oBAAoB,CAAC,KAAK2e,SAAN,EAAiB4B,0BAAjB,CAApB;AACD,KA1CD,MA0CO,IAAI,CAAC,KAAK3B,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;AAC3C,WAAKA,SAAL,CAAexU,SAAf,CAAyBC,MAAzB,CAAgCqM,iBAAhC;;AAEA,UAAM+J,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAA,MAAI,CAACN,eAAL;;AACArd,QAAAA,QAAQ;AACT,OAHD;;AAKA,UAAI,KAAK6G,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiC6T,eAAjC,CAAJ,EAAuD;AACrD,YAAMqC,2BAA0B,GAAGthB,gCAAgC,CAAC,KAAK0f,SAAN,CAAnE;;AACA1Z,QAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKsX,SAAtB,EAAiClhB,cAAjC,EAAiD+iB,cAAjD;AACAxgB,QAAAA,oBAAoB,CAAC,KAAK2e,SAAN,EAAiB4B,2BAAjB,CAApB;AACD,OAJD,MAIO;AACLC,QAAAA,cAAc;AACf;AACF,KAfM,MAeA;AACL3d,MAAAA,QAAQ;AACT;AACF;;SAEDkd,6BAAA,sCAA6B;AAAA;;AAC3B,QAAM/D,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC8T,oBAApC,CAAlB;;AACA,QAAIxB,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD;;AAED,QAAMuY,kBAAkB,GAAG,KAAK/W,QAAL,CAAcgX,YAAd,GAA6BpiB,QAAQ,CAAC0D,eAAT,CAAyB2e,YAAjF;;AAEA,QAAI,CAACF,kBAAL,EAAyB;AACvB,WAAK/W,QAAL,CAAcjI,KAAd,CAAoBmf,SAApB,GAAgC,QAAhC;AACD;;AAED,SAAKlX,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4BoK,iBAA5B;;AACA,QAAM0C,uBAAuB,GAAG5hB,gCAAgC,CAAC,KAAKyf,OAAN,CAAhE;AACAzZ,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCjM,cAAhC;AACAwH,IAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD,YAAM;AACpD,MAAA,MAAI,CAACiM,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B+T,iBAA/B;;AACA,UAAI,CAACsC,kBAAL,EAAyB;AACvBxb,QAAAA,YAAY,CAACoC,GAAb,CAAiB,MAAI,CAACqC,QAAtB,EAAgCjM,cAAhC,EAAgD,YAAM;AACpD,UAAA,MAAI,CAACiM,QAAL,CAAcjI,KAAd,CAAoBmf,SAApB,GAAgC,EAAhC;AACD,SAFD;AAGA5gB,QAAAA,oBAAoB,CAAC,MAAI,CAAC0J,QAAN,EAAgBmX,uBAAhB,CAApB;AACD;AACF,KARD;AASA7gB,IAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBmX,uBAAhB,CAApB;;AACA,SAAKnX,QAAL,CAAcqS,KAAd;AACD;AAGD;AACA;;;SAEAmD,gBAAA,yBAAgB;AACd,QAAMuB,kBAAkB,GACtB,KAAK/W,QAAL,CAAcgX,YAAd,GAA6BpiB,QAAQ,CAAC0D,eAAT,CAAyB2e,YADxD;;AAGA,QAAI,CAAC,KAAK9B,kBAAN,IAA4B4B,kBAAhC,EAAoD;AAClD,WAAK/W,QAAL,CAAcjI,KAAd,CAAoBqf,WAApB,GAAqC,KAAK/B,eAA1C;AACD;;AAED,QAAI,KAAKF,kBAAL,IAA2B,CAAC4B,kBAAhC,EAAoD;AAClD,WAAK/W,QAAL,CAAcjI,KAAd,CAAoBsf,YAApB,GAAsC,KAAKhC,eAA3C;AACD;AACF;;SAEDiB,oBAAA,6BAAoB;AAClB,SAAKtW,QAAL,CAAcjI,KAAd,CAAoBqf,WAApB,GAAkC,EAAlC;AACA,SAAKpX,QAAL,CAAcjI,KAAd,CAAoBsf,YAApB,GAAmC,EAAnC;AACD;;SAED/B,kBAAA,2BAAkB;AAChB,QAAM1S,IAAI,GAAGhO,QAAQ,CAACoE,IAAT,CAAc6J,qBAAd,EAAb;AACA,SAAKsS,kBAAL,GAA0B1gB,IAAI,CAAC6iB,KAAL,CAAW1U,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAAC2U,KAA5B,IAAqC/hB,MAAM,CAACgiB,UAAtE;AACA,SAAKnC,eAAL,GAAuB,KAAKoC,kBAAL,EAAvB;AACD;;SAEDlC,gBAAA,yBAAgB;AAAA;;AACd,QAAI,KAAKJ,kBAAT,EAA6B;AAC3B;AACA;AAEA;AACA7R,MAAAA,cAAc,CAACE,IAAf,CAAoBqR,sBAApB,EACGxd,OADH,CACW,UAAAtC,OAAO,EAAI;AAClB,YAAM2iB,aAAa,GAAG3iB,OAAO,CAACgD,KAAR,CAAcsf,YAApC;AACA,YAAMM,iBAAiB,GAAGniB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;AACAiN,QAAAA,WAAW,CAACC,gBAAZ,CAA6BlN,OAA7B,EAAsC,eAAtC,EAAuD2iB,aAAvD;AACA3iB,QAAAA,OAAO,CAACgD,KAAR,CAAcsf,YAAd,GAAgCxhB,MAAM,CAACC,UAAP,CAAkB6hB,iBAAlB,IAAuC,OAAI,CAACtC,eAA5E;AACD,OANH,EAL2B;;AAc3B/R,MAAAA,cAAc,CAACE,IAAf,CAAoBsR,uBAApB,EACGzd,OADH,CACW,UAAAtC,OAAO,EAAI;AAClB,YAAM6iB,YAAY,GAAG7iB,OAAO,CAACgD,KAAR,CAAc8f,WAAnC;AACA,YAAMC,gBAAgB,GAAGtiB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;AACAiN,QAAAA,WAAW,CAACC,gBAAZ,CAA6BlN,OAA7B,EAAsC,cAAtC,EAAsD6iB,YAAtD;AACA7iB,QAAAA,OAAO,CAACgD,KAAR,CAAc8f,WAAd,GAA+BhiB,MAAM,CAACC,UAAP,CAAkBgiB,gBAAlB,IAAsC,OAAI,CAACzC,eAA1E;AACD,OANH,EAd2B;;AAuB3B,UAAMqC,aAAa,GAAG9iB,QAAQ,CAACoE,IAAT,CAAcjB,KAAd,CAAoBsf,YAA1C;AACA,UAAMM,iBAAiB,GAAGniB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACoE,IAAjC,EAAuC,eAAvC,CAA1B;AAEAgJ,MAAAA,WAAW,CAACC,gBAAZ,CAA6BrN,QAAQ,CAACoE,IAAtC,EAA4C,eAA5C,EAA6D0e,aAA7D;AACA9iB,MAAAA,QAAQ,CAACoE,IAAT,CAAcjB,KAAd,CAAoBsf,YAApB,GAAsCxhB,MAAM,CAACC,UAAP,CAAkB6hB,iBAAlB,IAAuC,KAAKtC,eAAlF;AACD;;AAEDzgB,IAAAA,QAAQ,CAACoE,IAAT,CAAcyH,SAAd,CAAwB4J,GAAxB,CAA4BkK,eAA5B;AACD;;SAEDgC,kBAAA,2BAAkB;AAChB;AACAjT,IAAAA,cAAc,CAACE,IAAf,CAAoBqR,sBAApB,EACGxd,OADH,CACW,UAAAtC,OAAO,EAAI;AAClB,UAAMgjB,OAAO,GAAG/V,WAAW,CAACU,gBAAZ,CAA6B3N,OAA7B,EAAsC,eAAtC,CAAhB;;AACA,UAAI,OAAOgjB,OAAP,KAAmB,WAAvB,EAAoC;AAClC/V,QAAAA,WAAW,CAACE,mBAAZ,CAAgCnN,OAAhC,EAAyC,eAAzC;AACAA,QAAAA,OAAO,CAACgD,KAAR,CAAcsf,YAAd,GAA6BU,OAA7B;AACD;AACF,KAPH,EAFgB;;AAYhBzU,IAAAA,cAAc,CAACE,IAAf,MAAuBsR,uBAAvB,EACGzd,OADH,CACW,UAAAtC,OAAO,EAAI;AAClB,UAAMijB,MAAM,GAAGhW,WAAW,CAACU,gBAAZ,CAA6B3N,OAA7B,EAAsC,cAAtC,CAAf;;AACA,UAAI,OAAOijB,MAAP,KAAkB,WAAtB,EAAmC;AACjChW,QAAAA,WAAW,CAACE,mBAAZ,CAAgCnN,OAAhC,EAAyC,cAAzC;AACAA,QAAAA,OAAO,CAACgD,KAAR,CAAc8f,WAAd,GAA4BG,MAA5B;AACD;AACF,KAPH,EAZgB;;AAsBhB,QAAMD,OAAO,GAAG/V,WAAW,CAACU,gBAAZ,CAA6B9N,QAAQ,CAACoE,IAAtC,EAA4C,eAA5C,CAAhB;;AACA,QAAI,OAAO+e,OAAP,KAAmB,WAAvB,EAAoC;AAClCnjB,MAAAA,QAAQ,CAACoE,IAAT,CAAcjB,KAAd,CAAoBsf,YAApB,GAAmC,EAAnC;AACD,KAFD,MAEO;AACLrV,MAAAA,WAAW,CAACE,mBAAZ,CAAgCtN,QAAQ,CAACoE,IAAzC,EAA+C,eAA/C;AACApE,MAAAA,QAAQ,CAACoE,IAAT,CAAcjB,KAAd,CAAoBsf,YAApB,GAAmCU,OAAnC;AACD;AACF;;SAEDN,qBAAA,8BAAqB;AAAE;AACrB,QAAMQ,SAAS,GAAGrjB,QAAQ,CAAC8hB,aAAT,CAAuB,KAAvB,CAAlB;AACAuB,IAAAA,SAAS,CAACtB,SAAV,GAAsBtC,6BAAtB;AACAzf,IAAAA,QAAQ,CAACoE,IAAT,CAAckd,WAAd,CAA0B+B,SAA1B;AACA,QAAMC,cAAc,GAAGD,SAAS,CAACpV,qBAAV,GAAkCsV,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;AACAxjB,IAAAA,QAAQ,CAACoE,IAAT,CAAc6H,WAAd,CAA0BoX,SAA1B;AACA,WAAOC,cAAP;AACD;;;QAIMpX,kBAAP,yBAAuB7J,MAAvB,EAA+BgU,aAA/B,EAA8C;AAC5C,WAAO,KAAKlK,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AACA,UAAM2I,OAAO,gBACRnD,SADQ,EAER7C,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFQ,EAGP,OAAOnL,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHzC,CAAb;;AAMA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAIqb,KAAJ,CAAU,IAAV,EAAgB/M,OAAhB,CAAP;AACD;;AAED,UAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAagU,aAAb;AACD,OAND,MAMO,IAAIjD,OAAO,CAACkG,IAAZ,EAAkB;AACvBxU,QAAAA,IAAI,CAACwU,IAAL,CAAUjD,aAAV;AACD;AACF,KArBM,CAAP;AAsBD;;QAEM/J,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBArdoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;;;AAkdH;AACA;AACA;AACA;AACA;;;AAEAtJ,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUnG,KAAV,EAAiB;AAAA;;AACrF,MAAMU,MAAM,GAAGxG,sBAAsB,CAAC,IAAD,CAArC;;AAEA,MAAI,KAAKgV,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;AACnDlP,IAAAA,KAAK,CAAC8D,cAAN;AACD;;AAED3D,EAAAA,YAAY,CAACoC,GAAb,CAAiB7B,MAAjB,EAAyB6Q,YAAzB,EAAqC,UAAAsF,SAAS,EAAI;AAChD,QAAIA,SAAS,CAACzT,gBAAd,EAAgC;AAC9B;AACA;AACD;;AAEDjD,IAAAA,YAAY,CAACoC,GAAb,CAAiB7B,MAAjB,EAAyBgR,cAAzB,EAAuC,YAAM;AAC3C,UAAIhV,SAAS,CAAC,OAAD,CAAb,EAAqB;AACnB,QAAA,OAAI,CAACua,KAAL;AACD;AACF,KAJD;AAKD,GAXD;AAaA,MAAI3Y,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa4B,MAAb,EAAqBuD,UAArB,CAAX;;AACA,MAAI,CAAC3F,IAAL,EAAW;AACT,QAAMzC,MAAM,gBACP+K,WAAW,CAACI,iBAAZ,CAA8BtG,MAA9B,CADO,EAEPkG,WAAW,CAACI,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;AAKA1I,IAAAA,IAAI,GAAG,IAAIqb,KAAJ,CAAUjZ,MAAV,EAAkB7E,MAAlB,CAAP;AACD;;AAEDyC,EAAAA,IAAI,CAACwU,IAAL,CAAU,IAAV;AACD,CA/BD;AAiCA;AACA;AACA;AACA;AACA;AACA;;AAEAhV,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAa4V,KAAK,CAACjU,eAAnB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyB2T,KAAzB;;AACA3W,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAO4T,KAAK,CAACjU,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACzmBA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMuX,QAAQ,GAAG,IAAIxd,GAAJ,CAAQ,CACvB,YADuB,EAEvB,MAFuB,EAGvB,MAHuB,EAIvB,UAJuB,EAKvB,UALuB,EAMvB,QANuB,EAOvB,KAPuB,EAQvB,YARuB,CAAR,CAAjB;AAWA,IAAMyd,sBAAsB,GAAG,gBAA/B;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,6DAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,oIAAzB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;AACvD,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAAcvkB,WAAd,EAAjB;;AAEA,MAAIqkB,oBAAoB,CAAClb,QAArB,CAA8Bmb,QAA9B,CAAJ,EAA6C;AAC3C,QAAIP,QAAQ,CAACtb,GAAT,CAAa6b,QAAb,CAAJ,EAA4B;AAC1B,aAAOxb,OAAO,CAACsb,IAAI,CAACI,SAAL,CAAezkB,KAAf,CAAqBkkB,gBAArB,KAA0CG,IAAI,CAACI,SAAL,CAAezkB,KAAf,CAAqBmkB,gBAArB,CAA3C,CAAd;AACD;;AAED,WAAO,IAAP;AACD;;AAED,MAAMO,MAAM,GAAGJ,oBAAoB,CAACpW,MAArB,CAA4B,UAAAyW,SAAS;AAAA,WAAIA,SAAS,YAAYthB,MAAzB;AAAA,GAArC,CAAf,CAXuD;;AAcvD,OAAK,IAAIqE,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG0c,MAAM,CAAC/c,MAA7B,EAAqCD,CAAC,GAAGM,GAAzC,EAA8CN,CAAC,EAA/C,EAAmD;AACjD,QAAI6c,QAAQ,CAACvkB,KAAT,CAAe0kB,MAAM,CAAChd,CAAD,CAArB,CAAJ,EAA+B;AAC7B,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,CArBD;;AAuBO,IAAMkd,gBAAgB,GAAG;AAC9B;AACA,OAAK,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCX,sBAAvC,CAFyB;AAG9BY,EAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;AAI9BC,EAAAA,IAAI,EAAE,EAJwB;AAK9BC,EAAAA,CAAC,EAAE,EAL2B;AAM9BC,EAAAA,EAAE,EAAE,EAN0B;AAO9BC,EAAAA,GAAG,EAAE,EAPyB;AAQ9BC,EAAAA,IAAI,EAAE,EARwB;AAS9BC,EAAAA,GAAG,EAAE,EATyB;AAU9BC,EAAAA,EAAE,EAAE,EAV0B;AAW9BC,EAAAA,EAAE,EAAE,EAX0B;AAY9BC,EAAAA,EAAE,EAAE,EAZ0B;AAa9BC,EAAAA,EAAE,EAAE,EAb0B;AAc9BC,EAAAA,EAAE,EAAE,EAd0B;AAe9BC,EAAAA,EAAE,EAAE,EAf0B;AAgB9BC,EAAAA,EAAE,EAAE,EAhB0B;AAiB9BC,EAAAA,EAAE,EAAE,EAjB0B;AAkB9Bje,EAAAA,CAAC,EAAE,EAlB2B;AAmB9Bke,EAAAA,GAAG,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,KAAlB,EAAyB,OAAzB,EAAkC,OAAlC,EAA2C,QAA3C,CAnByB;AAoB9BC,EAAAA,EAAE,EAAE,EApB0B;AAqB9BC,EAAAA,EAAE,EAAE,EArB0B;AAsB9BC,EAAAA,CAAC,EAAE,EAtB2B;AAuB9BC,EAAAA,GAAG,EAAE,EAvByB;AAwB9BC,EAAAA,CAAC,EAAE,EAxB2B;AAyB9BC,EAAAA,KAAK,EAAE,EAzBuB;AA0B9BC,EAAAA,IAAI,EAAE,EA1BwB;AA2B9BC,EAAAA,GAAG,EAAE,EA3ByB;AA4B9BC,EAAAA,GAAG,EAAE,EA5ByB;AA6B9BC,EAAAA,MAAM,EAAE,EA7BsB;AA8B9BC,EAAAA,CAAC,EAAE,EA9B2B;AA+B9BC,EAAAA,EAAE,EAAE;AA/B0B,CAAzB;AAkCA,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;AAAA;;AAC9D,MAAI,CAACF,UAAU,CAAC/e,MAAhB,EAAwB;AACtB,WAAO+e,UAAP;AACD;;AAED,MAAIE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;AAClD,WAAOA,UAAU,CAACF,UAAD,CAAjB;AACD;;AAED,MAAMG,SAAS,GAAG,IAAI1lB,MAAM,CAAC2lB,SAAX,EAAlB;AACA,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;AACA,MAAMO,aAAa,GAAGnkB,MAAM,CAACC,IAAP,CAAY4jB,SAAZ,CAAtB;;AACA,MAAMO,QAAQ,GAAG,YAAG9X,MAAH,aAAa2X,eAAe,CAACpiB,IAAhB,CAAqB6C,gBAArB,CAAsC,GAAtC,CAAb,CAAjB;;AAZ8D,6BAcrDE,CAdqD,EAc9CM,GAd8C;AAAA;;AAe5D,QAAMmf,EAAE,GAAGD,QAAQ,CAACxf,CAAD,CAAnB;AACA,QAAM0f,MAAM,GAAGD,EAAE,CAAC3C,QAAH,CAAYvkB,WAAZ,EAAf;;AAEA,QAAI,CAACgnB,aAAa,CAAC7d,QAAd,CAAuBge,MAAvB,CAAL,EAAqC;AACnCD,MAAAA,EAAE,CAACxjB,UAAH,CAAc6I,WAAd,CAA0B2a,EAA1B;AAEA;AACD;;AAED,QAAME,aAAa,GAAG,aAAGjY,MAAH,cAAa+X,EAAE,CAACnZ,UAAhB,CAAtB;;AACA,QAAMsZ,iBAAiB,GAAG,GAAGlY,MAAH,CAAUuX,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA1B;AAEAC,IAAAA,aAAa,CAACrkB,OAAd,CAAsB,UAAAqhB,IAAI,EAAI;AAC5B,UAAI,CAACD,gBAAgB,CAACC,IAAD,EAAOiD,iBAAP,CAArB,EAAgD;AAC9CH,QAAAA,EAAE,CAACrZ,eAAH,CAAmBuW,IAAI,CAACG,QAAxB;AACD;AACF,KAJD;AA3B4D;;AAc9D,OAAK,IAAI9c,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGkf,QAAQ,CAACvf,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;AAAA,qBAA5CA,CAA4C;;AAAA,6BAOjD;AAWH;;AAED,SAAOqf,eAAe,CAACpiB,IAAhB,CAAqB4iB,SAA5B;AACD;;ACjGD;AACA;AACA;AACA;AACA;;AAEA,IAAMzc,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMwc,YAAY,GAAG,YAArB;AACA,IAAMC,kBAAkB,GAAG,IAAIpkB,MAAJ,aAAqBmkB,YAArB,WAAyC,GAAzC,CAA3B;AACA,IAAME,qBAAqB,GAAG,IAAIlhB,GAAJ,CAAQ,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAAR,CAA9B;AAEA,IAAMuK,aAAW,GAAG;AAClB4W,EAAAA,SAAS,EAAE,SADO;AAElBC,EAAAA,QAAQ,EAAE,QAFQ;AAGlBC,EAAAA,KAAK,EAAE,2BAHW;AAIlBhe,EAAAA,OAAO,EAAE,QAJS;AAKlBie,EAAAA,KAAK,EAAE,iBALW;AAMlBC,EAAAA,IAAI,EAAE,SANY;AAOlBpnB,EAAAA,QAAQ,EAAE,kBAPQ;AAQlB8d,EAAAA,SAAS,EAAE,mBARO;AASlBnQ,EAAAA,MAAM,EAAE,0BATU;AAUlB0L,EAAAA,SAAS,EAAE,0BAVO;AAWlBgO,EAAAA,iBAAiB,EAAE,gBAXD;AAYlBjL,EAAAA,QAAQ,EAAE,kBAZQ;AAalBkL,EAAAA,QAAQ,EAAE,SAbQ;AAclBrB,EAAAA,UAAU,EAAE,iBAdM;AAelBD,EAAAA,SAAS,EAAE,QAfO;AAgBlB1J,EAAAA,YAAY,EAAE;AAhBI,CAApB;AAmBA,IAAMiL,aAAa,GAAG;AACpBC,EAAAA,IAAI,EAAE,MADc;AAEpBC,EAAAA,GAAG,EAAE,KAFe;AAGpBC,EAAAA,KAAK,EAAE,OAHa;AAIpBC,EAAAA,MAAM,EAAE,QAJY;AAKpBC,EAAAA,IAAI,EAAE;AALc,CAAtB;AAQA,IAAM/X,SAAO,GAAG;AACdmX,EAAAA,SAAS,EAAE,IADG;AAEdC,EAAAA,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;AAKd/d,EAAAA,OAAO,EAAE,aALK;AAMdge,EAAAA,KAAK,EAAE,EANO;AAOdC,EAAAA,KAAK,EAAE,CAPO;AAQdC,EAAAA,IAAI,EAAE,KARQ;AASdpnB,EAAAA,QAAQ,EAAE,KATI;AAUd8d,EAAAA,SAAS,EAAE,KAVG;AAWdnQ,EAAAA,MAAM,EAAE,CAXM;AAYd0L,EAAAA,SAAS,EAAE,KAZG;AAadgO,EAAAA,iBAAiB,EAAE,MAbL;AAcdjL,EAAAA,QAAQ,EAAE,cAdI;AAedkL,EAAAA,QAAQ,EAAE,IAfI;AAgBdrB,EAAAA,UAAU,EAAE,IAhBE;AAiBdD,EAAAA,SAAS,EAAE/B,gBAjBG;AAkBd3H,EAAAA,YAAY,EAAE;AAlBA,CAAhB;AAqBA,IAAMnb,OAAK,GAAG;AACZ0mB,EAAAA,IAAI,WAASvd,WADD;AAEZwd,EAAAA,MAAM,aAAWxd,WAFL;AAGZyd,EAAAA,IAAI,WAASzd,WAHD;AAIZ0d,EAAAA,KAAK,YAAU1d,WAJH;AAKZ2d,EAAAA,QAAQ,eAAa3d,WALT;AAMZ4d,EAAAA,KAAK,YAAU5d,WANH;AAOZ6d,EAAAA,OAAO,cAAY7d,WAPP;AAQZ8d,EAAAA,QAAQ,eAAa9d,WART;AASZ+d,EAAAA,UAAU,iBAAe/d,WATb;AAUZge,EAAAA,UAAU,iBAAehe;AAVb,CAAd;AAaA,IAAMkV,iBAAe,GAAG,MAAxB;AACA,IAAM+I,gBAAgB,GAAG,OAAzB;AACA,IAAMxQ,iBAAe,GAAG,MAAxB;AAEA,IAAMyQ,gBAAgB,GAAG,MAAzB;AACA,IAAMC,eAAe,GAAG,KAAxB;AAEA,IAAMC,sBAAsB,GAAG,gBAA/B;AAEA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,aAAa,GAAG,OAAtB;AACA,IAAMC,cAAc,GAAG,QAAvB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,mBAAYhpB,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,QAAI,OAAOib,MAAP,KAAkB,WAAtB,EAAmC;AACjC,YAAM,IAAI7F,SAAJ,CAAc,8DAAd,CAAN;AACD,KAH0B;;;AAM3B,SAAK2R,UAAL,GAAkB,IAAlB;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAK3M,OAAL,GAAe,IAAf,CAV2B;;AAa3B,SAAKzc,OAAL,GAAeA,OAAf;AACA,SAAKkC,MAAL,GAAc,KAAKgR,UAAL,CAAgBhR,MAAhB,CAAd;AACA,SAAKmnB,GAAL,GAAW,IAAX;;AAEA,SAAKC,aAAL;;AACAtkB,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsB,KAAK4d,WAAL,CAAiBtT,QAAvC,EAAiD,IAAjD;AACD;;;;;AAgCD;SAEAif,SAAA,kBAAS;AACP,SAAKN,UAAL,GAAkB,IAAlB;AACD;;SAEDO,UAAA,mBAAU;AACR,SAAKP,UAAL,GAAkB,KAAlB;AACD;;SAEDQ,gBAAA,yBAAgB;AACd,SAAKR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;AACD;;SAEDvc,SAAA,gBAAOrG,KAAP,EAAc;AACZ,QAAI,CAAC,KAAK4iB,UAAV,EAAsB;AACpB;AACD;;AAED,QAAI5iB,KAAJ,EAAW;AACT,UAAMqjB,OAAO,GAAG,KAAK9L,WAAL,CAAiBtT,QAAjC;AACA,UAAImU,OAAO,GAAGzZ,IAAI,CAACG,OAAL,CAAakB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,CAAd;;AAEA,UAAI,CAACjL,OAAL,EAAc;AACZA,QAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRvX,KAAK,CAACC,cADE,EAER,KAAKqjB,kBAAL,EAFQ,CAAV;AAIA3kB,QAAAA,IAAI,CAACC,OAAL,CAAaoB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,EAA4CjL,OAA5C;AACD;;AAEDA,MAAAA,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvB,GAA+B,CAACnL,OAAO,CAAC2K,cAAR,CAAuBQ,KAAvD;;AAEA,UAAInL,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;AAClCpL,QAAAA,OAAO,CAACqL,MAAR,CAAe,IAAf,EAAqBrL,OAArB;AACD,OAFD,MAEO;AACLA,QAAAA,OAAO,CAACsL,MAAR,CAAe,IAAf,EAAqBtL,OAArB;AACD;AACF,KAnBD,MAmBO;AACL,UAAI,KAAKuL,aAAL,GAAqBte,SAArB,CAA+BE,QAA/B,CAAwCoM,iBAAxC,CAAJ,EAA8D;AAC5D,aAAK+R,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;AACA;AACD;;AAED,WAAKD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;AACD;AACF;;SAEDte,UAAA,mBAAU;AACR2J,IAAAA,YAAY,CAAC,KAAK+T,QAAN,CAAZ;AAEAlkB,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAKpF,OAArB,EAA8B,KAAK4d,WAAL,CAAiBtT,QAA/C;AAEA9D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKzG,OAAtB,EAA+B,KAAK4d,WAAL,CAAiBrT,SAAhD;AACA/D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKzG,OAAL,CAAayL,OAAb,OAAyB+c,gBAAzB,CAAjB,EAA+D,eAA/D,EAAgF,KAAKyB,iBAArF;;AAEA,QAAI,KAAKZ,GAAT,EAAc;AACZ,WAAKA,GAAL,CAASpmB,UAAT,CAAoB6I,WAApB,CAAgC,KAAKud,GAArC;AACD;;AAED,SAAKJ,UAAL,GAAkB,IAAlB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACA,SAAKC,cAAL,GAAsB,IAAtB;;AACA,QAAI,KAAK3M,OAAT,EAAkB;AAChB,WAAKA,OAAL,CAAae,OAAb;AACD;;AAED,SAAKf,OAAL,GAAe,IAAf;AACA,SAAKzc,OAAL,GAAe,IAAf;AACA,SAAKkC,MAAL,GAAc,IAAd;AACA,SAAKmnB,GAAL,GAAW,IAAX;AACD;;SAEDlQ,OAAA,gBAAO;AAAA;;AACL,QAAI,KAAKnZ,OAAL,CAAagD,KAAb,CAAmBI,OAAnB,KAA+B,MAAnC,EAA2C;AACzC,YAAM,IAAIP,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,QAAI,KAAKqnB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;AAC3C,UAAM/L,SAAS,GAAG1W,YAAY,CAAC2C,OAAb,CAAqB,KAAKnJ,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBxc,KAAjB,CAAuB4mB,IAA1D,CAAlB;AACA,UAAMmC,UAAU,GAAG7mB,cAAc,CAAC,KAAKtD,OAAN,CAAjC;AACA,UAAMoqB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAKnqB,OAAL,CAAaqqB,aAAb,CAA2B9mB,eAA3B,CAA2CqI,QAA3C,CAAoD,KAAK5L,OAAzD,CADiB,GAEjBmqB,UAAU,CAACve,QAAX,CAAoB,KAAK5L,OAAzB,CAFF;;AAIA,UAAIkd,SAAS,CAACzT,gBAAV,IAA8B,CAAC2gB,UAAnC,EAA+C;AAC7C;AACD;;AAED,UAAMf,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,UAAMM,KAAK,GAAG9qB,MAAM,CAAC,KAAKoe,WAAL,CAAiBxT,IAAlB,CAApB;AAEAif,MAAAA,GAAG,CAAC1c,YAAJ,CAAiB,IAAjB,EAAuB2d,KAAvB;AACA,WAAKtqB,OAAL,CAAa2M,YAAb,CAA0B,kBAA1B,EAA8C2d,KAA9C;AAEA,WAAKC,UAAL;;AAEA,UAAI,KAAKroB,MAAL,CAAY+kB,SAAhB,EAA2B;AACzBoC,QAAAA,GAAG,CAAC3d,SAAJ,CAAc4J,GAAd,CAAkBmK,iBAAlB;AACD;;AAED,UAAM1B,SAAS,GAAG,OAAO,KAAK7b,MAAL,CAAY6b,SAAnB,KAAiC,UAAjC,GAChB,KAAK7b,MAAL,CAAY6b,SAAZ,CAAsB1e,IAAtB,CAA2B,IAA3B,EAAiCgqB,GAAjC,EAAsC,KAAKrpB,OAA3C,CADgB,GAEhB,KAAKkC,MAAL,CAAY6b,SAFd;;AAIA,UAAMyM,UAAU,GAAG,KAAKC,cAAL,CAAoB1M,SAApB,CAAnB;;AACA,WAAK2M,mBAAL,CAAyBF,UAAzB;;AAEA,UAAMlR,SAAS,GAAG,KAAKqR,aAAL,EAAlB;;AACA3lB,MAAAA,IAAI,CAACC,OAAL,CAAaokB,GAAb,EAAkB,KAAKzL,WAAL,CAAiBtT,QAAnC,EAA6C,IAA7C;;AAEA,UAAI,CAAC,KAAKtK,OAAL,CAAaqqB,aAAb,CAA2B9mB,eAA3B,CAA2CqI,QAA3C,CAAoD,KAAKyd,GAAzD,CAAL,EAAoE;AAClE/P,QAAAA,SAAS,CAAC6H,WAAV,CAAsBkI,GAAtB;AACD;;AAED7iB,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAKnJ,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBxc,KAAjB,CAAuB8mB,QAA1D;AAEA,WAAKzL,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAKnd,OAAhB,EAAyBqpB,GAAzB,EAA8B,KAAKhM,gBAAL,CAAsBmN,UAAtB,CAA9B,CAAf;AAEAnB,MAAAA,GAAG,CAAC3d,SAAJ,CAAc4J,GAAd,CAAkB0C,iBAAlB,EAzC2C;AA4C3C;AACA;AACA;;AACA,UAAI,kBAAkBnY,QAAQ,CAAC0D,eAA/B,EAAgD;AAAA;;AAC9C,oBAAGmL,MAAH,aAAa7O,QAAQ,CAACoE,IAAT,CAAc6K,QAA3B,EAAqCxM,OAArC,CAA6C,UAAAtC,OAAO,EAAI;AACtDwG,UAAAA,YAAY,CAACmC,EAAb,CAAgB3I,OAAhB,EAAyB,WAAzB,EAAsC4D,IAAI,EAA1C;AACD,SAFD;AAGD;;AAED,UAAMkW,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,YAAI,KAAI,CAAC5X,MAAL,CAAY+kB,SAAhB,EAA2B;AACzB,UAAA,KAAI,CAAC2D,cAAL;AACD;;AAED,YAAMC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;AACA,QAAA,KAAI,CAACA,WAAL,GAAmB,IAAnB;AAEA3iB,QAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAI,CAACnJ,OAA1B,EAAmC,KAAI,CAAC4d,WAAL,CAAiBxc,KAAjB,CAAuB6mB,KAA1D;;AAEA,YAAI4C,cAAc,KAAKnC,eAAvB,EAAwC;AACtC,UAAA,KAAI,CAACqB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;AACD;AACF,OAbD;;AAeA,UAAI,KAAKV,GAAL,CAAS3d,SAAT,CAAmBE,QAAnB,CAA4B6T,iBAA5B,CAAJ,EAAkD;AAChD,YAAM9e,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK6oB,GAAN,CAA3D;AACA7iB,QAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKygB,GAAtB,EAA2BrqB,cAA3B,EAA2C8a,QAA3C;AACAvY,QAAAA,oBAAoB,CAAC,KAAK8nB,GAAN,EAAW1oB,kBAAX,CAApB;AACD,OAJD,MAIO;AACLmZ,QAAAA,QAAQ;AACT;AACF;AACF;;SAEDZ,OAAA,gBAAO;AAAA;;AACL,QAAI,CAAC,KAAKuD,OAAV,EAAmB;AACjB;AACD;;AAED,QAAM4M,GAAG,GAAG,KAAKW,aAAL,EAAZ;;AACA,QAAMlQ,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,UAAI,MAAI,CAACqP,WAAL,KAAqBV,gBAArB,IAAyCY,GAAG,CAACpmB,UAAjD,EAA6D;AAC3DomB,QAAAA,GAAG,CAACpmB,UAAJ,CAAe6I,WAAf,CAA2Bud,GAA3B;AACD;;AAED,MAAA,MAAI,CAACyB,cAAL;;AACA,MAAA,MAAI,CAAC9qB,OAAL,CAAaoN,eAAb,CAA6B,kBAA7B;;AACA5G,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAACnJ,OAA1B,EAAmC,MAAI,CAAC4d,WAAL,CAAiBxc,KAAjB,CAAuB2mB,MAA1D;;AACA,MAAA,MAAI,CAACtL,OAAL,CAAae,OAAb;AACD,KATD;;AAWA,QAAMD,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqB,KAAKnJ,OAA1B,EAAmC,KAAK4d,WAAL,CAAiBxc,KAAjB,CAAuB0mB,IAA1D,CAAlB;;AACA,QAAIvK,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD;;AAED4f,IAAAA,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqBqM,iBAArB,EAtBK;AAyBL;;AACA,QAAI,kBAAkBnY,QAAQ,CAAC0D,eAA/B,EAAgD;AAAA;;AAC9C,mBAAGmL,MAAH,cAAa7O,QAAQ,CAACoE,IAAT,CAAc6K,QAA3B,EACGxM,OADH,CACW,UAAAtC,OAAO;AAAA,eAAIwG,YAAY,CAACC,GAAb,CAAiBzG,OAAjB,EAA0B,WAA1B,EAAuC4D,IAAvC,CAAJ;AAAA,OADlB;AAED;;AAED,SAAKwlB,cAAL,CAAoBN,aAApB,IAAqC,KAArC;AACA,SAAKM,cAAL,CAAoBP,aAApB,IAAqC,KAArC;AACA,SAAKO,cAAL,CAAoBR,aAApB,IAAqC,KAArC;;AAEA,QAAI,KAAKS,GAAL,CAAS3d,SAAT,CAAmBE,QAAnB,CAA4B6T,iBAA5B,CAAJ,EAAkD;AAChD,UAAM9e,kBAAkB,GAAGH,gCAAgC,CAAC6oB,GAAD,CAA3D;AAEA7iB,MAAAA,YAAY,CAACoC,GAAb,CAAiBygB,GAAjB,EAAsBrqB,cAAtB,EAAsC8a,QAAtC;AACAvY,MAAAA,oBAAoB,CAAC8nB,GAAD,EAAM1oB,kBAAN,CAApB;AACD,KALD,MAKO;AACLmZ,MAAAA,QAAQ;AACT;;AAED,SAAKqP,WAAL,GAAmB,EAAnB;AACD;;SAED1L,SAAA,kBAAS;AACP,QAAI,KAAKhB,OAAL,KAAiB,IAArB,EAA2B;AACzB,WAAKA,OAAL,CAAaiB,cAAb;AACD;AACF;;;SAIDwM,gBAAA,yBAAgB;AACd,WAAO7hB,OAAO,CAAC,KAAK0iB,QAAL,EAAD,CAAd;AACD;;SAEDf,gBAAA,yBAAgB;AACd,QAAI,KAAKX,GAAT,EAAc;AACZ,aAAO,KAAKA,GAAZ;AACD;;AAED,QAAMrpB,OAAO,GAAGH,QAAQ,CAAC8hB,aAAT,CAAuB,KAAvB,CAAhB;AACA3hB,IAAAA,OAAO,CAAC6mB,SAAR,GAAoB,KAAK3kB,MAAL,CAAYglB,QAAhC;AAEA,SAAKmC,GAAL,GAAWrpB,OAAO,CAAC8O,QAAR,CAAiB,CAAjB,CAAX;AACA,WAAO,KAAKua,GAAZ;AACD;;SAEDkB,aAAA,sBAAa;AACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,SAAKgB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB8Z,sBAAvB,EAA+CU,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;AACA1B,IAAAA,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqB8T,iBAArB,EAAsCzH,iBAAtC;AACD;;SAEDgT,oBAAA,2BAAkBhrB,OAAlB,EAA2BirB,OAA3B,EAAoC;AAClC,QAAIjrB,OAAO,KAAK,IAAhB,EAAsB;AACpB;AACD;;AAED,QAAI,OAAOirB,OAAP,KAAmB,QAAnB,IAA+B5pB,SAAS,CAAC4pB,OAAD,CAA5C,EAAuD;AACrD,UAAIA,OAAO,CAAC9Q,MAAZ,EAAoB;AAClB8Q,QAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;AACD,OAHoD;;;AAMrD,UAAI,KAAK/oB,MAAL,CAAYmlB,IAAhB,EAAsB;AACpB,YAAI4D,OAAO,CAAChoB,UAAR,KAAuBjD,OAA3B,EAAoC;AAClCA,UAAAA,OAAO,CAAC6mB,SAAR,GAAoB,EAApB;AACA7mB,UAAAA,OAAO,CAACmhB,WAAR,CAAoB8J,OAApB;AACD;AACF,OALD,MAKO;AACLjrB,QAAAA,OAAO,CAACkrB,WAAR,GAAsBD,OAAO,CAACC,WAA9B;AACD;;AAED;AACD;;AAED,QAAI,KAAKhpB,MAAL,CAAYmlB,IAAhB,EAAsB;AACpB,UAAI,KAAKnlB,MAAL,CAAYqlB,QAAhB,EAA0B;AACxB0D,QAAAA,OAAO,GAAGlF,YAAY,CAACkF,OAAD,EAAU,KAAK/oB,MAAL,CAAY+jB,SAAtB,EAAiC,KAAK/jB,MAAL,CAAYgkB,UAA7C,CAAtB;AACD;;AAEDlmB,MAAAA,OAAO,CAAC6mB,SAAR,GAAoBoE,OAApB;AACD,KAND,MAMO;AACLjrB,MAAAA,OAAO,CAACkrB,WAAR,GAAsBD,OAAtB;AACD;AACF;;SAEDF,WAAA,oBAAW;AACT,QAAI5D,KAAK,GAAG,KAAKnnB,OAAL,CAAaE,YAAb,CAA0B,wBAA1B,CAAZ;;AAEA,QAAI,CAACinB,KAAL,EAAY;AACVA,MAAAA,KAAK,GAAG,OAAO,KAAKjlB,MAAL,CAAYilB,KAAnB,KAA6B,UAA7B,GACN,KAAKjlB,MAAL,CAAYilB,KAAZ,CAAkB9nB,IAAlB,CAAuB,KAAKW,OAA5B,CADM,GAEN,KAAKkC,MAAL,CAAYilB,KAFd;AAGD;;AAED,WAAOA,KAAP;AACD;;;SAID9J,mBAAA,0BAAiBmN,UAAjB,EAA6B;AAAA;;AAC3B,QAAMW,eAAe,GAAG;AACtBpN,MAAAA,SAAS,EAAEyM,UADW;AAEtBtM,MAAAA,SAAS,EAAE;AACTtQ,QAAAA,MAAM,EAAE,KAAKoQ,UAAL,EADC;AAET5B,QAAAA,IAAI,EAAE;AACJgP,UAAAA,QAAQ,EAAE,KAAKlpB,MAAL,CAAYolB;AADlB,SAFG;AAKT+D,QAAAA,KAAK,EAAE;AACLrrB,UAAAA,OAAO,QAAM,KAAK4d,WAAL,CAAiBxT,IAAvB;AADF,SALE;AAQTgU,QAAAA,eAAe,EAAE;AACfC,UAAAA,iBAAiB,EAAE,KAAKnc,MAAL,CAAYma;AADhB;AARR,OAFW;AActBiP,MAAAA,QAAQ,EAAE,kBAAA3mB,IAAI,EAAI;AAChB,YAAIA,IAAI,CAAC4mB,iBAAL,KAA2B5mB,IAAI,CAACoZ,SAApC,EAA+C;AAC7C,UAAA,MAAI,CAACyN,4BAAL,CAAkC7mB,IAAlC;AACD;AACF,OAlBqB;AAmBtB8mB,MAAAA,QAAQ,EAAE,kBAAA9mB,IAAI;AAAA,eAAI,MAAI,CAAC6mB,4BAAL,CAAkC7mB,IAAlC,CAAJ;AAAA;AAnBQ,KAAxB;AAsBA,wBACKwmB,eADL,EAEK,KAAKjpB,MAAL,CAAYqa,YAFjB;AAID;;SAEDmO,sBAAA,6BAAoBF,UAApB,EAAgC;AAC9B,SAAKR,aAAL,GAAqBte,SAArB,CAA+B4J,GAA/B,CAAsCwR,YAAtC,SAAsD0D,UAAtD;AACD;;SAEDxM,aAAA,sBAAa;AAAA;;AACX,QAAMpQ,MAAM,GAAG,EAAf;;AAEA,QAAI,OAAO,KAAK1L,MAAL,CAAY0L,MAAnB,KAA8B,UAAlC,EAA8C;AAC5CA,MAAAA,MAAM,CAACzH,EAAP,GAAY,UAAAxB,IAAI,EAAI;AAClBA,QAAAA,IAAI,CAACsZ,OAAL,gBACKtZ,IAAI,CAACsZ,OADV,EAEM,MAAI,CAAC/b,MAAL,CAAY0L,MAAZ,CAAmBjJ,IAAI,CAACsZ,OAAxB,EAAiC,MAAI,CAACje,OAAtC,KAAkD,EAFxD;AAKA,eAAO2E,IAAP;AACD,OAPD;AAQD,KATD,MASO;AACLiJ,MAAAA,MAAM,CAACA,MAAP,GAAgB,KAAK1L,MAAL,CAAY0L,MAA5B;AACD;;AAED,WAAOA,MAAP;AACD;;SAED+c,gBAAA,yBAAgB;AACd,QAAI,KAAKzoB,MAAL,CAAYoX,SAAZ,KAA0B,KAA9B,EAAqC;AACnC,aAAOzZ,QAAQ,CAACoE,IAAhB;AACD;;AAED,QAAI5C,SAAS,CAAC,KAAKa,MAAL,CAAYoX,SAAb,CAAb,EAAsC;AACpC,aAAO,KAAKpX,MAAL,CAAYoX,SAAnB;AACD;;AAED,WAAO/K,cAAc,CAACM,OAAf,CAAuB,KAAK3M,MAAL,CAAYoX,SAAnC,CAAP;AACD;;SAEDmR,iBAAA,wBAAe1M,SAAf,EAA0B;AACxB,WAAOyJ,aAAa,CAACzJ,SAAS,CAACjb,WAAV,EAAD,CAApB;AACD;;SAEDwmB,gBAAA,yBAAgB;AAAA;;AACd,QAAMoC,QAAQ,GAAG,KAAKxpB,MAAL,CAAYiH,OAAZ,CAAoBlI,KAApB,CAA0B,GAA1B,CAAjB;AAEAyqB,IAAAA,QAAQ,CAACppB,OAAT,CAAiB,UAAA6G,OAAO,EAAI;AAC1B,UAAIA,OAAO,KAAK,OAAhB,EAAyB;AACvB3C,QAAAA,YAAY,CAACmC,EAAb,CAAgB,MAAI,CAAC3I,OAArB,EACE,MAAI,CAAC4d,WAAL,CAAiBxc,KAAjB,CAAuB+mB,KADzB,EAEE,MAAI,CAACjmB,MAAL,CAAYjC,QAFd,EAGE,UAAAoG,KAAK;AAAA,iBAAI,MAAI,CAACqG,MAAL,CAAYrG,KAAZ,CAAJ;AAAA,SAHP;AAKD,OAND,MAMO,IAAI8C,OAAO,KAAK4f,cAAhB,EAAgC;AACrC,YAAM4C,OAAO,GAAGxiB,OAAO,KAAKyf,aAAZ,GACd,MAAI,CAAChL,WAAL,CAAiBxc,KAAjB,CAAuBknB,UADT,GAEd,MAAI,CAAC1K,WAAL,CAAiBxc,KAAjB,CAAuBgnB,OAFzB;AAGA,YAAMwD,QAAQ,GAAGziB,OAAO,KAAKyf,aAAZ,GACf,MAAI,CAAChL,WAAL,CAAiBxc,KAAjB,CAAuBmnB,UADR,GAEf,MAAI,CAAC3K,WAAL,CAAiBxc,KAAjB,CAAuBinB,QAFzB;AAIA7hB,QAAAA,YAAY,CAACmC,EAAb,CAAgB,MAAI,CAAC3I,OAArB,EACE2rB,OADF,EAEE,MAAI,CAACzpB,MAAL,CAAYjC,QAFd,EAGE,UAAAoG,KAAK;AAAA,iBAAI,MAAI,CAACyjB,MAAL,CAAYzjB,KAAZ,CAAJ;AAAA,SAHP;AAKAG,QAAAA,YAAY,CAACmC,EAAb,CAAgB,MAAI,CAAC3I,OAArB,EACE4rB,QADF,EAEE,MAAI,CAAC1pB,MAAL,CAAYjC,QAFd,EAGE,UAAAoG,KAAK;AAAA,iBAAI,MAAI,CAAC0jB,MAAL,CAAY1jB,KAAZ,CAAJ;AAAA,SAHP;AAKD;AACF,KA1BD;;AA4BA,SAAK4jB,iBAAL,GAAyB,YAAM;AAC7B,UAAI,MAAI,CAACjqB,OAAT,EAAkB;AAChB,QAAA,MAAI,CAACkZ,IAAL;AACD;AACF,KAJD;;AAMA1S,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAK3I,OAAL,CAAayL,OAAb,OAAyB+c,gBAAzB,CAAhB,EACE,eADF,EAEE,KAAKyB,iBAFP;;AAKA,QAAI,KAAK/nB,MAAL,CAAYjC,QAAhB,EAA0B;AACxB,WAAKiC,MAAL,gBACK,KAAKA,MADV;AAEEiH,QAAAA,OAAO,EAAE,QAFX;AAGElJ,QAAAA,QAAQ,EAAE;AAHZ;AAKD,KAND,MAMO;AACL,WAAK4rB,SAAL;AACD;AACF;;SAEDA,YAAA,qBAAY;AACV,QAAM1E,KAAK,GAAG,KAAKnnB,OAAL,CAAaE,YAAb,CAA0B,OAA1B,CAAd;AACA,QAAM4rB,iBAAiB,GAAG,OAAO,KAAK9rB,OAAL,CAAaE,YAAb,CAA0B,wBAA1B,CAAjC;;AAEA,QAAIinB,KAAK,IAAI2E,iBAAiB,KAAK,QAAnC,EAA6C;AAC3C,WAAK9rB,OAAL,CAAa2M,YAAb,CAA0B,wBAA1B,EAAoDwa,KAAK,IAAI,EAA7D;AACA,WAAKnnB,OAAL,CAAa2M,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;AACD;AACF;;SAEDmd,SAAA,gBAAOzjB,KAAP,EAAcoY,OAAd,EAAuB;AACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiBtT,QAAjC;AACAmU,IAAAA,OAAO,GAAGA,OAAO,IAAIzZ,IAAI,CAACG,OAAL,CAAakB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,CAArB;;AAEA,QAAI,CAACjL,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRvX,KAAK,CAACC,cADE,EAER,KAAKqjB,kBAAL,EAFQ,CAAV;AAIA3kB,MAAAA,IAAI,CAACC,OAAL,CAAaoB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,EAA4CjL,OAA5C;AACD;;AAED,QAAIpY,KAAJ,EAAW;AACToY,MAAAA,OAAO,CAAC2K,cAAR,CACE/iB,KAAK,CAACK,IAAN,KAAe,SAAf,GAA2BmiB,aAA3B,GAA2CD,aAD7C,IAEI,IAFJ;AAGD;;AAED,QAAInK,OAAO,CAACuL,aAAR,GAAwBte,SAAxB,CAAkCE,QAAlC,CAA2CoM,iBAA3C,KACAyG,OAAO,CAAC0K,WAAR,KAAwBV,gBAD5B,EAC8C;AAC5ChK,MAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;AACA;AACD;;AAEDtT,IAAAA,YAAY,CAACsJ,OAAO,CAACyK,QAAT,CAAZ;AAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBV,gBAAtB;;AAEA,QAAI,CAAChK,OAAO,CAACvc,MAAR,CAAeklB,KAAhB,IAAyB,CAAC3I,OAAO,CAACvc,MAAR,CAAeklB,KAAf,CAAqBjO,IAAnD,EAAyD;AACvDsF,MAAAA,OAAO,CAACtF,IAAR;AACA;AACD;;AAEDsF,IAAAA,OAAO,CAACyK,QAAR,GAAmBnnB,UAAU,CAAC,YAAM;AAClC,UAAI0c,OAAO,CAAC0K,WAAR,KAAwBV,gBAA5B,EAA8C;AAC5ChK,QAAAA,OAAO,CAACtF,IAAR;AACD;AACF,KAJ4B,EAI1BsF,OAAO,CAACvc,MAAR,CAAeklB,KAAf,CAAqBjO,IAJK,CAA7B;AAKD;;SAED4Q,SAAA,gBAAO1jB,KAAP,EAAcoY,OAAd,EAAuB;AACrB,QAAMiL,OAAO,GAAG,KAAK9L,WAAL,CAAiBtT,QAAjC;AACAmU,IAAAA,OAAO,GAAGA,OAAO,IAAIzZ,IAAI,CAACG,OAAL,CAAakB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,CAArB;;AAEA,QAAI,CAACjL,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACRvX,KAAK,CAACC,cADE,EAER,KAAKqjB,kBAAL,EAFQ,CAAV;AAIA3kB,MAAAA,IAAI,CAACC,OAAL,CAAaoB,KAAK,CAACC,cAAnB,EAAmCojB,OAAnC,EAA4CjL,OAA5C;AACD;;AAED,QAAIpY,KAAJ,EAAW;AACToY,MAAAA,OAAO,CAAC2K,cAAR,CACE/iB,KAAK,CAACK,IAAN,KAAe,UAAf,GAA4BmiB,aAA5B,GAA4CD,aAD9C,IAEI,KAFJ;AAGD;;AAED,QAAInK,OAAO,CAACoL,oBAAR,EAAJ,EAAoC;AAClC;AACD;;AAED1U,IAAAA,YAAY,CAACsJ,OAAO,CAACyK,QAAT,CAAZ;AAEAzK,IAAAA,OAAO,CAAC0K,WAAR,GAAsBT,eAAtB;;AAEA,QAAI,CAACjK,OAAO,CAACvc,MAAR,CAAeklB,KAAhB,IAAyB,CAAC3I,OAAO,CAACvc,MAAR,CAAeklB,KAAf,CAAqBlO,IAAnD,EAAyD;AACvDuF,MAAAA,OAAO,CAACvF,IAAR;AACA;AACD;;AAEDuF,IAAAA,OAAO,CAACyK,QAAR,GAAmBnnB,UAAU,CAAC,YAAM;AAClC,UAAI0c,OAAO,CAAC0K,WAAR,KAAwBT,eAA5B,EAA6C;AAC3CjK,QAAAA,OAAO,CAACvF,IAAR;AACD;AACF,KAJ4B,EAI1BuF,OAAO,CAACvc,MAAR,CAAeklB,KAAf,CAAqBlO,IAJK,CAA7B;AAKD;;SAED2Q,uBAAA,gCAAuB;AACrB,SAAK,IAAM1gB,OAAX,IAAsB,KAAKigB,cAA3B,EAA2C;AACzC,UAAI,KAAKA,cAAL,CAAoBjgB,OAApB,CAAJ,EAAkC;AAChC,eAAO,IAAP;AACD;AACF;;AAED,WAAO,KAAP;AACD;;SAED+J,aAAA,oBAAWhR,MAAX,EAAmB;AACjB,QAAM6pB,cAAc,GAAG9e,WAAW,CAACI,iBAAZ,CAA8B,KAAKrN,OAAnC,CAAvB;AAEAoC,IAAAA,MAAM,CAACC,IAAP,CAAY0pB,cAAZ,EAA4BzpB,OAA5B,CAAoC,UAAA0pB,QAAQ,EAAI;AAC9C,UAAIhF,qBAAqB,CAAChf,GAAtB,CAA0BgkB,QAA1B,CAAJ,EAAyC;AACvC,eAAOD,cAAc,CAACC,QAAD,CAArB;AACD;AACF,KAJD;;AAMA,QAAI9pB,MAAM,IAAI,OAAOA,MAAM,CAACoX,SAAd,KAA4B,QAAtC,IAAkDpX,MAAM,CAACoX,SAAP,CAAiBa,MAAvE,EAA+E;AAC7EjY,MAAAA,MAAM,CAACoX,SAAP,GAAmBpX,MAAM,CAACoX,SAAP,CAAiB,CAAjB,CAAnB;AACD;;AAEDpX,IAAAA,MAAM,gBACD,KAAK0b,WAAL,CAAiB9N,OADhB,EAEDic,cAFC,EAGA,OAAO7pB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;;AAMA,QAAI,OAAOA,MAAM,CAACklB,KAAd,KAAwB,QAA5B,EAAsC;AACpCllB,MAAAA,MAAM,CAACklB,KAAP,GAAe;AACbjO,QAAAA,IAAI,EAAEjX,MAAM,CAACklB,KADA;AAEblO,QAAAA,IAAI,EAAEhX,MAAM,CAACklB;AAFA,OAAf;AAID;;AAED,QAAI,OAAOllB,MAAM,CAACilB,KAAd,KAAwB,QAA5B,EAAsC;AACpCjlB,MAAAA,MAAM,CAACilB,KAAP,GAAejlB,MAAM,CAACilB,KAAP,CAAa/nB,QAAb,EAAf;AACD;;AAED,QAAI,OAAO8C,MAAM,CAAC+oB,OAAd,KAA0B,QAA9B,EAAwC;AACtC/oB,MAAAA,MAAM,CAAC+oB,OAAP,GAAiB/oB,MAAM,CAAC+oB,OAAP,CAAe7rB,QAAf,EAAjB;AACD;;AAED4C,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAe,KAAK0b,WAAL,CAAiBvN,WAAhC,CAAf;;AAEA,QAAInO,MAAM,CAACqlB,QAAX,EAAqB;AACnBrlB,MAAAA,MAAM,CAACglB,QAAP,GAAkBnB,YAAY,CAAC7jB,MAAM,CAACglB,QAAR,EAAkBhlB,MAAM,CAAC+jB,SAAzB,EAAoC/jB,MAAM,CAACgkB,UAA3C,CAA9B;AACD;;AAED,WAAOhkB,MAAP;AACD;;SAEDynB,qBAAA,8BAAqB;AACnB,QAAMznB,MAAM,GAAG,EAAf;;AAEA,QAAI,KAAKA,MAAT,EAAiB;AACf,WAAK,IAAMwC,GAAX,IAAkB,KAAKxC,MAAvB,EAA+B;AAC7B,YAAI,KAAK0b,WAAL,CAAiB9N,OAAjB,CAAyBpL,GAAzB,MAAkC,KAAKxC,MAAL,CAAYwC,GAAZ,CAAtC,EAAwD;AACtDxC,UAAAA,MAAM,CAACwC,GAAD,CAAN,GAAc,KAAKxC,MAAL,CAAYwC,GAAZ,CAAd;AACD;AACF;AACF;;AAED,WAAOxC,MAAP;AACD;;SAED4oB,iBAAA,0BAAiB;AACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAACnpB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgCynB,kBAAhC,CAAjB;;AACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAChlB,MAAT,GAAkB,CAA3C,EAA8C;AAC5CglB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;AAAA,eAAIA,KAAK,CAAC/rB,IAAN,EAAJ;AAAA,OAAlB,EACGkC,OADH,CACW,UAAA8pB,MAAM;AAAA,eAAI/C,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqBygB,MAArB,CAAJ;AAAA,OADjB;AAED;AACF;;SAEDZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;AACvC,SAAKhD,GAAL,GAAWgD,UAAU,CAACnnB,QAAX,CAAoBonB,MAA/B;;AACA,SAAKxB,cAAL;;AACA,SAAKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB4B,UAAU,CAACtO,SAA/B,CAAzB;AACD;;SAED6M,iBAAA,0BAAiB;AACf,QAAMvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMuC,mBAAmB,GAAG,KAAKrqB,MAAL,CAAY+kB,SAAxC;;AACA,QAAIoC,GAAG,CAACnpB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;AAC5C;AACD;;AAEDmpB,IAAAA,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqB8T,iBAArB;AACA,SAAKvd,MAAL,CAAY+kB,SAAZ,GAAwB,KAAxB;AACA,SAAK/N,IAAL;AACA,SAAKC,IAAL;AACA,SAAKjX,MAAL,CAAY+kB,SAAZ,GAAwBsF,mBAAxB;AACD;;;UAIMxgB,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AACA,UAAM2I,OAAO,GAAG,OAAO/Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAD,IAAS,eAAe/B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;AACxC;AACD;;AAED,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAIqkB,OAAJ,CAAY,IAAZ,EAAkB/V,OAAlB,CAAP;AACD;;AAED,UAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAnBM,CAAP;AAoBD;;UAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBAloBoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;wBAEiB;AAChB,aAAO1F,MAAP;AACD;;;wBAEqB;AACpB,aAAOE,UAAP;AACD;;;wBAEkB;AACjB,aAAOlJ,OAAP;AACD;;;wBAEsB;AACrB,aAAOmJ,WAAP;AACD;;;wBAEwB;AACvB,aAAO8F,aAAP;AACD;;;;;AA2mBH;AACA;AACA;AACA;AACA;AACA;;;AAEAlM,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAa4e,OAAO,CAACjd,eAArB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyB2c,OAAzB;;AACA3f,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAO4c,OAAO,CAACjd,eAAf;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACpxBA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMwc,cAAY,GAAG,YAArB;AACA,IAAMC,oBAAkB,GAAG,IAAIpkB,MAAJ,aAAqBmkB,cAArB,WAAyC,GAAzC,CAA3B;;AAEA,IAAMhX,SAAO,gBACRkZ,OAAO,CAAClZ,OADA;AAEXiO,EAAAA,SAAS,EAAE,OAFA;AAGX5U,EAAAA,OAAO,EAAE,OAHE;AAIX8hB,EAAAA,OAAO,EAAE,EAJE;AAKX/D,EAAAA,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;AARD,EAAb;;AAWA,IAAM7W,aAAW,gBACZ2Y,OAAO,CAAC3Y,WADI;AAEf4a,EAAAA,OAAO,EAAE;AAFM,EAAjB;;AAKA,IAAM7pB,OAAK,GAAG;AACZ0mB,EAAAA,IAAI,WAASvd,WADD;AAEZwd,EAAAA,MAAM,aAAWxd,WAFL;AAGZyd,EAAAA,IAAI,WAASzd,WAHD;AAIZ0d,EAAAA,KAAK,YAAU1d,WAJH;AAKZ2d,EAAAA,QAAQ,eAAa3d,WALT;AAMZ4d,EAAAA,KAAK,YAAU5d,WANH;AAOZ6d,EAAAA,OAAO,cAAY7d,WAPP;AAQZ8d,EAAAA,QAAQ,eAAa9d,WART;AASZ+d,EAAAA,UAAU,iBAAe/d,WATb;AAUZge,EAAAA,UAAU,iBAAehe;AAVb,CAAd;AAaA,IAAMkV,iBAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AAEA,IAAMwU,cAAc,GAAG,iBAAvB;AACA,IAAMC,gBAAgB,GAAG,eAAzB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;;;;;;;;;AA+BJ;SAEAxC,gBAAA,yBAAgB;AACd,WAAO,KAAKa,QAAL,MAAmB,KAAK4B,WAAL,EAA1B;AACD;;SAEDpC,aAAA,sBAAa;AACX,QAAMlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;AAIX,SAAKgB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB2d,cAAvB,EAAuCnD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;AACA,QAAIE,OAAO,GAAG,KAAK0B,WAAL,EAAd;;AACA,QAAI,OAAO1B,OAAP,KAAmB,UAAvB,EAAmC;AACjCA,MAAAA,OAAO,GAAGA,OAAO,CAAC5rB,IAAR,CAAa,KAAKW,OAAlB,CAAV;AACD;;AAED,SAAKgrB,iBAAL,CAAuBzc,cAAc,CAACM,OAAf,CAAuB4d,gBAAvB,EAAyCpD,GAAzC,CAAvB,EAAsE4B,OAAtE;AAEA5B,IAAAA,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqB8T,iBAArB,EAAsCzH,iBAAtC;AACD;;;SAID0S,sBAAA,6BAAoBF,UAApB,EAAgC;AAC9B,SAAKR,aAAL,GAAqBte,SAArB,CAA+B4J,GAA/B,CAAsCwR,cAAtC,SAAsD0D,UAAtD;AACD;;SAEDmC,cAAA,uBAAc;AACZ,WAAO,KAAK3sB,OAAL,CAAaE,YAAb,CAA0B,iBAA1B,KACL,KAAKgC,MAAL,CAAY+oB,OADd;AAED;;SAEDH,iBAAA,0BAAiB;AACf,QAAMzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;AACA,QAAMiC,QAAQ,GAAG5C,GAAG,CAACnpB,YAAJ,CAAiB,OAAjB,EAA0BZ,KAA1B,CAAgCynB,oBAAhC,CAAjB;;AACA,QAAIkF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAChlB,MAAT,GAAkB,CAA3C,EAA8C;AAC5CglB,MAAAA,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;AAAA,eAAIA,KAAK,CAAC/rB,IAAN,EAAJ;AAAA,OAAlB,EACGkC,OADH,CACW,UAAA8pB,MAAM;AAAA,eAAI/C,GAAG,CAAC3d,SAAJ,CAAcC,MAAd,CAAqBygB,MAArB,CAAJ;AAAA,OADjB;AAED;AACF;;;UAIMrgB,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AACA,UAAM2I,OAAO,GAAG,OAAO/Q,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;AAEA,UAAI,CAACyC,IAAD,IAAS,eAAe/B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;AACxC;AACD;;AAED,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI+nB,OAAJ,CAAY,IAAZ,EAAkBzZ,OAAlB,CAAP;AACAjO,QAAAA,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmBqF,UAAnB,EAA6B3F,IAA7B;AACD;;AAED,UAAI,OAAOzC,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KApBM,CAAP;AAqBD;;UAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;AAnGD;wBAEqB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;wBAEiB;AAChB,aAAO1F,MAAP;AACD;;;wBAEqB;AACpB,aAAOE,UAAP;AACD;;;wBAEkB;AACjB,aAAOlJ,OAAP;AACD;;;wBAEsB;AACrB,aAAOmJ,WAAP;AACD;;;wBAEwB;AACvB,aAAO8F,aAAP;AACD;;;;EA7BmB2Y;AAuGtB;AACA;AACA;AACA;AACA;AACA;;;AAEA7kB,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAasiB,OAAO,CAAC3gB,eAArB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBqgB,OAAzB;;AACArjB,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOsgB,OAAO,CAAC3gB,eAAf;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;AC5JA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,WAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,cAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMsF,SAAO,GAAG;AACdlC,EAAAA,MAAM,EAAE,EADM;AAEdgf,EAAAA,MAAM,EAAE,MAFM;AAGd7lB,EAAAA,MAAM,EAAE;AAHM,CAAhB;AAMA,IAAMsJ,aAAW,GAAG;AAClBzC,EAAAA,MAAM,EAAE,QADU;AAElBgf,EAAAA,MAAM,EAAE,QAFU;AAGlB7lB,EAAAA,MAAM,EAAE;AAHU,CAApB;AAMA,IAAM8lB,cAAc,gBAActiB,WAAlC;AACA,IAAMuiB,YAAY,cAAYviB,WAA9B;AACA,IAAM8G,qBAAmB,YAAU9G,WAAV,GAAsBC,cAA/C;AAEA,IAAMuiB,wBAAwB,GAAG,eAAjC;AACA,IAAMxgB,mBAAiB,GAAG,QAA1B;AAEA,IAAMygB,iBAAiB,GAAG,wBAA1B;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA,IAAMC,mBAAmB,GAAG,kBAA5B;AACA,IAAMC,iBAAiB,GAAG,WAA1B;AACA,IAAMC,wBAAwB,GAAG,kBAAjC;AAEA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,eAAe,GAAG,UAAxB;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,qBAAYztB,OAAZ,EAAqBkC,MAArB,EAA6B;AAAA;;AAC3B,SAAK+I,QAAL,GAAgBjL,OAAhB;AACA,SAAK0tB,cAAL,GAAsB1tB,OAAO,CAACuV,OAAR,KAAoB,MAApB,GAA6B9U,MAA7B,GAAsCT,OAA5D;AACA,SAAKiT,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAK4W,SAAL,GAAoB,KAAK7F,OAAL,CAAalM,MAAjC,SAA2CmmB,kBAA3C,UAAkE,KAAKja,OAAL,CAAalM,MAA/E,SAAyFqmB,mBAAzF,UAAiH,KAAKna,OAAL,CAAalM,MAA9H,UAAyIgmB,wBAAzI;AACA,SAAKY,QAAL,GAAgB,EAAhB;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACA,SAAKC,aAAL,GAAqB,CAArB;AAEAtnB,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAK+kB,cAArB,EAAqCZ,YAArC,EAAmD,UAAAzmB,KAAK;AAAA,aAAI,KAAI,CAAC0nB,QAAL,CAAc1nB,KAAd,CAAJ;AAAA,KAAxD;AAEA,SAAK2nB,OAAL;;AACA,SAAKD,QAAL;;AAEA/oB,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAYD;SAEA0jB,UAAA,mBAAU;AAAA;;AACR,QAAMC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoBjtB,MAA5C,GACjB8sB,aADiB,GAEjBC,eAFF;AAIA,QAAMU,YAAY,GAAG,KAAKjb,OAAL,CAAa2Z,MAAb,KAAwB,MAAxB,GACnBqB,UADmB,GAEnB,KAAKhb,OAAL,CAAa2Z,MAFf;AAIA,QAAMuB,UAAU,GAAGD,YAAY,KAAKV,eAAjB,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;AAIA,SAAKT,QAAL,GAAgB,EAAhB;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;AAEA,QAAMC,OAAO,GAAG/f,cAAc,CAACE,IAAf,CAAoB,KAAKqK,SAAzB,CAAhB;AAEAwV,IAAAA,OAAO,CAACpC,GAAR,CAAY,UAAAlsB,OAAO,EAAI;AACrB,UAAMuuB,cAAc,GAAGluB,sBAAsB,CAACL,OAAD,CAA7C;AACA,UAAM+G,MAAM,GAAGwnB,cAAc,GAAGhgB,cAAc,CAACM,OAAf,CAAuB0f,cAAvB,CAAH,GAA4C,IAAzE;;AAEA,UAAIxnB,MAAJ,EAAY;AACV,YAAMynB,SAAS,GAAGznB,MAAM,CAAC+G,qBAAP,EAAlB;;AACA,YAAI0gB,SAAS,CAACpL,KAAV,IAAmBoL,SAAS,CAACC,MAAjC,EAAyC;AACvC,iBAAO,CACLxhB,WAAW,CAACihB,YAAD,CAAX,CAA0BnnB,MAA1B,EAAkCgH,GAAlC,GAAwCogB,UADnC,EAELI,cAFK,CAAP;AAID;AACF;;AAED,aAAO,IAAP;AACD,KAfD,EAgBG/gB,MAhBH,CAgBU,UAAAkhB,IAAI;AAAA,aAAIA,IAAJ;AAAA,KAhBd,EAiBGC,IAjBH,CAiBQ,UAACxK,CAAD,EAAIE,CAAJ;AAAA,aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;AAAA,KAjBR,EAkBG/hB,OAlBH,CAkBW,UAAAosB,IAAI,EAAI;AACf,MAAA,MAAI,CAACf,QAAL,CAAcve,IAAd,CAAmBsf,IAAI,CAAC,CAAD,CAAvB;;AACA,MAAA,MAAI,CAACd,QAAL,CAAcxe,IAAd,CAAmBsf,IAAI,CAAC,CAAD,CAAvB;AACD,KArBH;AAsBD;;SAEDljB,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AACA9D,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKinB,cAAtB,EAAsCnjB,WAAtC;AAEA,SAAKU,QAAL,GAAgB,IAAhB;AACA,SAAKyiB,cAAL,GAAsB,IAAtB;AACA,SAAKza,OAAL,GAAe,IAAf;AACA,SAAK6F,SAAL,GAAiB,IAAjB;AACA,SAAK6U,QAAL,GAAgB,IAAhB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACA,SAAKC,aAAL,GAAqB,IAArB;AACD;;;SAID5a,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD4N,SADC,EAEA,OAAO5N,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAFhD,CAAN;;AAKA,QAAI,OAAOA,MAAM,CAAC6E,MAAd,KAAyB,QAAzB,IAAqC1F,SAAS,CAACa,MAAM,CAAC6E,MAAR,CAAlD,EAAmE;AAAA,UAC3DvC,EAD2D,GACpDtC,MAAM,CAAC6E,MAD6C,CAC3DvC,EAD2D;;AAEjE,UAAI,CAACA,EAAL,EAAS;AACPA,QAAAA,EAAE,GAAGhF,MAAM,CAAC4K,MAAD,CAAX;AACAlI,QAAAA,MAAM,CAAC6E,MAAP,CAAcvC,EAAd,GAAmBA,EAAnB;AACD;;AAEDtC,MAAAA,MAAM,CAAC6E,MAAP,SAAoBvC,EAApB;AACD;;AAEDxC,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAemO,aAAf,CAAf;AAEA,WAAOnO,MAAP;AACD;;SAEDksB,gBAAA,yBAAgB;AACd,WAAO,KAAKV,cAAL,KAAwBjtB,MAAxB,GACL,KAAKitB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoB1f,SAFtB;AAGD;;SAEDqgB,mBAAA,4BAAmB;AACjB,WAAO,KAAKX,cAAL,CAAoBzL,YAApB,IAAoCviB,IAAI,CAACmvB,GAAL,CACzChvB,QAAQ,CAACoE,IAAT,CAAcge,YAD2B,EAEzCpiB,QAAQ,CAAC0D,eAAT,CAAyB0e,YAFgB,CAA3C;AAID;;SAED6M,mBAAA,4BAAmB;AACjB,WAAO,KAAKpB,cAAL,KAAwBjtB,MAAxB,GACLA,MAAM,CAACsuB,WADF,GAEL,KAAKrB,cAAL,CAAoB5f,qBAApB,GAA4C2gB,MAF9C;AAGD;;SAEDV,WAAA,oBAAW;AACT,QAAM/f,SAAS,GAAG,KAAKogB,aAAL,KAAuB,KAAKnb,OAAL,CAAarF,MAAtD;;AACA,QAAMqU,YAAY,GAAG,KAAKoM,gBAAL,EAArB;;AACA,QAAMW,SAAS,GAAG,KAAK/b,OAAL,CAAarF,MAAb,GAChBqU,YADgB,GAEhB,KAAK6M,gBAAL,EAFF;;AAIA,QAAI,KAAKhB,aAAL,KAAuB7L,YAA3B,EAAyC;AACvC,WAAK+L,OAAL;AACD;;AAED,QAAIhgB,SAAS,IAAIghB,SAAjB,EAA4B;AAC1B,UAAMjoB,MAAM,GAAG,KAAK6mB,QAAL,CAAc,KAAKA,QAAL,CAAc3mB,MAAd,GAAuB,CAArC,CAAf;;AAEA,UAAI,KAAK4mB,aAAL,KAAuB9mB,MAA3B,EAAmC;AACjC,aAAKkoB,SAAL,CAAeloB,MAAf;AACD;;AAED;AACD;;AAED,QAAI,KAAK8mB,aAAL,IAAsB7f,SAAS,GAAG,KAAK2f,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;AAC9E,WAAKE,aAAL,GAAqB,IAArB;;AACA,WAAKqB,MAAL;;AACA;AACD;;AAED,SAAK,IAAIloB,CAAC,GAAG,KAAK2mB,QAAL,CAAc1mB,MAA3B,EAAmCD,CAAC,EAApC,GAAyC;AACvC,UAAMmoB,cAAc,GAAG,KAAKtB,aAAL,KAAuB,KAAKD,QAAL,CAAc5mB,CAAd,CAAvB,IACnBgH,SAAS,IAAI,KAAK2f,QAAL,CAAc3mB,CAAd,CADM,KAElB,OAAO,KAAK2mB,QAAL,CAAc3mB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACGgH,SAAS,GAAG,KAAK2f,QAAL,CAAc3mB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;AAKA,UAAImoB,cAAJ,EAAoB;AAClB,aAAKF,SAAL,CAAe,KAAKrB,QAAL,CAAc5mB,CAAd,CAAf;AACD;AACF;AACF;;SAEDioB,YAAA,mBAAUloB,MAAV,EAAkB;AAChB,SAAK8mB,aAAL,GAAqB9mB,MAArB;;AAEA,SAAKmoB,MAAL;;AAEA,QAAME,OAAO,GAAG,KAAKtW,SAAL,CAAe7X,KAAf,CAAqB,GAArB,EACbirB,GADa,CACT,UAAAjsB,QAAQ;AAAA,aAAOA,QAAP,0BAAmC8G,MAAnC,YAA+C9G,QAA/C,gBAAiE8G,MAAjE;AAAA,KADC,CAAhB;;AAGA,QAAMsoB,IAAI,GAAG9gB,cAAc,CAACM,OAAf,CAAuBugB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;AAEA,QAAID,IAAI,CAAC3jB,SAAL,CAAeE,QAAf,CAAwBmhB,wBAAxB,CAAJ,EAAuD;AACrDxe,MAAAA,cAAc,CAACM,OAAf,CAAuBye,wBAAvB,EAAiD+B,IAAI,CAAC5jB,OAAL,CAAa4hB,iBAAb,CAAjD,EACG3hB,SADH,CACa4J,GADb,CACiB/I,mBADjB;AAGA8iB,MAAAA,IAAI,CAAC3jB,SAAL,CAAe4J,GAAf,CAAmB/I,mBAAnB;AACD,KALD,MAKO;AACL;AACA8iB,MAAAA,IAAI,CAAC3jB,SAAL,CAAe4J,GAAf,CAAmB/I,mBAAnB;AAEAgC,MAAAA,cAAc,CAACS,OAAf,CAAuBqgB,IAAvB,EAA6BpC,uBAA7B,EACG3qB,OADH,CACW,UAAAitB,SAAS,EAAI;AACpB;AACA;AACAhhB,QAAAA,cAAc,CAACc,IAAf,CAAoBkgB,SAApB,EAAkCrC,kBAAlC,UAAyDE,mBAAzD,EACG9qB,OADH,CACW,UAAAosB,IAAI;AAAA,iBAAIA,IAAI,CAAChjB,SAAL,CAAe4J,GAAf,CAAmB/I,mBAAnB,CAAJ;AAAA,SADf,EAHoB;;AAOpBgC,QAAAA,cAAc,CAACc,IAAf,CAAoBkgB,SAApB,EAA+BpC,kBAA/B,EACG7qB,OADH,CACW,UAAAktB,OAAO,EAAI;AAClBjhB,UAAAA,cAAc,CAACO,QAAf,CAAwB0gB,OAAxB,EAAiCtC,kBAAjC,EACG5qB,OADH,CACW,UAAAosB,IAAI;AAAA,mBAAIA,IAAI,CAAChjB,SAAL,CAAe4J,GAAf,CAAmB/I,mBAAnB,CAAJ;AAAA,WADf;AAED,SAJH;AAKD,OAbH;AAcD;;AAED/F,IAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAKukB,cAA1B,EAA0Cb,cAA1C,EAA0D;AACxD3W,MAAAA,aAAa,EAAEnP;AADyC,KAA1D;AAGD;;SAEDmoB,SAAA,kBAAS;AACP3gB,IAAAA,cAAc,CAACE,IAAf,CAAoB,KAAKqK,SAAzB,EACGtL,MADH,CACU,UAAAiiB,IAAI;AAAA,aAAIA,IAAI,CAAC/jB,SAAL,CAAeE,QAAf,CAAwBW,mBAAxB,CAAJ;AAAA,KADd,EAEGjK,OAFH,CAEW,UAAAmtB,IAAI;AAAA,aAAIA,IAAI,CAAC/jB,SAAL,CAAeC,MAAf,CAAsBY,mBAAtB,CAAJ;AAAA,KAFf;AAGD;;;YAIMR,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AACA,UAAM2I,OAAO,GAAG,OAAO/Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI8oB,SAAJ,CAAc,IAAd,EAAoBxa,OAApB,CAAP;AACD;;AAED,UAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAfM,CAAP;AAgBD;;YAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBAzNoB;AACnB,aAAOD,SAAP;AACD;;;wBAEoB;AACnB,aAAOyF,SAAP;AACD;;;;;AAsNH;AACA;AACA;AACA;AACA;;;AAEAtJ,YAAY,CAACmC,EAAb,CAAgBlI,MAAhB,EAAwB4Q,qBAAxB,EAA6C,YAAM;AACjD9C,EAAAA,cAAc,CAACE,IAAf,CAAoBue,iBAApB,EACG1qB,OADH,CACW,UAAAotB,GAAG;AAAA,WAAI,IAAIjC,SAAJ,CAAciC,GAAd,EAAmBziB,WAAW,CAACI,iBAAZ,CAA8BqiB,GAA9B,CAAnB,CAAJ;AAAA,GADd;AAED,CAHD;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEAvrB,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAaqjB,SAAS,CAAC1hB,eAAvB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBohB,SAAzB;;AACApkB,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOqhB,SAAS,CAAC1hB,eAAjB;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACnTA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,KAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,QAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMsN,YAAU,YAAUvN,WAA1B;AACA,IAAMwN,cAAY,cAAYxN,WAA9B;AACA,IAAMqN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,aAAW,aAAWtN,WAA5B;AACA,IAAMK,sBAAoB,aAAWL,WAAX,GAAuBC,cAAjD;AAEA,IAAMmlB,wBAAwB,GAAG,eAAjC;AACA,IAAMpjB,mBAAiB,GAAG,QAA1B;AACA,IAAM4O,qBAAmB,GAAG,UAA5B;AACA,IAAMsE,iBAAe,GAAG,MAAxB;AACA,IAAMzH,iBAAe,GAAG,MAAxB;AAEA,IAAMqV,mBAAiB,GAAG,WAA1B;AACA,IAAMJ,yBAAuB,GAAG,mBAAhC;AACA,IAAMpb,iBAAe,GAAG,SAAxB;AACA,IAAM+d,kBAAkB,GAAG,uBAA3B;AACA,IAAMpjB,sBAAoB,GAAG,0EAA7B;AACA,IAAM8gB,0BAAwB,GAAG,kBAAjC;AACA,IAAMuC,8BAA8B,GAAG,iCAAvC;AAEA;AACA;AACA;AACA;AACA;;IAEMC;AACJ,eAAY9vB,OAAZ,EAAqB;AACnB,SAAKiL,QAAL,GAAgBjL,OAAhB;AAEAgF,IAAAA,IAAI,CAACC,OAAL,CAAa,KAAKgG,QAAlB,EAA4BX,UAA5B,EAAsC,IAAtC;AACD;;;;;AAQD;SAEA6O,OAAA,gBAAO;AAAA;;AACL,QAAK,KAAKlO,QAAL,CAAchI,UAAd,IACH,KAAKgI,QAAL,CAAchI,UAAd,CAAyB3B,QAAzB,KAAsC4N,IAAI,CAACC,YADxC,IAEH,KAAKlE,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCW,mBAAjC,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCuP,qBAAjC,CAHF,EAGyD;AACvD;AACD;;AAED,QAAI7L,QAAJ;AACA,QAAMvI,MAAM,GAAGxG,sBAAsB,CAAC,KAAK0K,QAAN,CAArC;;AACA,QAAM8kB,WAAW,GAAG,KAAK9kB,QAAL,CAAcQ,OAAd,CAAsBwhB,yBAAtB,CAApB;;AAEA,QAAI8C,WAAJ,EAAiB;AACf,UAAMC,YAAY,GAAGD,WAAW,CAACjM,QAAZ,KAAyB,IAAzB,IAAiCiM,WAAW,CAACjM,QAAZ,KAAyB,IAA1D,GAAiE8L,kBAAjE,GAAsF/d,iBAA3G;AACAvC,MAAAA,QAAQ,GAAGf,cAAc,CAACE,IAAf,CAAoBuhB,YAApB,EAAkCD,WAAlC,CAAX;AACAzgB,MAAAA,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACrI,MAAT,GAAkB,CAAnB,CAAnB;AACD;;AAED,QAAIsW,SAAS,GAAG,IAAhB;;AAEA,QAAIjO,QAAJ,EAAc;AACZiO,MAAAA,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqBmG,QAArB,EAA+BwI,YAA/B,EAA2C;AACrD5B,QAAAA,aAAa,EAAE,KAAKjL;AADiC,OAA3C,CAAZ;AAGD;;AAED,QAAMiS,SAAS,GAAG1W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,EAAgD;AAChE1B,MAAAA,aAAa,EAAE5G;AADiD,KAAhD,CAAlB;;AAIA,QAAI4N,SAAS,CAACzT,gBAAV,IACD8T,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAAC9T,gBADnC,EACsD;AACpD;AACD;;AAED,SAAKwlB,SAAL,CACE,KAAKhkB,QADP,EAEE8kB,WAFF;;AAKA,QAAMjW,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrBtT,MAAAA,YAAY,CAAC2C,OAAb,CAAqBmG,QAArB,EAA+ByI,cAA/B,EAA6C;AAC3C7B,QAAAA,aAAa,EAAE,KAAI,CAACjL;AADuB,OAA7C;AAGAzE,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC4M,aAApC,EAAiD;AAC/C3B,QAAAA,aAAa,EAAE5G;AADgC,OAAjD;AAGD,KAPD;;AASA,QAAIvI,MAAJ,EAAY;AACV,WAAKkoB,SAAL,CAAeloB,MAAf,EAAuBA,MAAM,CAAC9D,UAA9B,EAA0C6W,QAA1C;AACD,KAFD,MAEO;AACLA,MAAAA,QAAQ;AACT;AACF;;SAEDtO,UAAA,mBAAU;AACRxG,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AACA,SAAKW,QAAL,GAAgB,IAAhB;AACD;;;SAIDgkB,YAAA,mBAAUjvB,OAAV,EAAmBsZ,SAAnB,EAA8BlV,QAA9B,EAAwC;AAAA;;AACtC,QAAM6rB,cAAc,GAAG3W,SAAS,KAAKA,SAAS,CAACwK,QAAV,KAAuB,IAAvB,IAA+BxK,SAAS,CAACwK,QAAV,KAAuB,IAA3D,CAAT,GACrBvV,cAAc,CAACE,IAAf,CAAoBmhB,kBAApB,EAAwCtW,SAAxC,CADqB,GAErB/K,cAAc,CAACO,QAAf,CAAwBwK,SAAxB,EAAmCzH,iBAAnC,CAFF;AAIA,QAAMqe,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;AACA,QAAM/V,eAAe,GAAG9V,QAAQ,IAC7B8rB,MAAM,IAAIA,MAAM,CAACxkB,SAAP,CAAiBE,QAAjB,CAA0B6T,iBAA1B,CADb;;AAGA,QAAM3F,QAAQ,GAAG,SAAXA,QAAW;AAAA,aAAM,MAAI,CAACqW,mBAAL,CACrBnwB,OADqB,EAErBkwB,MAFqB,EAGrB9rB,QAHqB,CAAN;AAAA,KAAjB;;AAMA,QAAI8rB,MAAM,IAAIhW,eAAd,EAA+B;AAC7B,UAAMvZ,kBAAkB,GAAGH,gCAAgC,CAAC0vB,MAAD,CAA3D;AACAA,MAAAA,MAAM,CAACxkB,SAAP,CAAiBC,MAAjB,CAAwBqM,iBAAxB;AAEAxR,MAAAA,YAAY,CAACoC,GAAb,CAAiBsnB,MAAjB,EAAyBlxB,cAAzB,EAAyC8a,QAAzC;AACAvY,MAAAA,oBAAoB,CAAC2uB,MAAD,EAASvvB,kBAAT,CAApB;AACD,KAND,MAMO;AACLmZ,MAAAA,QAAQ;AACT;AACF;;SAEDqW,sBAAA,6BAAoBnwB,OAApB,EAA6BkwB,MAA7B,EAAqC9rB,QAArC,EAA+C;AAC7C,QAAI8rB,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACxkB,SAAP,CAAiBC,MAAjB,CAAwBY,mBAAxB;AAEA,UAAM6jB,aAAa,GAAG7hB,cAAc,CAACM,OAAf,CAAuBghB,8BAAvB,EAAuDK,MAAM,CAACjtB,UAA9D,CAAtB;;AAEA,UAAImtB,aAAJ,EAAmB;AACjBA,QAAAA,aAAa,CAAC1kB,SAAd,CAAwBC,MAAxB,CAA+BY,mBAA/B;AACD;;AAED,UAAI2jB,MAAM,CAAChwB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;AACzCgwB,QAAAA,MAAM,CAACvjB,YAAP,CAAoB,eAApB,EAAqC,KAArC;AACD;AACF;;AAED3M,IAAAA,OAAO,CAAC0L,SAAR,CAAkB4J,GAAlB,CAAsB/I,mBAAtB;;AACA,QAAIvM,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;AAC1CF,MAAAA,OAAO,CAAC2M,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD;;AAED9I,IAAAA,MAAM,CAAC7D,OAAD,CAAN;;AAEA,QAAIA,OAAO,CAAC0L,SAAR,CAAkBE,QAAlB,CAA2B6T,iBAA3B,CAAJ,EAAiD;AAC/Czf,MAAAA,OAAO,CAAC0L,SAAR,CAAkB4J,GAAlB,CAAsB0C,iBAAtB;AACD;;AAED,QAAIhY,OAAO,CAACiD,UAAR,IAAsBjD,OAAO,CAACiD,UAAR,CAAmByI,SAAnB,CAA6BE,QAA7B,CAAsC+jB,wBAAtC,CAA1B,EAA2F;AACzF,UAAMU,eAAe,GAAGrwB,OAAO,CAACyL,OAAR,CAAgB4hB,mBAAhB,CAAxB;;AAEA,UAAIgD,eAAJ,EAAqB;AACnB9hB,QAAAA,cAAc,CAACE,IAAf,CAAoB6e,0BAApB,EACGhrB,OADH,CACW,UAAAguB,QAAQ;AAAA,iBAAIA,QAAQ,CAAC5kB,SAAT,CAAmB4J,GAAnB,CAAuB/I,mBAAvB,CAAJ;AAAA,SADnB;AAED;;AAEDvM,MAAAA,OAAO,CAAC2M,YAAR,CAAqB,eAArB,EAAsC,IAAtC;AACD;;AAED,QAAIvI,QAAJ,EAAc;AACZA,MAAAA,QAAQ;AACT;AACF;;;MAIM2H,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAMrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,KAAgC,IAAIwlB,GAAJ,CAAQ,IAAR,CAA7C;;AAEA,UAAI,OAAO5tB,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ;AACD;AACF,KAVM,CAAP;AAWD;;MAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBA3JoB;AACnB,aAAOD,SAAP;AACD;;;;;AA4JH;AACA;AACA;AACA;AACA;;;AAEA7D,YAAY,CAACmC,EAAb,CAAgB9I,QAAhB,EAA0B+K,sBAA1B,EAAgD4B,sBAAhD,EAAsE,UAAUnG,KAAV,EAAiB;AACrFA,EAAAA,KAAK,CAAC8D,cAAN;AAEA,MAAMxF,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,KAAgC,IAAIwlB,GAAJ,CAAQ,IAAR,CAA7C;AACAnrB,EAAAA,IAAI,CAACwU,IAAL;AACD,CALD;AAOA;AACA;AACA;AACA;AACA;AACA;;AAEAhV,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAa0lB,GAAG,CAAC/jB,eAAjB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyByjB,GAAzB;;AACAzmB,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAO0jB,GAAG,CAAC/jB,eAAX;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;ACjOA;AACA;AACA;AACA;AACA;;AAEA,IAAM3B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,cAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AAEA,IAAM4U,qBAAmB,qBAAmB3U,WAA5C;AACA,IAAMuN,YAAU,YAAUvN,WAA1B;AACA,IAAMwN,cAAY,cAAYxN,WAA9B;AACA,IAAMqN,YAAU,YAAUrN,WAA1B;AACA,IAAMsN,aAAW,aAAWtN,WAA5B;AAEA,IAAMkV,iBAAe,GAAG,MAAxB;AACA,IAAM8Q,eAAe,GAAG,MAAxB;AACA,IAAMvY,iBAAe,GAAG,MAAxB;AACA,IAAMwY,kBAAkB,GAAG,SAA3B;AAEA,IAAMngB,aAAW,GAAG;AAClB4W,EAAAA,SAAS,EAAE,SADO;AAElBwJ,EAAAA,QAAQ,EAAE,SAFQ;AAGlBrJ,EAAAA,KAAK,EAAE;AAHW,CAApB;AAMA,IAAMtX,SAAO,GAAG;AACdmX,EAAAA,SAAS,EAAE,IADG;AAEdwJ,EAAAA,QAAQ,EAAE,IAFI;AAGdrJ,EAAAA,KAAK,EAAE;AAHO,CAAhB;AAMA,IAAMvH,uBAAqB,GAAG,2BAA9B;AAEA;AACA;AACA;AACA;AACA;;IAEM6Q;AACJ,iBAAY1wB,OAAZ,EAAqBkC,MAArB,EAA6B;AAC3B,SAAK+I,QAAL,GAAgBjL,OAAhB;AACA,SAAKiT,OAAL,GAAe,KAAKC,UAAL,CAAgBhR,MAAhB,CAAf;AACA,SAAKgnB,QAAL,GAAgB,IAAhB;;AACA,SAAKI,aAAL;;AACAtkB,IAAAA,IAAI,CAACC,OAAL,CAAajF,OAAb,EAAsBsK,UAAtB,EAAgC,IAAhC;AACD;;;;;AAgBD;SAEA6O,OAAA,gBAAO;AAAA;;AACL,QAAM+D,SAAS,GAAG1W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC2M,YAApC,CAAlB;;AAEA,QAAIsF,SAAS,CAACzT,gBAAd,EAAgC;AAC9B;AACD;;AAED,SAAKknB,aAAL;;AAEA,QAAI,KAAK1d,OAAL,CAAagU,SAAjB,EAA4B;AAC1B,WAAKhc,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4BmK,iBAA5B;AACD;;AAED,QAAM3F,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,KAAI,CAAC7O,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B6kB,kBAA/B;;AACA,MAAA,KAAI,CAACvlB,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4B0C,iBAA5B;;AAEAxR,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,KAAI,CAAC8B,QAA1B,EAAoC4M,aAApC;;AAEA,UAAI,KAAI,CAAC5E,OAAL,CAAawd,QAAjB,EAA2B;AACzB,QAAA,KAAI,CAACvH,QAAL,GAAgBnnB,UAAU,CAAC,YAAM;AAC/B,UAAA,KAAI,CAACmX,IAAL;AACD,SAFyB,EAEvB,KAAI,CAACjG,OAAL,CAAamU,KAFU,CAA1B;AAGD;AACF,KAXD;;AAaA,SAAKnc,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+B4kB,eAA/B;;AACA1sB,IAAAA,MAAM,CAAC,KAAKoH,QAAN,CAAN;;AACA,SAAKA,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4Bkb,kBAA5B;;AACA,QAAI,KAAKvd,OAAL,CAAagU,SAAjB,EAA4B;AAC1B,UAAMtmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyK,QAAN,CAA3D;AAEAzE,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD8a,QAAhD;AACAvY,MAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBtK,kBAAhB,CAApB;AACD,KALD,MAKO;AACLmZ,MAAAA,QAAQ;AACT;AACF;;SAEDZ,OAAA,gBAAO;AAAA;;AACL,QAAI,CAAC,KAAKjO,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,iBAAjC,CAAL,EAAwD;AACtD;AACD;;AAED,QAAMuF,SAAS,GAAG/W,YAAY,CAAC2C,OAAb,CAAqB,KAAK8B,QAA1B,EAAoC6M,YAApC,CAAlB;;AAEA,QAAIyF,SAAS,CAAC9T,gBAAd,EAAgC;AAC9B;AACD;;AAED,QAAMqQ,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAA,MAAI,CAAC7O,QAAL,CAAcS,SAAd,CAAwB4J,GAAxB,CAA4Bib,eAA5B;;AACA/pB,MAAAA,YAAY,CAAC2C,OAAb,CAAqB,MAAI,CAAC8B,QAA1B,EAAoC8M,cAApC;AACD,KAHD;;AAKA,SAAK9M,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqM,iBAA/B;;AACA,QAAI,KAAK/E,OAAL,CAAagU,SAAjB,EAA4B;AAC1B,UAAMtmB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKyK,QAAN,CAA3D;AAEAzE,MAAAA,YAAY,CAACoC,GAAb,CAAiB,KAAKqC,QAAtB,EAAgCjM,cAAhC,EAAgD8a,QAAhD;AACAvY,MAAAA,oBAAoB,CAAC,KAAK0J,QAAN,EAAgBtK,kBAAhB,CAApB;AACD,KALD,MAKO;AACLmZ,MAAAA,QAAQ;AACT;AACF;;SAEDtO,UAAA,mBAAU;AACR,SAAKmlB,aAAL;;AAEA,QAAI,KAAK1lB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCoM,iBAAjC,CAAJ,EAAuD;AACrD,WAAK/M,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+BqM,iBAA/B;AACD;;AAEDxR,IAAAA,YAAY,CAACC,GAAb,CAAiB,KAAKwE,QAAtB,EAAgCiU,qBAAhC;AACAla,IAAAA,IAAI,CAACI,UAAL,CAAgB,KAAK6F,QAArB,EAA+BX,UAA/B;AAEA,SAAKW,QAAL,GAAgB,IAAhB;AACA,SAAKgI,OAAL,GAAe,IAAf;AACD;;;SAIDC,aAAA,oBAAWhR,MAAX,EAAmB;AACjBA,IAAAA,MAAM,gBACD4N,SADC,EAED7C,WAAW,CAACI,iBAAZ,CAA8B,KAAKpC,QAAnC,CAFC,EAGA,OAAO/I,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHhD,CAAN;AAMAF,IAAAA,eAAe,CAACoI,MAAD,EAAOlI,MAAP,EAAe,KAAK0b,WAAL,CAAiBvN,WAAhC,CAAf;AAEA,WAAOnO,MAAP;AACD;;SAEDonB,gBAAA,yBAAgB;AAAA;;AACd9iB,IAAAA,YAAY,CAACmC,EAAb,CAAgB,KAAKsC,QAArB,EAA+BiU,qBAA/B,EAAoDW,uBAApD,EAA2E;AAAA,aAAM,MAAI,CAAC3G,IAAL,EAAN;AAAA,KAA3E;AACD;;SAEDyX,gBAAA,yBAAgB;AACdxb,IAAAA,YAAY,CAAC,KAAK+T,QAAN,CAAZ;AACA,SAAKA,QAAL,GAAgB,IAAhB;AACD;;;QAIMnd,kBAAP,yBAAuB7J,MAAvB,EAA+B;AAC7B,WAAO,KAAK8J,IAAL,CAAU,YAAY;AAC3B,UAAIrH,IAAI,GAAGK,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmBmF,UAAnB,CAAX;;AACA,UAAM2I,OAAO,GAAG,OAAO/Q,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;AAEA,UAAI,CAACyC,IAAL,EAAW;AACTA,QAAAA,IAAI,GAAG,IAAI+rB,KAAJ,CAAU,IAAV,EAAgBzd,OAAhB,CAAP;AACD;;AAED,UAAI,OAAO/Q,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,YAAI,OAAOyC,IAAI,CAACzC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;AACvC,gBAAM,IAAIoV,SAAJ,wBAAkCpV,MAAlC,QAAN;AACD;;AAEDyC,QAAAA,IAAI,CAACzC,MAAD,CAAJ,CAAa,IAAb;AACD;AACF,KAfM,CAAP;AAgBD;;QAEMiK,cAAP,qBAAmBnM,OAAnB,EAA4B;AAC1B,WAAOgF,IAAI,CAACG,OAAL,CAAanF,OAAb,EAAsBsK,UAAtB,CAAP;AACD;;;;wBA5IoB;AACnB,aAAOD,SAAP;AACD;;;wBAEwB;AACvB,aAAOgG,aAAP;AACD;;;wBAEoB;AACnB,aAAOP,SAAP;AACD;;;;;AAqIH;AACA;AACA;AACA;AACA;AACA;;;AAEA3L,kBAAkB,CAAC,YAAM;AACvB,MAAMkF,CAAC,GAAGtF,SAAS,EAAnB;AACA;;AACA,MAAIsF,CAAJ,EAAO;AACL,QAAM+C,kBAAkB,GAAG/C,CAAC,CAAClD,EAAF,CAAKiE,MAAL,CAA3B;AACAf,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAasmB,KAAK,CAAC3kB,eAAnB;AACA1C,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWiC,WAAX,GAAyBqkB,KAAzB;;AACArnB,IAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,EAAWkC,UAAX,GAAwB,YAAM;AAC5BjD,MAAAA,CAAC,CAAClD,EAAF,CAAKiE,MAAL,IAAagC,kBAAb;AACA,aAAOskB,KAAK,CAAC3kB,eAAb;AACD,KAHD;AAID;AACF,CAZiB,CAAlB;;;;"}