var v = false,
  o,
  f,
  s,
  u,
  d,
  N,
  l,
  p,
  m,
  w,
  D,
  x,
  E,
  M,
  F;
function a() {
  if (!v) {
    v = true;
    var e = navigator.userAgent,
      n = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),
      i = /(Mac OS X)|(Windows)|(Linux)/.exec(e);
    if (x = /\b(iPhone|iP[ao]d)/.exec(e), E = /\b(iP[ao]d)/.exec(e), w = /Android/i.exec(e), M = /FBAN\/\w+;/i.exec(e), F = /Mobile/i.exec(e), D = !!/Win64/.exec(e), n) {
      o = n[1] ? parseFloat(n[1]) : n[5] ? parseFloat(n[5]) : NaN, o && document && document.documentMode && (o = document.documentMode);
      var r = /(?:Trident\/(\d+.\d+))/.exec(e);
      N = r ? parseFloat(r[1]) + 4 : o, f = n[2] ? parseFloat(n[2]) : NaN, s = n[3] ? parseFloat(n[3]) : NaN, u = n[4] ? parseFloat(n[4]) : NaN, u ? (n = /(?:Chrome\/(\d+\.\d+))/.exec(e), d = n && n[1] ? parseFloat(n[1]) : NaN) : d = NaN;
    } else o = f = s = d = u = NaN;
    if (i) {
      if (i[1]) {
        var t = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);
        l = t ? parseFloat(t[1].replace(`\u005f`, `\u002e`)) : true;
      } else l = false;
      p = !!i[2], m = !!i[3];
    } else l = p = m = false;
  }
}
var _ = {
    ie: function () {
      return a() || o;
    },
    ieCompatibilityMode: function () {
      return a() || N > o;
    },
    ie64: function () {
      return _.ie() && D;
    },
    firefox: function () {
      return a() || f;
    },
    opera: function () {
      return a() || s;
    },
    webkit: function () {
      return a() || u;
    },
    safari: function () {
      return _.webkit();
    },
    chrome: function () {
      return a() || d;
    },
    windows: function () {
      return a() || p;
    },
    osx: function () {
      return a() || l;
    },
    linux: function () {
      return a() || m;
    },
    iphone: function () {
      return a() || x;
    },
    mobile: function () {
      return a() || x || E || w || F;
    },
    nativeApp: function () {
      return a() || M;
    },
    android: function () {
      return a() || w;
    },
    ipad: function () {
      return a() || E;
    }
  },
  A = _;
var c = !!(typeof window < `\u0075` && window.document && window.document.createElement),
  U = {
    canUseDOM: c
  },
  h = U;
var X;
h.canUseDOM && (X = document.implementation && document.implementation.hasFeature && document.implementation.hasFeature(``, ``) !== true);
function S(e, n) {
  if (!h.canUseDOM || n && !(`\u0061\u0064\u0064\u0045\u0076\u0065\u006e\u0074\u004c\u0069\u0073\u0074\u0065\u006e\u0065\u0072` in document)) return false;
  var i = `\u006f\u006e` + e,
    r = i in document;
  if (!r) {
    var t = document.createElement(`\u0064\u0069\u0076`);
    t.setAttribute(i, `\u0072\u0065\u0074\u0075\u0072\u006e\u003b`), r = typeof t[i] == `\u0066\u0075\u006e\u0063\u0074\u0069\u006f\u006e`;
  }
  return !r && X && e === `\u0077\u0068\u0065\u0065\u006c` && (r = document.implementation.hasFeature(`\u0045\u0076\u0065\u006e\u0074\u0073\u002e\u0077\u0068\u0065\u0065\u006c`, `\u0033\u002e\u0030`)), r;
}
var b = S;
var O = 10,
  I = 40,
  P = 800;
function T(e) {
  var n = 0,
    i = 0,
    r = 0,
    t = 0;
  return `\u0064\u0065\u0074\u0061\u0069\u006c` in e && (i = e.detail), `\u0077\u0068\u0065\u0065\u006c\u0044\u0065\u006c\u0074\u0061` in e && (i = -e.wheelDelta / 120), `\u0077\u0068\u0065\u0065\u006c\u0044\u0065\u006c\u0074\u0061\u0059` in e && (i = -e.wheelDeltaY / 120), `\u0077\u0068\u0065\u0065\u006c\u0044\u0065\u006c\u0074\u0061\u0058` in e && (n = -e.wheelDeltaX / 120), `\u0061\u0078\u0069\u0073` in e && e.axis === e.HORIZONTAL_AXIS && (n = i, i = 0), r = n * O, t = i * O, `\u0064\u0065\u006c\u0074\u0061\u0059` in e && (t = e.deltaY), `\u0064\u0065\u006c\u0074\u0061\u0058` in e && (r = e.deltaX), (r || t) && e.deltaMode && (e.deltaMode == 1 ? (r *= I, t *= I) : (r *= P, t *= P)), r && !n && (n = r < 1 ? -1 : 1), t && !i && (i = t < 1 ? -1 : 1), {
    spinX: n,
    spinY: i,
    pixelX: r,
    pixelY: t
  };
}
T.getEventType = function () {
  return A.firefox() ? `\u0044\u004f\u004d\u004d\u006f\u0075\u0073\u0065\u0053\u0063\u0072\u006f\u006c\u006c` : b(`\u0077\u0068\u0065\u0065\u006c`) ? `\u0077\u0068\u0065\u0065\u006c` : `\u006d\u006f\u0075\u0073\u0065\u0077\u0068\u0065\u0065\u006c`;
};
var Y = T;
/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
export { Y };