{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    enumerableOnly && (symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    })), keys.push.apply(keys, symbols);\n  }\n  return keys;\n}\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = null != arguments[i] ? arguments[i] : {};\n    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n      _defineProperty(target, key, source[key]);\n    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n    });\n  }\n  return target;\n}\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nfunction clamp(number, lowerBound, upperBound) {\n  return Math.max(lowerBound, Math.min(number, upperBound));\n}\nvar safePreventDefault = function safePreventDefault(event) {\n  var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n  if (!passiveEvents.includes(event._reactName)) {\n    event.preventDefault();\n  }\n};\nexports.safePreventDefault = safePreventDefault;\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n  var onDemandSlides = [];\n  var startIndex = lazyStartIndex(spec);\n  var endIndex = lazyEndIndex(spec);\n  for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n    if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n      onDemandSlides.push(slideIndex);\n    }\n  }\n  return onDemandSlides;\n}; // return list of slides that need to be present\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n  var requiredSlides = [];\n  var startIndex = lazyStartIndex(spec);\n  var endIndex = lazyEndIndex(spec);\n  for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n    requiredSlides.push(slideIndex);\n  }\n  return requiredSlides;\n}; // startIndex that needs to be present\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\nvar lazyStartIndex = function lazyStartIndex(spec) {\n  return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nexports.lazyStartIndex = lazyStartIndex;\nvar lazyEndIndex = function lazyEndIndex(spec) {\n  return spec.currentSlide + lazySlidesOnRight(spec);\n};\nexports.lazyEndIndex = lazyEndIndex;\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n  return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n  return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\nvar getWidth = function getWidth(elem) {\n  return elem && elem.offsetWidth || 0;\n};\nexports.getWidth = getWidth;\nvar getHeight = function getHeight(elem) {\n  return elem && elem.offsetHeight || 0;\n};\nexports.getHeight = getHeight;\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n  var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  var xDist, yDist, r, swipeAngle;\n  xDist = touchObject.startX - touchObject.curX;\n  yDist = touchObject.startY - touchObject.curY;\n  r = Math.atan2(yDist, xDist);\n  swipeAngle = Math.round(r * 180 / Math.PI);\n  if (swipeAngle < 0) {\n    swipeAngle = 360 - Math.abs(swipeAngle);\n  }\n  if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n    return \"left\";\n  }\n  if (swipeAngle >= 135 && swipeAngle <= 225) {\n    return \"right\";\n  }\n  if (verticalSwiping === true) {\n    if (swipeAngle >= 35 && swipeAngle <= 135) {\n      return \"up\";\n    } else {\n      return \"down\";\n    }\n  }\n  return \"vertical\";\n}; // whether or not we can go next\n\nexports.getSwipeDirection = getSwipeDirection;\nvar canGoNext = function canGoNext(spec) {\n  var canGo = true;\n  if (!spec.infinite) {\n    if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n      canGo = false;\n    } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n      canGo = false;\n    }\n  }\n  return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\nexports.canGoNext = canGoNext;\nvar extractObject = function extractObject(spec, keys) {\n  var newObject = {};\n  keys.forEach(function (key) {\n    return newObject[key] = spec[key];\n  });\n  return newObject;\n}; // get initialized state\n\nexports.extractObject = extractObject;\nvar initializedState = function initializedState(spec) {\n  // spec also contains listRef, trackRef\n  var slideCount = _react[\"default\"].Children.count(spec.children);\n  var listNode = spec.listRef;\n  var listWidth = Math.ceil(getWidth(listNode));\n  var trackNode = spec.trackRef && spec.trackRef.node;\n  var trackWidth = Math.ceil(getWidth(trackNode));\n  var slideWidth;\n  if (!spec.vertical) {\n    var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n    if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n      centerPaddingAdj *= listWidth / 100;\n    }\n    slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n  } else {\n    slideWidth = listWidth;\n  }\n  var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n  var listHeight = slideHeight * spec.slidesToShow;\n  var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n  if (spec.rtl && spec.currentSlide === undefined) {\n    currentSlide = slideCount - 1 - spec.initialSlide;\n  }\n  var lazyLoadedList = spec.lazyLoadedList || [];\n  var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n    currentSlide: currentSlide,\n    lazyLoadedList: lazyLoadedList\n  }));\n  lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n  var state = {\n    slideCount: slideCount,\n    slideWidth: slideWidth,\n    listWidth: listWidth,\n    trackWidth: trackWidth,\n    currentSlide: currentSlide,\n    slideHeight: slideHeight,\n    listHeight: listHeight,\n    lazyLoadedList: lazyLoadedList\n  };\n  if (spec.autoplaying === null && spec.autoplay) {\n    state[\"autoplaying\"] = \"playing\";\n  }\n  return state;\n};\nexports.initializedState = initializedState;\nvar slideHandler = function slideHandler(spec) {\n  var waitForAnimate = spec.waitForAnimate,\n    animating = spec.animating,\n    fade = spec.fade,\n    infinite = spec.infinite,\n    index = spec.index,\n    slideCount = spec.slideCount,\n    lazyLoad = spec.lazyLoad,\n    currentSlide = spec.currentSlide,\n    centerMode = spec.centerMode,\n    slidesToScroll = spec.slidesToScroll,\n    slidesToShow = spec.slidesToShow,\n    useCSS = spec.useCSS;\n  var lazyLoadedList = spec.lazyLoadedList;\n  if (waitForAnimate && animating) return {};\n  var animationSlide = index,\n    finalSlide,\n    animationLeft,\n    finalLeft;\n  var state = {},\n    nextState = {};\n  var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n  if (fade) {\n    if (!infinite && (index < 0 || index >= slideCount)) return {};\n    if (index < 0) {\n      animationSlide = index + slideCount;\n    } else if (index >= slideCount) {\n      animationSlide = index - slideCount;\n    }\n    if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n      lazyLoadedList = lazyLoadedList.concat(animationSlide);\n    }\n    state = {\n      animating: true,\n      currentSlide: animationSlide,\n      lazyLoadedList: lazyLoadedList,\n      targetSlide: animationSlide\n    };\n    nextState = {\n      animating: false,\n      targetSlide: animationSlide\n    };\n  } else {\n    finalSlide = animationSlide;\n    if (animationSlide < 0) {\n      finalSlide = animationSlide + slideCount;\n      if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n    } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n      animationSlide = finalSlide = currentSlide;\n    } else if (centerMode && animationSlide >= slideCount) {\n      animationSlide = infinite ? slideCount : slideCount - 1;\n      finalSlide = infinite ? 0 : slideCount - 1;\n    } else if (animationSlide >= slideCount) {\n      finalSlide = animationSlide - slideCount;\n      if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n    }\n    if (!infinite && animationSlide + slidesToShow >= slideCount) {\n      finalSlide = slideCount - slidesToShow;\n    }\n    animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n      slideIndex: animationSlide\n    }));\n    finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n      slideIndex: finalSlide\n    }));\n    if (!infinite) {\n      if (animationLeft === finalLeft) animationSlide = finalSlide;\n      animationLeft = finalLeft;\n    }\n    if (lazyLoad) {\n      lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n        currentSlide: animationSlide\n      })));\n    }\n    if (!useCSS) {\n      state = {\n        currentSlide: finalSlide,\n        trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: finalLeft\n        })),\n        lazyLoadedList: lazyLoadedList,\n        targetSlide: targetSlide\n      };\n    } else {\n      state = {\n        animating: true,\n        currentSlide: finalSlide,\n        trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: animationLeft\n        })),\n        lazyLoadedList: lazyLoadedList,\n        targetSlide: targetSlide\n      };\n      nextState = {\n        animating: false,\n        currentSlide: finalSlide,\n        trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: finalLeft\n        })),\n        swipeLeft: null,\n        targetSlide: targetSlide\n      };\n    }\n  }\n  return {\n    state: state,\n    nextState: nextState\n  };\n};\nexports.slideHandler = slideHandler;\nvar changeSlide = function changeSlide(spec, options) {\n  var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n  var slidesToScroll = spec.slidesToScroll,\n    slidesToShow = spec.slidesToShow,\n    slideCount = spec.slideCount,\n    currentSlide = spec.currentSlide,\n    previousTargetSlide = spec.targetSlide,\n    lazyLoad = spec.lazyLoad,\n    infinite = spec.infinite;\n  unevenOffset = slideCount % slidesToScroll !== 0;\n  indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n  if (options.message === \"previous\") {\n    slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n    targetSlide = currentSlide - slideOffset;\n    if (lazyLoad && !infinite) {\n      previousInt = currentSlide - slideOffset;\n      targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n    }\n    if (!infinite) {\n      targetSlide = previousTargetSlide - slidesToScroll;\n    }\n  } else if (options.message === \"next\") {\n    slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n    targetSlide = currentSlide + slideOffset;\n    if (lazyLoad && !infinite) {\n      targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n    }\n    if (!infinite) {\n      targetSlide = previousTargetSlide + slidesToScroll;\n    }\n  } else if (options.message === \"dots\") {\n    // Click on dots\n    targetSlide = options.index * options.slidesToScroll;\n  } else if (options.message === \"children\") {\n    // Click on the slides\n    targetSlide = options.index;\n    if (infinite) {\n      var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n        targetSlide: targetSlide\n      }));\n      if (targetSlide > options.currentSlide && direction === \"left\") {\n        targetSlide = targetSlide - slideCount;\n      } else if (targetSlide < options.currentSlide && direction === \"right\") {\n        targetSlide = targetSlide + slideCount;\n      }\n    }\n  } else if (options.message === \"index\") {\n    targetSlide = Number(options.index);\n  }\n  return targetSlide;\n};\nexports.changeSlide = changeSlide;\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n  if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n  if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n  if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n  return \"\";\n};\nexports.keyHandler = keyHandler;\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n  e.target.tagName === \"IMG\" && safePreventDefault(e);\n  if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n  return {\n    dragging: true,\n    touchObject: {\n      startX: e.touches ? e.touches[0].pageX : e.clientX,\n      startY: e.touches ? e.touches[0].pageY : e.clientY,\n      curX: e.touches ? e.touches[0].pageX : e.clientX,\n      curY: e.touches ? e.touches[0].pageY : e.clientY\n    }\n  };\n};\nexports.swipeStart = swipeStart;\nvar swipeMove = function swipeMove(e, spec) {\n  // spec also contains, trackRef and slideIndex\n  var scrolling = spec.scrolling,\n    animating = spec.animating,\n    vertical = spec.vertical,\n    swipeToSlide = spec.swipeToSlide,\n    verticalSwiping = spec.verticalSwiping,\n    rtl = spec.rtl,\n    currentSlide = spec.currentSlide,\n    edgeFriction = spec.edgeFriction,\n    edgeDragged = spec.edgeDragged,\n    onEdge = spec.onEdge,\n    swiped = spec.swiped,\n    swiping = spec.swiping,\n    slideCount = spec.slideCount,\n    slidesToScroll = spec.slidesToScroll,\n    infinite = spec.infinite,\n    touchObject = spec.touchObject,\n    swipeEvent = spec.swipeEvent,\n    listHeight = spec.listHeight,\n    listWidth = spec.listWidth;\n  if (scrolling) return;\n  if (animating) return safePreventDefault(e);\n  if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n  var swipeLeft,\n    state = {};\n  var curLeft = getTrackLeft(spec);\n  touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n  touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n  touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n  var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n  if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n    return {\n      scrolling: true\n    };\n  }\n  if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n  var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n  if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n  var dotCount = Math.ceil(slideCount / slidesToScroll);\n  var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n  var touchSwipeLength = touchObject.swipeLength;\n  if (!infinite) {\n    if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n      touchSwipeLength = touchObject.swipeLength * edgeFriction;\n      if (edgeDragged === false && onEdge) {\n        onEdge(swipeDirection);\n        state[\"edgeDragged\"] = true;\n      }\n    }\n  }\n  if (!swiped && swipeEvent) {\n    swipeEvent(swipeDirection);\n    state[\"swiped\"] = true;\n  }\n  if (!vertical) {\n    if (!rtl) {\n      swipeLeft = curLeft + touchSwipeLength * positionOffset;\n    } else {\n      swipeLeft = curLeft - touchSwipeLength * positionOffset;\n    }\n  } else {\n    swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n  }\n  if (verticalSwiping) {\n    swipeLeft = curLeft + touchSwipeLength * positionOffset;\n  }\n  state = _objectSpread(_objectSpread({}, state), {}, {\n    touchObject: touchObject,\n    swipeLeft: swipeLeft,\n    trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n      left: swipeLeft\n    }))\n  });\n  if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n    return state;\n  }\n  if (touchObject.swipeLength > 10) {\n    state[\"swiping\"] = true;\n    safePreventDefault(e);\n  }\n  return state;\n};\nexports.swipeMove = swipeMove;\nvar swipeEnd = function swipeEnd(e, spec) {\n  var dragging = spec.dragging,\n    swipe = spec.swipe,\n    touchObject = spec.touchObject,\n    listWidth = spec.listWidth,\n    touchThreshold = spec.touchThreshold,\n    verticalSwiping = spec.verticalSwiping,\n    listHeight = spec.listHeight,\n    swipeToSlide = spec.swipeToSlide,\n    scrolling = spec.scrolling,\n    onSwipe = spec.onSwipe,\n    targetSlide = spec.targetSlide,\n    currentSlide = spec.currentSlide,\n    infinite = spec.infinite;\n  if (!dragging) {\n    if (swipe) safePreventDefault(e);\n    return {};\n  }\n  var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n  var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n  var state = {\n    dragging: false,\n    edgeDragged: false,\n    scrolling: false,\n    swiping: false,\n    swiped: false,\n    swipeLeft: null,\n    touchObject: {}\n  };\n  if (scrolling) {\n    return state;\n  }\n  if (!touchObject.swipeLength) {\n    return state;\n  }\n  if (touchObject.swipeLength > minSwipe) {\n    safePreventDefault(e);\n    if (onSwipe) {\n      onSwipe(swipeDirection);\n    }\n    var slideCount, newSlide;\n    var activeSlide = infinite ? currentSlide : targetSlide;\n    switch (swipeDirection) {\n      case \"left\":\n      case \"up\":\n        newSlide = activeSlide + getSlideCount(spec);\n        slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n        state[\"currentDirection\"] = 0;\n        break;\n      case \"right\":\n      case \"down\":\n        newSlide = activeSlide - getSlideCount(spec);\n        slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n        state[\"currentDirection\"] = 1;\n        break;\n      default:\n        slideCount = activeSlide;\n    }\n    state[\"triggerSlideHandler\"] = slideCount;\n  } else {\n    // Adjust the track back to it's original position.\n    var currentLeft = getTrackLeft(spec);\n    state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n      left: currentLeft\n    }));\n  }\n  return state;\n};\nexports.swipeEnd = swipeEnd;\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n  var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n  var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n  var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n  var indexes = [];\n  while (breakpoint < max) {\n    indexes.push(breakpoint);\n    breakpoint = counter + spec.slidesToScroll;\n    counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n  }\n  return indexes;\n};\nexports.getNavigableIndexes = getNavigableIndexes;\nvar checkNavigable = function checkNavigable(spec, index) {\n  var navigables = getNavigableIndexes(spec);\n  var prevNavigable = 0;\n  if (index > navigables[navigables.length - 1]) {\n    index = navigables[navigables.length - 1];\n  } else {\n    for (var n in navigables) {\n      if (index < navigables[n]) {\n        index = prevNavigable;\n        break;\n      }\n      prevNavigable = navigables[n];\n    }\n  }\n  return index;\n};\nexports.checkNavigable = checkNavigable;\nvar getSlideCount = function getSlideCount(spec) {\n  var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n  if (spec.swipeToSlide) {\n    var swipedSlide;\n    var slickList = spec.listRef;\n    var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n    Array.from(slides).every(function (slide) {\n      if (!spec.vertical) {\n        if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n          swipedSlide = slide;\n          return false;\n        }\n      } else {\n        if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n          swipedSlide = slide;\n          return false;\n        }\n      }\n      return true;\n    });\n    if (!swipedSlide) {\n      return 0;\n    }\n    var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n    var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n    return slidesTraversed;\n  } else {\n    return spec.slidesToScroll;\n  }\n};\nexports.getSlideCount = getSlideCount;\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n  return keysArray.reduce(function (value, key) {\n    return value && spec.hasOwnProperty(key);\n  }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\nexports.checkSpecKeys = checkSpecKeys;\nvar getTrackCSS = function getTrackCSS(spec) {\n  checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n  var trackWidth, trackHeight;\n  var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n  if (!spec.vertical) {\n    trackWidth = getTotalSlides(spec) * spec.slideWidth;\n  } else {\n    trackHeight = trackChildren * spec.slideHeight;\n  }\n  var style = {\n    opacity: 1,\n    transition: \"\",\n    WebkitTransition: \"\"\n  };\n  if (spec.useTransform) {\n    var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n    var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n    var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n    style = _objectSpread(_objectSpread({}, style), {}, {\n      WebkitTransform: WebkitTransform,\n      transform: transform,\n      msTransform: msTransform\n    });\n  } else {\n    if (spec.vertical) {\n      style[\"top\"] = spec.left;\n    } else {\n      style[\"left\"] = spec.left;\n    }\n  }\n  if (spec.fade) style = {\n    opacity: 1\n  };\n  if (trackWidth) style.width = trackWidth;\n  if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n  if (window && !window.addEventListener && window.attachEvent) {\n    if (!spec.vertical) {\n      style.marginLeft = spec.left + \"px\";\n    } else {\n      style.marginTop = spec.left + \"px\";\n    }\n  }\n  return style;\n};\nexports.getTrackCSS = getTrackCSS;\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n  checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n  var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n  if (spec.useTransform) {\n    style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n    style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n  } else {\n    if (spec.vertical) {\n      style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n    } else {\n      style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n    }\n  }\n  return style;\n};\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\nvar getTrackLeft = function getTrackLeft(spec) {\n  if (spec.unslick) {\n    return 0;\n  }\n  checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n  var slideIndex = spec.slideIndex,\n    trackRef = spec.trackRef,\n    infinite = spec.infinite,\n    centerMode = spec.centerMode,\n    slideCount = spec.slideCount,\n    slidesToShow = spec.slidesToShow,\n    slidesToScroll = spec.slidesToScroll,\n    slideWidth = spec.slideWidth,\n    listWidth = spec.listWidth,\n    variableWidth = spec.variableWidth,\n    slideHeight = spec.slideHeight,\n    fade = spec.fade,\n    vertical = spec.vertical;\n  var slideOffset = 0;\n  var targetLeft;\n  var targetSlide;\n  var verticalOffset = 0;\n  if (fade || spec.slideCount === 1) {\n    return 0;\n  }\n  var slidesToOffset = 0;\n  if (infinite) {\n    slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n    // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n    if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n      slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n    } // shift current slide to center of the frame\n\n    if (centerMode) {\n      slidesToOffset += parseInt(slidesToShow / 2);\n    }\n  } else {\n    if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n      slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n    }\n    if (centerMode) {\n      slidesToOffset = parseInt(slidesToShow / 2);\n    }\n  }\n  slideOffset = slidesToOffset * slideWidth;\n  verticalOffset = slidesToOffset * slideHeight;\n  if (!vertical) {\n    targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n  } else {\n    targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n  }\n  if (variableWidth === true) {\n    var targetSlideIndex;\n    var trackElem = trackRef && trackRef.node;\n    targetSlideIndex = slideIndex + getPreClones(spec);\n    targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n    targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n    if (centerMode === true) {\n      targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n      targetSlide = trackElem && trackElem.children[targetSlideIndex];\n      targetLeft = 0;\n      for (var slide = 0; slide < targetSlideIndex; slide++) {\n        targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n      }\n      targetLeft -= parseInt(spec.centerPadding);\n      targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n    }\n  }\n  return targetLeft;\n};\nexports.getTrackLeft = getTrackLeft;\nvar getPreClones = function getPreClones(spec) {\n  if (spec.unslick || !spec.infinite) {\n    return 0;\n  }\n  if (spec.variableWidth) {\n    return spec.slideCount;\n  }\n  return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\nexports.getPreClones = getPreClones;\nvar getPostClones = function getPostClones(spec) {\n  if (spec.unslick || !spec.infinite) {\n    return 0;\n  }\n  return spec.slideCount;\n};\nexports.getPostClones = getPostClones;\nvar getTotalSlides = function getTotalSlides(spec) {\n  return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nexports.getTotalSlides = getTotalSlides;\nvar siblingDirection = function siblingDirection(spec) {\n  if (spec.targetSlide > spec.currentSlide) {\n    if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n      return \"left\";\n    }\n    return \"right\";\n  } else {\n    if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n      return \"right\";\n    }\n    return \"left\";\n  }\n};\nexports.siblingDirection = siblingDirection;\nvar slidesOnRight = function slidesOnRight(_ref) {\n  var slidesToShow = _ref.slidesToShow,\n    centerMode = _ref.centerMode,\n    rtl = _ref.rtl,\n    centerPadding = _ref.centerPadding;\n\n  // returns no of slides on the right of active slide\n  if (centerMode) {\n    var right = (slidesToShow - 1) / 2 + 1;\n    if (parseInt(centerPadding) > 0) right += 1;\n    if (rtl && slidesToShow % 2 === 0) right += 1;\n    return right;\n  }\n  if (rtl) {\n    return 0;\n  }\n  return slidesToShow - 1;\n};\nexports.slidesOnRight = slidesOnRight;\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n  var slidesToShow = _ref2.slidesToShow,\n    centerMode = _ref2.centerMode,\n    rtl = _ref2.rtl,\n    centerPadding = _ref2.centerPadding;\n\n  // returns no of slides on the left of active slide\n  if (centerMode) {\n    var left = (slidesToShow - 1) / 2 + 1;\n    if (parseInt(centerPadding) > 0) left += 1;\n    if (!rtl && slidesToShow % 2 === 0) left += 1;\n    return left;\n  }\n  if (rtl) {\n    return slidesToShow - 1;\n  }\n  return 0;\n};\nexports.slidesOnLeft = slidesOnLeft;\nvar canUseDOM = function canUseDOM() {\n  return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\nexports.canUseDOM = canUseDOM;","map":{"version":3,"names":["Object","defineProperty","exports","value","checkSpecKeys","checkNavigable","changeSlide","canUseDOM","canGoNext","clamp","swipeStart","swipeMove","swipeEnd","slidesOnRight","slidesOnLeft","slideHandler","siblingDirection","safePreventDefault","lazyStartIndex","lazySlidesOnRight","lazySlidesOnLeft","lazyEndIndex","keyHandler","initializedState","getWidth","getTrackLeft","getTrackCSS","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getPreClones","getPostClones","getOnDemandLazySlides","getNavigableIndexes","getHeight","extractObject","_react","_interopRequireDefault","require","obj","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","number","lowerBound","upperBound","Math","max","min","event","passiveEvents","includes","_reactName","preventDefault","spec","onDemandSlides","startIndex","endIndex","slideIndex","lazyLoadedList","indexOf","requiredSlides","currentSlide","centerMode","floor","slidesToShow","parseInt","centerPadding","elem","offsetWidth","offsetHeight","touchObject","verticalSwiping","undefined","xDist","yDist","r","swipeAngle","startX","curX","startY","curY","atan2","round","PI","abs","canGo","infinite","slideCount","newObject","Children","count","children","listNode","listRef","listWidth","ceil","trackNode","trackRef","node","trackWidth","slideWidth","vertical","centerPaddingAdj","slice","slideHeight","querySelector","listHeight","initialSlide","rtl","slidesToLoad","concat","state","autoplaying","autoplay","waitForAnimate","animating","fade","index","lazyLoad","slidesToScroll","useCSS","animationSlide","finalSlide","animationLeft","finalLeft","nextState","targetSlide","trackStyle","left","swipeLeft","options","indexOffset","previousInt","slideOffset","unevenOffset","previousTargetSlide","message","direction","Number","e","accessibility","tagName","match","keyCode","swipe","draggable","type","dragging","touches","pageX","clientX","pageY","clientY","scrolling","swipeToSlide","edgeFriction","edgeDragged","onEdge","swiped","swiping","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","newSlide","activeSlide","currentLeft","breakpoint","counter","indexes","navigables","prevNavigable","n","centerOffset","swipedSlide","slickList","slides","querySelectorAll","Array","from","every","slide","offsetLeft","offsetTop","currentIndex","slidesTraversed","dataset","keysArray","reduce","hasOwnProperty","console","error","trackHeight","trackChildren","style","opacity","transition","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","width","height","window","addEventListener","attachEvent","marginLeft","marginTop","speed","cssEase","unslick","variableWidth","targetLeft","verticalOffset","slidesToOffset","targetSlideIndex","trackElem","childNodes","_ref","right","_ref2","document","createElement"],"sources":["C:/Users/user/Desktop/portreact/node_modules/react-slick/lib/utils/innerSliderUtils.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction clamp(number, lowerBound, upperBound) {\n  return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nvar safePreventDefault = function safePreventDefault(event) {\n  var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n\n  if (!passiveEvents.includes(event._reactName)) {\n    event.preventDefault();\n  }\n};\n\nexports.safePreventDefault = safePreventDefault;\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n  var onDemandSlides = [];\n  var startIndex = lazyStartIndex(spec);\n  var endIndex = lazyEndIndex(spec);\n\n  for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n    if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n      onDemandSlides.push(slideIndex);\n    }\n  }\n\n  return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n  var requiredSlides = [];\n  var startIndex = lazyStartIndex(spec);\n  var endIndex = lazyEndIndex(spec);\n\n  for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n    requiredSlides.push(slideIndex);\n  }\n\n  return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n  return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n  return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n  return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n  return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n  return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n  return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n  var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  var xDist, yDist, r, swipeAngle;\n  xDist = touchObject.startX - touchObject.curX;\n  yDist = touchObject.startY - touchObject.curY;\n  r = Math.atan2(yDist, xDist);\n  swipeAngle = Math.round(r * 180 / Math.PI);\n\n  if (swipeAngle < 0) {\n    swipeAngle = 360 - Math.abs(swipeAngle);\n  }\n\n  if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n    return \"left\";\n  }\n\n  if (swipeAngle >= 135 && swipeAngle <= 225) {\n    return \"right\";\n  }\n\n  if (verticalSwiping === true) {\n    if (swipeAngle >= 35 && swipeAngle <= 135) {\n      return \"up\";\n    } else {\n      return \"down\";\n    }\n  }\n\n  return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n  var canGo = true;\n\n  if (!spec.infinite) {\n    if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n      canGo = false;\n    } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n      canGo = false;\n    }\n  }\n\n  return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n  var newObject = {};\n  keys.forEach(function (key) {\n    return newObject[key] = spec[key];\n  });\n  return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n  // spec also contains listRef, trackRef\n  var slideCount = _react[\"default\"].Children.count(spec.children);\n\n  var listNode = spec.listRef;\n  var listWidth = Math.ceil(getWidth(listNode));\n  var trackNode = spec.trackRef && spec.trackRef.node;\n  var trackWidth = Math.ceil(getWidth(trackNode));\n  var slideWidth;\n\n  if (!spec.vertical) {\n    var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n    if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n      centerPaddingAdj *= listWidth / 100;\n    }\n\n    slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n  } else {\n    slideWidth = listWidth;\n  }\n\n  var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n  var listHeight = slideHeight * spec.slidesToShow;\n  var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n  if (spec.rtl && spec.currentSlide === undefined) {\n    currentSlide = slideCount - 1 - spec.initialSlide;\n  }\n\n  var lazyLoadedList = spec.lazyLoadedList || [];\n  var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n    currentSlide: currentSlide,\n    lazyLoadedList: lazyLoadedList\n  }));\n  lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n  var state = {\n    slideCount: slideCount,\n    slideWidth: slideWidth,\n    listWidth: listWidth,\n    trackWidth: trackWidth,\n    currentSlide: currentSlide,\n    slideHeight: slideHeight,\n    listHeight: listHeight,\n    lazyLoadedList: lazyLoadedList\n  };\n\n  if (spec.autoplaying === null && spec.autoplay) {\n    state[\"autoplaying\"] = \"playing\";\n  }\n\n  return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n  var waitForAnimate = spec.waitForAnimate,\n      animating = spec.animating,\n      fade = spec.fade,\n      infinite = spec.infinite,\n      index = spec.index,\n      slideCount = spec.slideCount,\n      lazyLoad = spec.lazyLoad,\n      currentSlide = spec.currentSlide,\n      centerMode = spec.centerMode,\n      slidesToScroll = spec.slidesToScroll,\n      slidesToShow = spec.slidesToShow,\n      useCSS = spec.useCSS;\n  var lazyLoadedList = spec.lazyLoadedList;\n  if (waitForAnimate && animating) return {};\n  var animationSlide = index,\n      finalSlide,\n      animationLeft,\n      finalLeft;\n  var state = {},\n      nextState = {};\n  var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n  if (fade) {\n    if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n    if (index < 0) {\n      animationSlide = index + slideCount;\n    } else if (index >= slideCount) {\n      animationSlide = index - slideCount;\n    }\n\n    if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n      lazyLoadedList = lazyLoadedList.concat(animationSlide);\n    }\n\n    state = {\n      animating: true,\n      currentSlide: animationSlide,\n      lazyLoadedList: lazyLoadedList,\n      targetSlide: animationSlide\n    };\n    nextState = {\n      animating: false,\n      targetSlide: animationSlide\n    };\n  } else {\n    finalSlide = animationSlide;\n\n    if (animationSlide < 0) {\n      finalSlide = animationSlide + slideCount;\n      if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n    } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n      animationSlide = finalSlide = currentSlide;\n    } else if (centerMode && animationSlide >= slideCount) {\n      animationSlide = infinite ? slideCount : slideCount - 1;\n      finalSlide = infinite ? 0 : slideCount - 1;\n    } else if (animationSlide >= slideCount) {\n      finalSlide = animationSlide - slideCount;\n      if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n    }\n\n    if (!infinite && animationSlide + slidesToShow >= slideCount) {\n      finalSlide = slideCount - slidesToShow;\n    }\n\n    animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n      slideIndex: animationSlide\n    }));\n    finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n      slideIndex: finalSlide\n    }));\n\n    if (!infinite) {\n      if (animationLeft === finalLeft) animationSlide = finalSlide;\n      animationLeft = finalLeft;\n    }\n\n    if (lazyLoad) {\n      lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n        currentSlide: animationSlide\n      })));\n    }\n\n    if (!useCSS) {\n      state = {\n        currentSlide: finalSlide,\n        trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: finalLeft\n        })),\n        lazyLoadedList: lazyLoadedList,\n        targetSlide: targetSlide\n      };\n    } else {\n      state = {\n        animating: true,\n        currentSlide: finalSlide,\n        trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: animationLeft\n        })),\n        lazyLoadedList: lazyLoadedList,\n        targetSlide: targetSlide\n      };\n      nextState = {\n        animating: false,\n        currentSlide: finalSlide,\n        trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n          left: finalLeft\n        })),\n        swipeLeft: null,\n        targetSlide: targetSlide\n      };\n    }\n  }\n\n  return {\n    state: state,\n    nextState: nextState\n  };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n  var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n  var slidesToScroll = spec.slidesToScroll,\n      slidesToShow = spec.slidesToShow,\n      slideCount = spec.slideCount,\n      currentSlide = spec.currentSlide,\n      previousTargetSlide = spec.targetSlide,\n      lazyLoad = spec.lazyLoad,\n      infinite = spec.infinite;\n  unevenOffset = slideCount % slidesToScroll !== 0;\n  indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n  if (options.message === \"previous\") {\n    slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n    targetSlide = currentSlide - slideOffset;\n\n    if (lazyLoad && !infinite) {\n      previousInt = currentSlide - slideOffset;\n      targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n    }\n\n    if (!infinite) {\n      targetSlide = previousTargetSlide - slidesToScroll;\n    }\n  } else if (options.message === \"next\") {\n    slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n    targetSlide = currentSlide + slideOffset;\n\n    if (lazyLoad && !infinite) {\n      targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n    }\n\n    if (!infinite) {\n      targetSlide = previousTargetSlide + slidesToScroll;\n    }\n  } else if (options.message === \"dots\") {\n    // Click on dots\n    targetSlide = options.index * options.slidesToScroll;\n  } else if (options.message === \"children\") {\n    // Click on the slides\n    targetSlide = options.index;\n\n    if (infinite) {\n      var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n        targetSlide: targetSlide\n      }));\n\n      if (targetSlide > options.currentSlide && direction === \"left\") {\n        targetSlide = targetSlide - slideCount;\n      } else if (targetSlide < options.currentSlide && direction === \"right\") {\n        targetSlide = targetSlide + slideCount;\n      }\n    }\n  } else if (options.message === \"index\") {\n    targetSlide = Number(options.index);\n  }\n\n  return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n  if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n  if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n  if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n  return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n  e.target.tagName === \"IMG\" && safePreventDefault(e);\n  if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n  return {\n    dragging: true,\n    touchObject: {\n      startX: e.touches ? e.touches[0].pageX : e.clientX,\n      startY: e.touches ? e.touches[0].pageY : e.clientY,\n      curX: e.touches ? e.touches[0].pageX : e.clientX,\n      curY: e.touches ? e.touches[0].pageY : e.clientY\n    }\n  };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n  // spec also contains, trackRef and slideIndex\n  var scrolling = spec.scrolling,\n      animating = spec.animating,\n      vertical = spec.vertical,\n      swipeToSlide = spec.swipeToSlide,\n      verticalSwiping = spec.verticalSwiping,\n      rtl = spec.rtl,\n      currentSlide = spec.currentSlide,\n      edgeFriction = spec.edgeFriction,\n      edgeDragged = spec.edgeDragged,\n      onEdge = spec.onEdge,\n      swiped = spec.swiped,\n      swiping = spec.swiping,\n      slideCount = spec.slideCount,\n      slidesToScroll = spec.slidesToScroll,\n      infinite = spec.infinite,\n      touchObject = spec.touchObject,\n      swipeEvent = spec.swipeEvent,\n      listHeight = spec.listHeight,\n      listWidth = spec.listWidth;\n  if (scrolling) return;\n  if (animating) return safePreventDefault(e);\n  if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n  var swipeLeft,\n      state = {};\n  var curLeft = getTrackLeft(spec);\n  touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n  touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n  touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n  var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n  if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n    return {\n      scrolling: true\n    };\n  }\n\n  if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n  var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n  if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n  var dotCount = Math.ceil(slideCount / slidesToScroll);\n  var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n  var touchSwipeLength = touchObject.swipeLength;\n\n  if (!infinite) {\n    if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n      touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n      if (edgeDragged === false && onEdge) {\n        onEdge(swipeDirection);\n        state[\"edgeDragged\"] = true;\n      }\n    }\n  }\n\n  if (!swiped && swipeEvent) {\n    swipeEvent(swipeDirection);\n    state[\"swiped\"] = true;\n  }\n\n  if (!vertical) {\n    if (!rtl) {\n      swipeLeft = curLeft + touchSwipeLength * positionOffset;\n    } else {\n      swipeLeft = curLeft - touchSwipeLength * positionOffset;\n    }\n  } else {\n    swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n  }\n\n  if (verticalSwiping) {\n    swipeLeft = curLeft + touchSwipeLength * positionOffset;\n  }\n\n  state = _objectSpread(_objectSpread({}, state), {}, {\n    touchObject: touchObject,\n    swipeLeft: swipeLeft,\n    trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n      left: swipeLeft\n    }))\n  });\n\n  if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n    return state;\n  }\n\n  if (touchObject.swipeLength > 10) {\n    state[\"swiping\"] = true;\n    safePreventDefault(e);\n  }\n\n  return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n  var dragging = spec.dragging,\n      swipe = spec.swipe,\n      touchObject = spec.touchObject,\n      listWidth = spec.listWidth,\n      touchThreshold = spec.touchThreshold,\n      verticalSwiping = spec.verticalSwiping,\n      listHeight = spec.listHeight,\n      swipeToSlide = spec.swipeToSlide,\n      scrolling = spec.scrolling,\n      onSwipe = spec.onSwipe,\n      targetSlide = spec.targetSlide,\n      currentSlide = spec.currentSlide,\n      infinite = spec.infinite;\n\n  if (!dragging) {\n    if (swipe) safePreventDefault(e);\n    return {};\n  }\n\n  var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n  var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n  var state = {\n    dragging: false,\n    edgeDragged: false,\n    scrolling: false,\n    swiping: false,\n    swiped: false,\n    swipeLeft: null,\n    touchObject: {}\n  };\n\n  if (scrolling) {\n    return state;\n  }\n\n  if (!touchObject.swipeLength) {\n    return state;\n  }\n\n  if (touchObject.swipeLength > minSwipe) {\n    safePreventDefault(e);\n\n    if (onSwipe) {\n      onSwipe(swipeDirection);\n    }\n\n    var slideCount, newSlide;\n    var activeSlide = infinite ? currentSlide : targetSlide;\n\n    switch (swipeDirection) {\n      case \"left\":\n      case \"up\":\n        newSlide = activeSlide + getSlideCount(spec);\n        slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n        state[\"currentDirection\"] = 0;\n        break;\n\n      case \"right\":\n      case \"down\":\n        newSlide = activeSlide - getSlideCount(spec);\n        slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n        state[\"currentDirection\"] = 1;\n        break;\n\n      default:\n        slideCount = activeSlide;\n    }\n\n    state[\"triggerSlideHandler\"] = slideCount;\n  } else {\n    // Adjust the track back to it's original position.\n    var currentLeft = getTrackLeft(spec);\n    state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n      left: currentLeft\n    }));\n  }\n\n  return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n  var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n  var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n  var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n  var indexes = [];\n\n  while (breakpoint < max) {\n    indexes.push(breakpoint);\n    breakpoint = counter + spec.slidesToScroll;\n    counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n  }\n\n  return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n  var navigables = getNavigableIndexes(spec);\n  var prevNavigable = 0;\n\n  if (index > navigables[navigables.length - 1]) {\n    index = navigables[navigables.length - 1];\n  } else {\n    for (var n in navigables) {\n      if (index < navigables[n]) {\n        index = prevNavigable;\n        break;\n      }\n\n      prevNavigable = navigables[n];\n    }\n  }\n\n  return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n  var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n  if (spec.swipeToSlide) {\n    var swipedSlide;\n    var slickList = spec.listRef;\n    var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n    Array.from(slides).every(function (slide) {\n      if (!spec.vertical) {\n        if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n          swipedSlide = slide;\n          return false;\n        }\n      } else {\n        if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n          swipedSlide = slide;\n          return false;\n        }\n      }\n\n      return true;\n    });\n\n    if (!swipedSlide) {\n      return 0;\n    }\n\n    var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n    var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n    return slidesTraversed;\n  } else {\n    return spec.slidesToScroll;\n  }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n  return keysArray.reduce(function (value, key) {\n    return value && spec.hasOwnProperty(key);\n  }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n  checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n  var trackWidth, trackHeight;\n  var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n  if (!spec.vertical) {\n    trackWidth = getTotalSlides(spec) * spec.slideWidth;\n  } else {\n    trackHeight = trackChildren * spec.slideHeight;\n  }\n\n  var style = {\n    opacity: 1,\n    transition: \"\",\n    WebkitTransition: \"\"\n  };\n\n  if (spec.useTransform) {\n    var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n    var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n    var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n    style = _objectSpread(_objectSpread({}, style), {}, {\n      WebkitTransform: WebkitTransform,\n      transform: transform,\n      msTransform: msTransform\n    });\n  } else {\n    if (spec.vertical) {\n      style[\"top\"] = spec.left;\n    } else {\n      style[\"left\"] = spec.left;\n    }\n  }\n\n  if (spec.fade) style = {\n    opacity: 1\n  };\n  if (trackWidth) style.width = trackWidth;\n  if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n  if (window && !window.addEventListener && window.attachEvent) {\n    if (!spec.vertical) {\n      style.marginLeft = spec.left + \"px\";\n    } else {\n      style.marginTop = spec.left + \"px\";\n    }\n  }\n\n  return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n  checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n  var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n  if (spec.useTransform) {\n    style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n    style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n  } else {\n    if (spec.vertical) {\n      style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n    } else {\n      style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n    }\n  }\n\n  return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n  if (spec.unslick) {\n    return 0;\n  }\n\n  checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n  var slideIndex = spec.slideIndex,\n      trackRef = spec.trackRef,\n      infinite = spec.infinite,\n      centerMode = spec.centerMode,\n      slideCount = spec.slideCount,\n      slidesToShow = spec.slidesToShow,\n      slidesToScroll = spec.slidesToScroll,\n      slideWidth = spec.slideWidth,\n      listWidth = spec.listWidth,\n      variableWidth = spec.variableWidth,\n      slideHeight = spec.slideHeight,\n      fade = spec.fade,\n      vertical = spec.vertical;\n  var slideOffset = 0;\n  var targetLeft;\n  var targetSlide;\n  var verticalOffset = 0;\n\n  if (fade || spec.slideCount === 1) {\n    return 0;\n  }\n\n  var slidesToOffset = 0;\n\n  if (infinite) {\n    slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n    // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n    if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n      slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n    } // shift current slide to center of the frame\n\n\n    if (centerMode) {\n      slidesToOffset += parseInt(slidesToShow / 2);\n    }\n  } else {\n    if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n      slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n    }\n\n    if (centerMode) {\n      slidesToOffset = parseInt(slidesToShow / 2);\n    }\n  }\n\n  slideOffset = slidesToOffset * slideWidth;\n  verticalOffset = slidesToOffset * slideHeight;\n\n  if (!vertical) {\n    targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n  } else {\n    targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n  }\n\n  if (variableWidth === true) {\n    var targetSlideIndex;\n    var trackElem = trackRef && trackRef.node;\n    targetSlideIndex = slideIndex + getPreClones(spec);\n    targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n    targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n    if (centerMode === true) {\n      targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n      targetSlide = trackElem && trackElem.children[targetSlideIndex];\n      targetLeft = 0;\n\n      for (var slide = 0; slide < targetSlideIndex; slide++) {\n        targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n      }\n\n      targetLeft -= parseInt(spec.centerPadding);\n      targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n    }\n  }\n\n  return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n  if (spec.unslick || !spec.infinite) {\n    return 0;\n  }\n\n  if (spec.variableWidth) {\n    return spec.slideCount;\n  }\n\n  return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n  if (spec.unslick || !spec.infinite) {\n    return 0;\n  }\n\n  return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n  return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n  if (spec.targetSlide > spec.currentSlide) {\n    if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n      return \"left\";\n    }\n\n    return \"right\";\n  } else {\n    if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n      return \"right\";\n    }\n\n    return \"left\";\n  }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n  var slidesToShow = _ref.slidesToShow,\n      centerMode = _ref.centerMode,\n      rtl = _ref.rtl,\n      centerPadding = _ref.centerPadding;\n\n  // returns no of slides on the right of active slide\n  if (centerMode) {\n    var right = (slidesToShow - 1) / 2 + 1;\n    if (parseInt(centerPadding) > 0) right += 1;\n    if (rtl && slidesToShow % 2 === 0) right += 1;\n    return right;\n  }\n\n  if (rtl) {\n    return 0;\n  }\n\n  return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n  var slidesToShow = _ref2.slidesToShow,\n      centerMode = _ref2.centerMode,\n      rtl = _ref2.rtl,\n      centerPadding = _ref2.centerPadding;\n\n  // returns no of slides on the left of active slide\n  if (centerMode) {\n    var left = (slidesToShow - 1) / 2 + 1;\n    if (parseInt(centerPadding) > 0) left += 1;\n    if (!rtl && slidesToShow % 2 === 0) left += 1;\n    return left;\n  }\n\n  if (rtl) {\n    return slidesToShow - 1;\n  }\n\n  return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n  return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}