/*
 * anime.js v3.2.1
 * (c) 2020 Julian Garnier
 * Released under the MIT license
 * animejs.com
 */

!(function (n, e) {
    "object" == typeof exports && "undefined" != typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define(e) : (n.anime = e());
})(this, function () {
    "use strict";
    var n = { update: null, begin: null, loopBegin: null, changeBegin: null, change: null, changeComplete: null, loopComplete: null, complete: null, loop: 1, direction: "normal", autoplay: !0, timelineOffset: 0 },
        e = { duration: 1e3, delay: 0, endDelay: 0, easing: "easeOutElastic(1, .5)", round: 0 },
        t = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"],
        r = { CSS: {}, springs: {} };
    function a(n, e, t) {
        return Math.min(Math.max(n, e), t);
    }
    function o(n, e) {
        return n.indexOf(e) > -1;
    }
    function u(n, e) {
        return n.apply(null, e);
    }
    var i = {
        arr: function (n) {
            return Array.isArray(n);
        },
        obj: function (n) {
            return o(Object.prototype.toString.call(n), "Object");
        },
        pth: function (n) {
            return i.obj(n) && n.hasOwnProperty("totalLength");
        },
        svg: function (n) {
            return n instanceof SVGElement;
        },
        inp: function (n) {
            return n instanceof HTMLInputElement;
        },
        dom: function (n) {
            return n.nodeType || i.svg(n);
        },
        str: function (n) {
            return "string" == typeof n;
        },
        fnc: function (n) {
            return "function" == typeof n;
        },
        und: function (n) {
            return void 0 === n;
        },
        nil: function (n) {
            return i.und(n) || null === n;
        },
        hex: function (n) {
            return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n);
        },
        rgb: function (n) {
            return /^rgb/.test(n);
        },
        hsl: function (n) {
            return /^hsl/.test(n);
        },
        col: function (n) {
            return i.hex(n) || i.rgb(n) || i.hsl(n);
        },
        key: function (t) {
            return !n.hasOwnProperty(t) && !e.hasOwnProperty(t) && "targets" !== t && "keyframes" !== t;
        },
    };
    function c(n) {
        var e = /\(([^)]+)\)/.exec(n);
        return e
            ? e[1].split(",").map(function (n) {
                  return parseFloat(n);
              })
            : [];
    }
    function s(n, e) {
        var t = c(n),
            o = a(i.und(t[0]) ? 1 : t[0], 0.1, 100),
            u = a(i.und(t[1]) ? 100 : t[1], 0.1, 100),
            s = a(i.und(t[2]) ? 10 : t[2], 0.1, 100),
            f = a(i.und(t[3]) ? 0 : t[3], 0.1, 100),
            l = Math.sqrt(u / o),
            d = s / (2 * Math.sqrt(u * o)),
            p = d < 1 ? l * Math.sqrt(1 - d * d) : 0,
            v = 1,
            h = d < 1 ? (d * l - f) / p : -f + l;
        function g(n) {
            var t = e ? (e * n) / 1e3 : n;
            return (t = d < 1 ? Math.exp(-t * d * l) * (v * Math.cos(p * t) + h * Math.sin(p * t)) : (v + h * t) * Math.exp(-t * l)), 0 === n || 1 === n ? n : 1 - t;
        }
        return e
            ? g
            : function () {
                  var e = r.springs[n];
                  if (e) return e;
                  for (var t = 0, a = 0; ; )
                      if (1 === g((t += 1 / 6))) {
                          if (++a >= 16) break;
                      } else a = 0;
                  var o = t * (1 / 6) * 1e3;
                  return (r.springs[n] = o), o;
              };
    }
    function f(n) {
        return (
            void 0 === n && (n = 10),
            function (e) {
                return Math.ceil(a(e, 1e-6, 1) * n) * (1 / n);
            }
        );
    }
    var l,
        d,
        p = (function () {
            var n = 11,
                e = 1 / (n - 1);
            function t(n, e) {
                return 1 - 3 * e + 3 * n;
            }
            function r(n, e) {
                return 3 * e - 6 * n;
            }
            function a(n) {
                return 3 * n;
            }
            function o(n, e, o) {
                return ((t(e, o) * n + r(e, o)) * n + a(e)) * n;
            }
            function u(n, e, o) {
                return 3 * t(e, o) * n * n + 2 * r(e, o) * n + a(e);
            }
            return function (t, r, a, i) {
                if (0 <= t && t <= 1 && 0 <= a && a <= 1) {
                    var c = new Float32Array(n);
                    if (t !== r || a !== i) for (var s = 0; s < n; ++s) c[s] = o(s * e, t, a);
                    return function (n) {
                        return t === r && a === i ? n : 0 === n || 1 === n ? n : o(f(n), r, i);
                    };
                }
                function f(r) {
                    for (var i = 0, s = 1, f = n - 1; s !== f && c[s] <= r; ++s) i += e;
                    var l = i + ((r - c[--s]) / (c[s + 1] - c[s])) * e,
                        d = u(l, t, a);
                    return d >= 0.001
                        ? (function (n, e, t, r) {
                              for (var a = 0; a < 4; ++a) {
                                  var i = u(e, t, r);
                                  if (0 === i) return e;
                                  e -= (o(e, t, r) - n) / i;
                              }
                              return e;
                          })(r, l, t, a)
                        : 0 === d
                        ? l
                        : (function (n, e, t, r, a) {
                              for (var u, i, c = 0; (u = o((i = e + (t - e) / 2), r, a) - n) > 0 ? (t = i) : (e = i), Math.abs(u) > 1e-7 && ++c < 10; );
                              return i;
                          })(r, i, i + e, t, a);
                }
            };
        })(),
        v =
            ((l = {
                linear: function () {
                    return function (n) {
                        return n;
                    };
                },
            }),
            (d = {
                Sine: function () {
                    return function (n) {
                        return 1 - Math.cos((n * Math.PI) / 2);
                    };
                },
                Circ: function () {
                    return function (n) {
                        return 1 - Math.sqrt(1 - n * n);
                    };
                },
                Back: function () {
                    return function (n) {
                        return n * n * (3 * n - 2);
                    };
                },
                Bounce: function () {
                    return function (n) {
                        for (var e, t = 4; n < ((e = Math.pow(2, --t)) - 1) / 11; );
                        return 1 / Math.pow(4, 3 - t) - 7.5625 * Math.pow((3 * e - 2) / 22 - n, 2);
                    };
                },
                Elastic: function (n, e) {
                    void 0 === n && (n = 1), void 0 === e && (e = 0.5);
                    var t = a(n, 1, 10),
                        r = a(e, 0.1, 2);
                    return function (n) {
                        return 0 === n || 1 === n ? n : -t * Math.pow(2, 10 * (n - 1)) * Math.sin(((n - 1 - (r / (2 * Math.PI)) * Math.asin(1 / t)) * (2 * Math.PI)) / r);
                    };
                },
            }),
            ["Quad", "Cubic", "Quart", "Quint", "Expo"].forEach(function (n, e) {
                d[n] = function () {
                    return function (n) {
                        return Math.pow(n, e + 2);
                    };
                };
            }),
            Object.keys(d).forEach(function (n) {
                var e = d[n];
                (l["easeIn" + n] = e),
                    (l["easeOut" + n] = function (n, t) {
                        return function (r) {
                            return 1 - e(n, t)(1 - r);
                        };
                    }),
                    (l["easeInOut" + n] = function (n, t) {
                        return function (r) {
                            return r < 0.5 ? e(n, t)(2 * r) / 2 : 1 - e(n, t)(-2 * r + 2) / 2;
                        };
                    }),
                    (l["easeOutIn" + n] = function (n, t) {
                        return function (r) {
                            return r < 0.5 ? (1 - e(n, t)(1 - 2 * r)) / 2 : (e(n, t)(2 * r - 1) + 1) / 2;
                        };
                    });
            }),
            l);
    function h(n, e) {
        if (i.fnc(n)) return n;
        var t = n.split("(")[0],
            r = v[t],
            a = c(n);
        switch (t) {
            case "spring":
                return s(n, e);
            case "cubicBezier":
                return u(p, a);
            case "steps":
                return u(f, a);
            default:
                return u(r, a);
        }
    }
    function g(n) {
        try {
            return document.querySelectorAll(n);
        } catch (n) {
            return;
        }
    }
    function m(n, e) {
        for (var t = n.length, r = arguments.length >= 2 ? arguments[1] : void 0, a = [], o = 0; o < t; o++)
            if (o in n) {
                var u = n[o];
                e.call(r, u, o, n) && a.push(u);
            }
        return a;
    }
    function y(n) {
        return n.reduce(function (n, e) {
            return n.concat(i.arr(e) ? y(e) : e);
        }, []);
    }
    function b(n) {
        return i.arr(n) ? n : (i.str(n) && (n = g(n) || n), n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n]);
    }
    function M(n, e) {
        return n.some(function (n) {
            return n === e;
        });
    }
    function x(n) {
        var e = {};
        for (var t in n) e[t] = n[t];
        return e;
    }
    function w(n, e) {
        var t = x(n);
        for (var r in n) t[r] = e.hasOwnProperty(r) ? e[r] : n[r];
        return t;
    }
    function k(n, e) {
        var t = x(n);
        for (var r in e) t[r] = i.und(n[r]) ? e[r] : n[r];
        return t;
    }
    function O(n) {
        return i.rgb(n)
            ? (t = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec((e = n)))
                ? "rgba(" + t[1] + ",1)"
                : e
            : i.hex(n)
            ? ((r = n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (n, e, t, r) {
                  return e + e + t + t + r + r;
              })),
              (a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r)),
              "rgba(" + parseInt(a[1], 16) + "," + parseInt(a[2], 16) + "," + parseInt(a[3], 16) + ",1)")
            : i.hsl(n)
            ? (function (n) {
                  var e,
                      t,
                      r,
                      a = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n),
                      o = parseInt(a[1], 10) / 360,
                      u = parseInt(a[2], 10) / 100,
                      i = parseInt(a[3], 10) / 100,
                      c = a[4] || 1;
                  function s(n, e, t) {
                      return t < 0 && (t += 1), t > 1 && (t -= 1), t < 1 / 6 ? n + 6 * (e - n) * t : t < 0.5 ? e : t < 2 / 3 ? n + (e - n) * (2 / 3 - t) * 6 : n;
                  }
                  if (0 == u) e = t = r = i;
                  else {
                      var f = i < 0.5 ? i * (1 + u) : i + u - i * u,
                          l = 2 * i - f;
                      (e = s(l, f, o + 1 / 3)), (t = s(l, f, o)), (r = s(l, f, o - 1 / 3));
                  }
                  return "rgba(" + 255 * e + "," + 255 * t + "," + 255 * r + "," + c + ")";
              })(n)
            : void 0;
        var e, t, r, a;
    }
    function C(n) {
        var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n);
        if (e) return e[1];
    }
    function P(n, e) {
        return i.fnc(n) ? n(e.target, e.id, e.total) : n;
    }
    function I(n, e) {
        return n.getAttribute(e);
    }
    function D(n, e, t) {
        if (M([t, "deg", "rad", "turn"], C(e))) return e;
        var a = r.CSS[e + t];
        if (!i.und(a)) return a;
        var o = document.createElement(n.tagName),
            u = n.parentNode && n.parentNode !== document ? n.parentNode : document.body;
        u.appendChild(o), (o.style.position = "absolute"), (o.style.width = 100 + t);
        var c = 100 / o.offsetWidth;
        u.removeChild(o);
        var s = c * parseFloat(e);
        return (r.CSS[e + t] = s), s;
    }
    function B(n, e, t) {
        if (e in n.style) {
            var r = e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(),
                a = n.style[e] || getComputedStyle(n).getPropertyValue(r) || "0";
            return t ? D(n, a, t) : a;
        }
    }
    function T(n, e) {
        return i.dom(n) && !i.inp(n) && (!i.nil(I(n, e)) || (i.svg(n) && n[e])) ? "attribute" : i.dom(n) && M(t, e) ? "transform" : i.dom(n) && "transform" !== e && B(n, e) ? "css" : null != n[e] ? "object" : void 0;
    }
    function E(n) {
        if (i.dom(n)) {
            for (var e, t = n.style.transform || "", r = /(\w+)\(([^)]*)\)/g, a = new Map(); (e = r.exec(t)); ) a.set(e[1], e[2]);
            return a;
        }
    }
    function F(n, e, t, r) {
        var a,
            u = o(e, "scale") ? 1 : 0 + (o((a = e), "translate") || "perspective" === a ? "px" : o(a, "rotate") || o(a, "skew") ? "deg" : void 0),
            i = E(n).get(e) || u;
        return t && (t.transforms.list.set(e, i), (t.transforms.last = e)), r ? D(n, i, r) : i;
    }
    function A(n, e, t, r) {
        switch (T(n, e)) {
            case "transform":
                return F(n, e, r, t);
            case "css":
                return B(n, e, t);
            case "attribute":
                return I(n, e);
            default:
                return n[e] || 0;
        }
    }
    function N(n, e) {
        var t = /^(\*=|\+=|-=)/.exec(n);
        if (!t) return n;
        var r = C(n) || 0,
            a = parseFloat(e),
            o = parseFloat(n.replace(t[0], ""));
        switch (t[0][0]) {
            case "+":
                return a + o + r;
            case "-":
                return a - o + r;
            case "*":
                return a * o + r;
        }
    }
    function S(n, e) {
        if (i.col(n)) return O(n);
        if (/\s/g.test(n)) return n;
        var t = C(n),
            r = t ? n.substr(0, n.length - t.length) : n;
        return e ? r + e : r;
    }
    function L(n, e) {
        return Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2));
    }
    function j(n) {
        for (var e, t = n.points, r = 0, a = 0; a < t.numberOfItems; a++) {
            var o = t.getItem(a);
            a > 0 && (r += L(e, o)), (e = o);
        }
        return r;
    }
    function q(n) {
        if (n.getTotalLength) return n.getTotalLength();
        switch (n.tagName.toLowerCase()) {
            case "circle":
                return (o = n), 2 * Math.PI * I(o, "r");
            case "rect":
                return 2 * I((a = n), "width") + 2 * I(a, "height");
            case "line":
                return L({ x: I((r = n), "x1"), y: I(r, "y1") }, { x: I(r, "x2"), y: I(r, "y2") });
            case "polyline":
                return j(n);
            case "polygon":
                return (t = (e = n).points), j(e) + L(t.getItem(t.numberOfItems - 1), t.getItem(0));
        }
        var e, t, r, a, o;
    }
    function H(n, e) {
        var t = e || {},
            r =
                t.el ||
                (function (n) {
                    for (var e = n.parentNode; i.svg(e) && i.svg(e.parentNode); ) e = e.parentNode;
                    return e;
                })(n),
            a = r.getBoundingClientRect(),
            o = I(r, "viewBox"),
            u = a.width,
            c = a.height,
            s = t.viewBox || (o ? o.split(" ") : [0, 0, u, c]);
        return { el: r, viewBox: s, x: s[0] / 1, y: s[1] / 1, w: u, h: c, vW: s[2], vH: s[3] };
    }
    function V(n, e, t) {
        function r(t) {
            void 0 === t && (t = 0);
            var r = e + t >= 1 ? e + t : 0;
            return n.el.getPointAtLength(r);
        }
        var a = H(n.el, n.svg),
            o = r(),
            u = r(-1),
            i = r(1),
            c = t ? 1 : a.w / a.vW,
            s = t ? 1 : a.h / a.vH;
        switch (n.property) {
            case "x":
                return (o.x - a.x) * c;
            case "y":
                return (o.y - a.y) * s;
            case "angle":
                return (180 * Math.atan2(i.y - u.y, i.x - u.x)) / Math.PI;
        }
    }
    function $(n, e) {
        var t = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,
            r = S(i.pth(n) ? n.totalLength : n, e) + "";
        return { original: r, numbers: r.match(t) ? r.match(t).map(Number) : [0], strings: i.str(n) || e ? r.split(t) : [] };
    }
    function W(n) {
        return m(n ? y(i.arr(n) ? n.map(b) : b(n)) : [], function (n, e, t) {
            return t.indexOf(n) === e;
        });
    }
    function X(n) {
        var e = W(n);
        return e.map(function (n, t) {
            return { target: n, id: t, total: e.length, transforms: { list: E(n) } };
        });
    }
    function Y(n, e) {
        var t = x(e);
        if ((/^spring/.test(t.easing) && (t.duration = s(t.easing)), i.arr(n))) {
            var r = n.length;
            2 === r && !i.obj(n[0]) ? (n = { value: n }) : i.fnc(e.duration) || (t.duration = e.duration / r);
        }
        var a = i.arr(n) ? n : [n];
        return a
            .map(function (n, t) {
                var r = i.obj(n) && !i.pth(n) ? n : { value: n };
                return i.und(r.delay) && (r.delay = t ? 0 : e.delay), i.und(r.endDelay) && (r.endDelay = t === a.length - 1 ? e.endDelay : 0), r;
            })
            .map(function (n) {
                return k(n, t);
            });
    }
    function Z(n, e) {
        var t = [],
            r = e.keyframes;
        for (var a in (r &&
            (e = k(
                (function (n) {
                    for (
                        var e = m(
                                y(
                                    n.map(function (n) {
                                        return Object.keys(n);
                                    })
                                ),
                                function (n) {
                                    return i.key(n);
                                }
                            ).reduce(function (n, e) {
                                return n.indexOf(e) < 0 && n.push(e), n;
                            }, []),
                            t = {},
                            r = function (r) {
                                var a = e[r];
                                t[a] = n.map(function (n) {
                                    var e = {};
                                    for (var t in n) i.key(t) ? t == a && (e.value = n[t]) : (e[t] = n[t]);
                                    return e;
                                });
                            },
                            a = 0;
                        a < e.length;
                        a++
                    )
                        r(a);
                    return t;
                })(r),
                e
            )),
        e))
            i.key(a) && t.push({ name: a, tweens: Y(e[a], n) });
        return t;
    }
    function G(n, e) {
        var t;
        return n.tweens.map(function (r) {
            var a = (function (n, e) {
                    var t = {};
                    for (var r in n) {
                        var a = P(n[r], e);
                        i.arr(a) &&
                            1 ===
                                (a = a.map(function (n) {
                                    return P(n, e);
                                })).length &&
                            (a = a[0]),
                            (t[r] = a);
                    }
                    return (t.duration = parseFloat(t.duration)), (t.delay = parseFloat(t.delay)), t;
                })(r, e),
                o = a.value,
                u = i.arr(o) ? o[1] : o,
                c = C(u),
                s = A(e.target, n.name, c, e),
                f = t ? t.to.original : s,
                l = i.arr(o) ? o[0] : f,
                d = C(l) || C(s),
                p = c || d;
            return (
                i.und(u) && (u = f),
                (a.from = $(l, p)),
                (a.to = $(N(u, l), p)),
                (a.start = t ? t.end : 0),
                (a.end = a.start + a.delay + a.duration + a.endDelay),
                (a.easing = h(a.easing, a.duration)),
                (a.isPath = i.pth(o)),
                (a.isPathTargetInsideSVG = a.isPath && i.svg(e.target)),
                (a.isColor = i.col(a.from.original)),
                a.isColor && (a.round = 1),
                (t = a),
                a
            );
        });
    }
    var Q = {
        css: function (n, e, t) {
            return (n.style[e] = t);
        },
        attribute: function (n, e, t) {
            return n.setAttribute(e, t);
        },
        object: function (n, e, t) {
            return (n[e] = t);
        },
        transform: function (n, e, t, r, a) {
            if ((r.list.set(e, t), e === r.last || a)) {
                var o = "";
                r.list.forEach(function (n, e) {
                    o += e + "(" + n + ") ";
                }),
                    (n.style.transform = o);
            }
        },
    };
    function z(n, e) {
        X(n).forEach(function (n) {
            for (var t in e) {
                var r = P(e[t], n),
                    a = n.target,
                    o = C(r),
                    u = A(a, t, o, n),
                    i = N(S(r, o || C(u)), u),
                    c = T(a, t);
                Q[c](a, t, i, n.transforms, !0);
            }
        });
    }
    function _(n, e) {
        return m(
            y(
                n.map(function (n) {
                    return e.map(function (e) {
                        return (function (n, e) {
                            var t = T(n.target, e.name);
                            if (t) {
                                var r = G(e, n),
                                    a = r[r.length - 1];
                                return { type: t, property: e.name, animatable: n, tweens: r, duration: a.end, delay: r[0].delay, endDelay: a.endDelay };
                            }
                        })(n, e);
                    });
                })
            ),
            function (n) {
                return !i.und(n);
            }
        );
    }
    function R(n, e) {
        var t = n.length,
            r = function (n) {
                return n.timelineOffset ? n.timelineOffset : 0;
            },
            a = {};
        return (
            (a.duration = t
                ? Math.max.apply(
                      Math,
                      n.map(function (n) {
                          return r(n) + n.duration;
                      })
                  )
                : e.duration),
            (a.delay = t
                ? Math.min.apply(
                      Math,
                      n.map(function (n) {
                          return r(n) + n.delay;
                      })
                  )
                : e.delay),
            (a.endDelay = t
                ? a.duration -
                  Math.max.apply(
                      Math,
                      n.map(function (n) {
                          return r(n) + n.duration - n.endDelay;
                      })
                  )
                : e.endDelay),
            a
        );
    }
    var J = 0;
    var K = [],
        U = (function () {
            var n;
            function e(t) {
                for (var r = K.length, a = 0; a < r; ) {
                    var o = K[a];
                    o.paused ? (K.splice(a, 1), r--) : (o.tick(t), a++);
                }
                n = a > 0 ? requestAnimationFrame(e) : void 0;
            }
            return (
                "undefined" != typeof document &&
                    document.addEventListener("visibilitychange", function () {
                        en.suspendWhenDocumentHidden &&
                            (nn()
                                ? (n = cancelAnimationFrame(n))
                                : (K.forEach(function (n) {
                                      return n._onDocumentVisibility();
                                  }),
                                  U()));
                    }),
                function () {
                    n || (nn() && en.suspendWhenDocumentHidden) || !(K.length > 0) || (n = requestAnimationFrame(e));
                }
            );
        })();
    function nn() {
        return !!document && document.hidden;
    }
    function en(t) {
        void 0 === t && (t = {});
        var r,
            o = 0,
            u = 0,
            i = 0,
            c = 0,
            s = null;
        function f(n) {
            var e =
                window.Promise &&
                new Promise(function (n) {
                    return (s = n);
                });
            return (n.finished = e), e;
        }
        var l,
            d,
            p,
            v,
            h,
            g,
            y,
            b,
            M =
                ((d = w(n, (l = t))),
                (p = w(e, l)),
                (v = Z(p, l)),
                (h = X(l.targets)),
                (g = _(h, v)),
                (y = R(g, p)),
                (b = J),
                J++,
                k(d, { id: b, children: [], animatables: h, animations: g, duration: y.duration, delay: y.delay, endDelay: y.endDelay }));
        f(M);
        function x() {
            var n = M.direction;
            "alternate" !== n && (M.direction = "normal" !== n ? "normal" : "reverse"),
                (M.reversed = !M.reversed),
                r.forEach(function (n) {
                    return (n.reversed = M.reversed);
                });
        }
        function O(n) {
            return M.reversed ? M.duration - n : n;
        }
        function C() {
            (o = 0), (u = O(M.currentTime) * (1 / en.speed));
        }
        function P(n, e) {
            e && e.seek(n - e.timelineOffset);
        }
        function I(n) {
            for (var e = 0, t = M.animations, r = t.length; e < r; ) {
                var o = t[e],
                    u = o.animatable,
                    i = o.tweens,
                    c = i.length - 1,
                    s = i[c];
                c &&
                    (s =
                        m(i, function (e) {
                            return n < e.end;
                        })[0] || s);
                for (var f = a(n - s.start - s.delay, 0, s.duration) / s.duration, l = isNaN(f) ? 1 : s.easing(f), d = s.to.strings, p = s.round, v = [], h = s.to.numbers.length, g = void 0, y = 0; y < h; y++) {
                    var b = void 0,
                        x = s.to.numbers[y],
                        w = s.from.numbers[y] || 0;
                    (b = s.isPath ? V(s.value, l * x, s.isPathTargetInsideSVG) : w + l * (x - w)), p && ((s.isColor && y > 2) || (b = Math.round(b * p) / p)), v.push(b);
                }
                var k = d.length;
                if (k) {
                    g = d[0];
                    for (var O = 0; O < k; O++) {
                        d[O];
                        var C = d[O + 1],
                            P = v[O];
                        isNaN(P) || (g += C ? P + C : P + " ");
                    }
                } else g = v[0];
                Q[o.type](u.target, o.property, g, u.transforms), (o.currentValue = g), e++;
            }
        }
        function D(n) {
            M[n] && !M.passThrough && M[n](M);
        }
        function B(n) {
            var e = M.duration,
                t = M.delay,
                l = e - M.endDelay,
                d = O(n);
            (M.progress = a((d / e) * 100, 0, 100)),
                (M.reversePlayback = d < M.currentTime),
                r &&
                    (function (n) {
                        if (M.reversePlayback) for (var e = c; e--; ) P(n, r[e]);
                        else for (var t = 0; t < c; t++) P(n, r[t]);
                    })(d),
                !M.began && M.currentTime > 0 && ((M.began = !0), D("begin")),
                !M.loopBegan && M.currentTime > 0 && ((M.loopBegan = !0), D("loopBegin")),
                d <= t && 0 !== M.currentTime && I(0),
                ((d >= l && M.currentTime !== e) || !e) && I(e),
                d > t && d < l ? (M.changeBegan || ((M.changeBegan = !0), (M.changeCompleted = !1), D("changeBegin")), D("change"), I(d)) : M.changeBegan && ((M.changeCompleted = !0), (M.changeBegan = !1), D("changeComplete")),
                (M.currentTime = a(d, 0, e)),
                M.began && D("update"),
                n >= e &&
                    ((u = 0),
                    M.remaining && !0 !== M.remaining && M.remaining--,
                    M.remaining
                        ? ((o = i), D("loopComplete"), (M.loopBegan = !1), "alternate" === M.direction && x())
                        : ((M.paused = !0), M.completed || ((M.completed = !0), D("loopComplete"), D("complete"), !M.passThrough && "Promise" in window && (s(), f(M)))));
        }
        return (
            (M.reset = function () {
                var n = M.direction;
                (M.passThrough = !1),
                    (M.currentTime = 0),
                    (M.progress = 0),
                    (M.paused = !0),
                    (M.began = !1),
                    (M.loopBegan = !1),
                    (M.changeBegan = !1),
                    (M.completed = !1),
                    (M.changeCompleted = !1),
                    (M.reversePlayback = !1),
                    (M.reversed = "reverse" === n),
                    (M.remaining = M.loop),
                    (r = M.children);
                for (var e = (c = r.length); e--; ) M.children[e].reset();
                ((M.reversed && !0 !== M.loop) || ("alternate" === n && 1 === M.loop)) && M.remaining++, I(M.reversed ? M.duration : 0);
            }),
            (M._onDocumentVisibility = C),
            (M.set = function (n, e) {
                return z(n, e), M;
            }),
            (M.tick = function (n) {
                (i = n), o || (o = i), B((i + (u - o)) * en.speed);
            }),
            (M.seek = function (n) {
                B(O(n));
            }),
            (M.pause = function () {
                (M.paused = !0), C();
            }),
            (M.play = function () {
                M.paused && (M.completed && M.reset(), (M.paused = !1), K.push(M), C(), U());
            }),
            (M.reverse = function () {
                x(), (M.completed = !M.reversed), C();
            }),
            (M.restart = function () {
                M.reset(), M.play();
            }),
            (M.remove = function (n) {
                rn(W(n), M);
            }),
            M.reset(),
            M.autoplay && M.play(),
            M
        );
    }
    function tn(n, e) {
        for (var t = e.length; t--; ) M(n, e[t].animatable.target) && e.splice(t, 1);
    }
    function rn(n, e) {
        var t = e.animations,
            r = e.children;
        tn(n, t);
        for (var a = r.length; a--; ) {
            var o = r[a],
                u = o.animations;
            tn(n, u), u.length || o.children.length || r.splice(a, 1);
        }
        t.length || r.length || e.pause();
    }
    return (
        (en.version = "3.2.1"),
        (en.speed = 1),
        (en.suspendWhenDocumentHidden = !0),
        (en.running = K),
        (en.remove = function (n) {
            for (var e = W(n), t = K.length; t--; ) rn(e, K[t]);
        }),
        (en.get = A),
        (en.set = z),
        (en.convertPx = D),
        (en.path = function (n, e) {
            var t = i.str(n) ? g(n)[0] : n,
                r = e || 100;
            return function (n) {
                return { property: n, el: t, svg: H(t), totalLength: q(t) * (r / 100) };
            };
        }),
        (en.setDashoffset = function (n) {
            var e = q(n);
            return n.setAttribute("stroke-dasharray", e), e;
        }),
        (en.stagger = function (n, e) {
            void 0 === e && (e = {});
            var t = e.direction || "normal",
                r = e.easing ? h(e.easing) : null,
                a = e.grid,
                o = e.axis,
                u = e.from || 0,
                c = "first" === u,
                s = "center" === u,
                f = "last" === u,
                l = i.arr(n),
                d = l ? parseFloat(n[0]) : parseFloat(n),
                p = l ? parseFloat(n[1]) : 0,
                v = C(l ? n[1] : n) || 0,
                g = e.start || 0 + (l ? d : 0),
                m = [],
                y = 0;
            return function (n, e, i) {
                if ((c && (u = 0), s && (u = (i - 1) / 2), f && (u = i - 1), !m.length)) {
                    for (var h = 0; h < i; h++) {
                        if (a) {
                            var b = s ? (a[0] - 1) / 2 : u % a[0],
                                M = s ? (a[1] - 1) / 2 : Math.floor(u / a[0]),
                                x = b - (h % a[0]),
                                w = M - Math.floor(h / a[0]),
                                k = Math.sqrt(x * x + w * w);
                            "x" === o && (k = -x), "y" === o && (k = -w), m.push(k);
                        } else m.push(Math.abs(u - h));
                        y = Math.max.apply(Math, m);
                    }
                    r &&
                        (m = m.map(function (n) {
                            return r(n / y) * y;
                        })),
                        "reverse" === t &&
                            (m = m.map(function (n) {
                                return o ? (n < 0 ? -1 * n : -n) : Math.abs(y - n);
                            }));
                }
                return g + (l ? (p - d) / y : d) * (Math.round(100 * m[e]) / 100) + v;
            };
        }),
        (en.timeline = function (n) {
            void 0 === n && (n = {});
            var t = en(n);
            return (
                (t.duration = 0),
                (t.add = function (r, a) {
                    var o = K.indexOf(t),
                        u = t.children;
                    function c(n) {
                        n.passThrough = !0;
                    }
                    o > -1 && K.splice(o, 1);
                    for (var s = 0; s < u.length; s++) c(u[s]);
                    var f = k(r, w(e, n));
                    f.targets = f.targets || n.targets;
                    var l = t.duration;
                    (f.autoplay = !1), (f.direction = t.direction), (f.timelineOffset = i.und(a) ? l : N(a, l)), c(t), t.seek(f.timelineOffset);
                    var d = en(f);
                    c(d), u.push(d);
                    var p = R(u, n);
                    return (t.delay = p.delay), (t.endDelay = p.endDelay), (t.duration = p.duration), t.seek(0), t.reset(), t.autoplay && t.play(), t;
                }),
                t
            );
        }),
        (en.easing = h),
        (en.penner = v),
        (en.random = function (n, e) {
            return Math.floor(Math.random() * (e - n + 1)) + n;
        }),
        en
    );
});
