Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/public_html/frontend/assets/js/gsap/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/*! * MotionPathPlugin 3.11.4 * https://greensock.com * * @license Copyright 2022, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ ! function(t, e) { "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e((t = t || self).window = t.window || {}) }(this, function(t) { "use strict"; function p(t) { return "string" == typeof t } function x(t) { return Math.round(1e10 * t) / 1e10 || 0 } function y(t, e, n, r) { var a = t[e], o = 1 === r ? 6 : subdivideSegment(a, n, r); if (o && o + n + 2 < a.length) return t.splice(e, 0, a.slice(0, n + o + 2)), a.splice(0, n + o), 1 } function C(t, e) { var n = t.length, r = t[n - 1] || [], a = r.length; n && e[0] === r[a - 2] && e[1] === r[a - 1] && (e = r.concat(e.slice(2)), n--), t[n] = e } var M = /[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, T = /(?:(-)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi, L = /[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi, r = /(^[#\.][a-z]|[a-y][a-z])/i, V = Math.PI / 180, s = 180 / Math.PI, F = Math.sin, U = Math.cos, H = Math.abs, $ = Math.sqrt, l = Math.atan2, A = 1e8, h = function _isNumber(t) { return "number" == typeof t }, S = {}, _ = {}, e = 1e5, d = function _wrapProgress(t) { return Math.round((t + A) % 1 * e) / e || (t < 0 ? 0 : 1) }, N = function _round(t) { return Math.round(t * e) / e || 0 }, m = function _getSampleIndex(t, e, n) { var r = t.length, a = ~~(n * r); if (t[a] > e) { for (; --a && t[a] > e;); a < 0 && (a = 0) } else for (; t[++a] < e && a < r;); return a < r ? a : r - 1 }, O = function _copyMetaData(t, e) { return e.totalLength = t.totalLength, t.samples ? (e.samples = t.samples.slice(0), e.lookup = t.lookup.slice(0), e.minLength = t.minLength, e.resolution = t.resolution) : t.totalPoints && (e.totalPoints = t.totalPoints), e }; function getRawPath(t) { var e, n = (t = p(t) && r.test(t) && document.querySelector(t) || t).getAttribute ? t : 0; return n && (t = t.getAttribute("d")) ? (n._gsPath || (n._gsPath = {}), (e = n._gsPath[t]) && !e._dirty ? e : n._gsPath[t] = stringToRawPath(t)) : t ? p(t) ? stringToRawPath(t) : h(t[0]) ? [t] : t : console.warn("Expecting a <path> element or an SVG path data string") } function reverseSegment(t) { var e, n = 0; for (t.reverse(); n < t.length; n += 2) e = t[n], t[n] = t[n + 1], t[n + 1] = e; t.reversed = !t.reversed } var B = { rect: "rx,ry,x,y,width,height", circle: "r,cx,cy", ellipse: "rx,ry,cx,cy", line: "x1,x2,y1,y2" }; function convertToPath(t, e) { var n, r, a, o, i, s, l, h, u, g, f, c, p, d, m, v, y, x, w, P, b, M, R = t.tagName.toLowerCase(), L = .552284749831; return "path" !== R && t.getBBox ? (s = function _createPath(t, e) { var n, r = document.createElementNS("http://www.w3.org/2000/svg", "path"), a = [].slice.call(t.attributes), o = a.length; for (e = "," + e + ","; - 1 < --o;) n = a[o].nodeName.toLowerCase(), e.indexOf("," + n + ",") < 0 && r.setAttributeNS(null, n, a[o].nodeValue); return r }(t, "x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points"), M = function _attrToObj(t, e) { for (var n = e ? e.split(",") : [], r = {}, a = n.length; - 1 < --a;) r[n[a]] = +t.getAttribute(n[a]) || 0; return r }(t, B[R]), "rect" === R ? (o = M.rx, i = M.ry || o, r = M.x, a = M.y, g = M.width - 2 * o, f = M.height - 2 * i, n = o || i ? "M" + (v = (d = (p = r + o) + g) + o) + "," + (x = a + i) + " V" + (w = x + f) + " C" + [v, P = w + i * L, m = d + o * L, b = w + i, d, b, d - (d - p) / 3, b, p + (d - p) / 3, b, p, b, c = r + o * (1 - L), b, r, P, r, w, r, w - (w - x) / 3, r, x + (w - x) / 3, r, x, r, y = a + i * (1 - L), c, a, p, a, p + (d - p) / 3, a, d - (d - p) / 3, a, d, a, m, a, v, y, v, x].join(",") + "z" : "M" + (r + g) + "," + a + " v" + f + " h" + -g + " v" + -f + " h" + g + "z") : "circle" === R || "ellipse" === R ? (h = "circle" === R ? (o = i = M.r) * L : (o = M.rx, (i = M.ry) * L), n = "M" + ((r = M.cx) + o) + "," + (a = M.cy) + " C" + [r + o, a + h, r + (l = o * L), a + i, r, a + i, r - l, a + i, r - o, a + h, r - o, a, r - o, a - h, r - l, a - i, r, a - i, r + l, a - i, r + o, a - h, r + o, a].join(",") + "z") : "line" === R ? n = "M" + M.x1 + "," + M.y1 + " L" + M.x2 + "," + M.y2 : "polyline" !== R && "polygon" !== R || (n = "M" + (r = (u = (t.getAttribute("points") + "").match(T) || []).shift()) + "," + (a = u.shift()) + " L" + u.join(","), "polygon" === R && (n += "," + r + "," + a + "z")), s.setAttribute("d", rawPathToString(s._gsRawPath = stringToRawPath(n))), e && t.parentNode && (t.parentNode.insertBefore(s, t), t.parentNode.removeChild(t)), s) : t } function getRotationAtBezierT(t, e, n) { var r, a = t[e], o = t[e + 2], i = t[e + 4]; return a += (o - a) * n, a += ((o += (i - o) * n) - a) * n, r = o + (i + (t[e + 6] - i) * n - o) * n - a, a = t[e + 1], a += ((o = t[e + 3]) - a) * n, a += ((o += ((i = t[e + 5]) - o) * n) - a) * n, N(l(o + (i + (t[e + 7] - i) * n - o) * n - a, r) * s) } function sliceRawPath(t, e, n) { n = function _isUndefined(t) { return void 0 === t }(n) ? 1 : x(n) || 0, e = x(e) || 0; var r = Math.max(0, ~~(H(n - e) - 1e-8)), a = function copyRawPath(t) { for (var e = [], n = 0; n < t.length; n++) e[n] = O(t[n], t[n].slice(0)); return O(t, e) }(t); if (n < e && (e = 1 - e, n = 1 - n, function _reverseRawPath(t, e) { var n = t.length; for (e || t.reverse(); n--;) t[n].reversed || reverseSegment(t[n]) }(a), a.totalLength = 0), e < 0 || n < 0) { var o = Math.abs(~~Math.min(e, n)) + 1; e += o, n += o } a.totalLength || cacheRawPathMeasurements(a); var i, s, l, h, u, g, f, c, p = 1 < n, d = getProgressData(a, e, S, !0), m = getProgressData(a, n, _), v = m.segment, w = d.segment, P = m.segIndex, b = d.segIndex, M = m.i, R = d.i, L = b === P, T = M === R && L; if (p || r) { for (i = P < b || L && M < R || T && m.t < d.t, y(a, b, R, d.t) && (b++, i || (P++, T ? (m.t = (m.t - d.t) / (1 - d.t), M = 0) : L && (M -= R))), Math.abs(1 - (n - e)) < 1e-5 ? P = b - 1 : !m.t && P ? P-- : y(a, P, M, m.t) && i && b++, 1 === d.t && (b = (b + 1) % a.length), u = [], f = 1 + (g = a.length) * r, f += (g - (c = b) + P) % g, h = 0; h < f; h++) C(u, a[c++ % g]); a = u } else if (l = 1 === m.t ? 6 : subdivideSegment(v, M, m.t), e !== n) for (s = subdivideSegment(w, R, T ? d.t / m.t : d.t), L && (l += s), v.splice(M + l + 2), (s || R) && w.splice(0, R + s), h = a.length; h--;)(h < b || P < h) && a.splice(h, 1); else v.angle = getRotationAtBezierT(v, M + l, 0), d = v[M += l], m = v[M + 1], v.length = v.totalLength = 0, v.totalPoints = a.totalPoints = 8, v.push(d, m, d, m, d, m, d, m); return a.totalLength = 0, a } function measureSegment(t, e, n) { e = e || 0, t.samples || (t.samples = [], t.lookup = []); var r, a, o, i, s, l, h, u, g, f, c, p, d, m, v, y, x, w = ~~t.resolution || 12, P = 1 / w, b = n ? e + 6 * n + 1 : t.length, M = t[e], R = t[e + 1], L = e ? e / 6 * w : 0, T = t.samples, S = t.lookup, C = (e ? t.minLength : A) || A, _ = T[L + n * w - 1], N = e ? T[L - 1] : 0; for (T.length = S.length = 0, a = e + 2; a < b; a += 6) { if (o = t[a + 4] - M, i = t[a + 2] - M, s = t[a] - M, u = t[a + 5] - R, g = t[a + 3] - R, f = t[a + 1] - R, l = h = c = p = 0, H(o) < .01 && H(u) < .01 && H(s) + H(f) < .01) 8 < t.length && (t.splice(a, 6), a -= 6, b -= 6); else for (r = 1; r <= w; r++) l = h - (h = ((m = P * r) * m * o + 3 * (d = 1 - m) * (m * i + d * s)) * m), c = p - (p = (m * m * u + 3 * d * (m * g + d * f)) * m), (y = $(c * c + l * l)) < C && (C = y), N += y, T[L++] = N; M += o, R += u } if (_) for (_ -= N; L < T.length; L++) T[L] += _; if (T.length && C) { if (t.totalLength = x = T[T.length - 1] || 0, x / (t.minLength = C) < 9999) for (y = v = 0, r = 0; r < x; r += C) S[y++] = T[v] < r ? ++v : v } else t.totalLength = T[0] = 0; return e ? N - T[e / 2 - 1] : N } function cacheRawPathMeasurements(t, e) { var n, r, a; for (a = n = r = 0; a < t.length; a++) t[a].resolution = ~~e || 12, r += t[a].length, n += measureSegment(t[a]); return t.totalPoints = r, t.totalLength = n, t } function subdivideSegment(t, e, n) { if (n <= 0 || 1 <= n) return 0; var r = t[e], a = t[e + 1], o = t[e + 2], i = t[e + 3], s = t[e + 4], l = t[e + 5], h = r + (o - r) * n, u = o + (s - o) * n, g = a + (i - a) * n, f = i + (l - i) * n, c = h + (u - h) * n, p = g + (f - g) * n, d = s + (t[e + 6] - s) * n, m = l + (t[e + 7] - l) * n; return u += (d - u) * n, f += (m - f) * n, t.splice(e + 2, 4, N(h), N(g), N(c), N(p), N(c + (u - c) * n), N(p + (f - p) * n), N(u), N(f), N(d), N(m)), t.samples && t.samples.splice(e / 6 * t.resolution | 0, 0, 0, 0, 0, 0, 0, 0), 6 } function getProgressData(t, e, n, r) { n = n || {}, t.totalLength || cacheRawPathMeasurements(t), (e < 0 || 1 < e) && (e = d(e)); var a, o, i, s, l, h, u, g = 0, f = t[0]; if (e) if (1 === e) u = 1, h = (f = t[g = t.length - 1]).length - 8; else { if (1 < t.length) { for (i = t.totalLength * e, l = h = 0; (l += t[h++].totalLength) < i;) g = h; e = (i - (s = l - (f = t[g]).totalLength)) / (l - s) || 0 } a = f.samples, o = f.resolution, i = f.totalLength * e, s = (h = f.lookup.length ? f.lookup[~~(i / f.minLength)] || 0 : m(a, i, e)) ? a[h - 1] : 0, (l = a[h]) < i && (s = l, l = a[++h]), u = 1 / o * ((i - s) / (l - s) + h % o), h = 6 * ~~(h / o), r && 1 === u && (h + 6 < f.length ? (h += 6, u = 0) : g + 1 < t.length && (h = u = 0, f = t[++g])) } else u = h = g = 0, f = t[0]; return n.t = u, n.i = h, n.path = t, n.segment = f, n.segIndex = g, n } function getPositionOnPath(t, e, n, r) { var a, o, i, s, l, h, u, g, f, c = t[0], p = r || {}; if ((e < 0 || 1 < e) && (e = d(e)), 1 < t.length) { for (i = t.totalLength * e, l = h = 0; (l += t[h++].totalLength) < i;) c = t[h]; e = (i - (s = l - c.totalLength)) / (l - s) || 0 } return a = c.samples, o = c.resolution, i = c.totalLength * e, s = (h = c.lookup.length ? c.lookup[e < 1 ? ~~(i / c.minLength) : c.lookup.length - 1] || 0 : m(a, i, e)) ? a[h - 1] : 0, (l = a[h]) < i && (s = l, l = a[++h]), f = 1 - (u = 1 / o * ((i - s) / (l - s) + h % o) || 0), g = c[h = 6 * ~~(h / o)], p.x = N((u * u * (c[h + 6] - g) + 3 * f * (u * (c[h + 4] - g) + f * (c[h + 2] - g))) * u + g), p.y = N((u * u * (c[h + 7] - (g = c[h + 1])) + 3 * f * (u * (c[h + 5] - g) + f * (c[h + 3] - g))) * u + g), n && (p.angle = c.totalLength ? getRotationAtBezierT(c, h, 1 <= u ? 1 - 1e-9 : u || 1e-9) : c.angle || 0), p } function transformRawPath(t, e, n, r, a, o, i) { for (var s, l, h, u, g, f = t.length; - 1 < --f;) for (l = (s = t[f]).length, h = 0; h < l; h += 2) u = s[h], g = s[h + 1], s[h] = u * e + g * r + o, s[h + 1] = u * n + g * a + i; return t._dirty = 1, t } function arcToSegment(t, e, n, r, a, o, i, s, l) { if (t !== s || e !== l) { n = H(n), r = H(r); var h = a % 360 * V, u = U(h), g = F(h), f = Math.PI, c = 2 * f, p = (t - s) / 2, d = (e - l) / 2, m = u * p + g * d, v = -g * p + u * d, y = m * m, x = v * v, w = y / (n * n) + x / (r * r); 1 < w && (n = $(w) * n, r = $(w) * r); var P = n * n, b = r * r, M = (P * b - P * x - b * y) / (P * x + b * y); M < 0 && (M = 0); var R = (o === i ? -1 : 1) * $(M), L = n * v / r * R, T = -r * m / n * R, S = u * L - g * T + (t + s) / 2, C = g * L + u * T + (e + l) / 2, _ = (m - L) / n, N = (v - T) / r, A = (-m - L) / n, O = (-v - T) / r, B = _ * _ + N * N, I = (N < 0 ? -1 : 1) * Math.acos(_ / $(B)), D = (_ * O - N * A < 0 ? -1 : 1) * Math.acos((_ * A + N * O) / $(B * (A * A + O * O))); isNaN(D) && (D = f), !i && 0 < D ? D -= c : i && D < 0 && (D += c), I %= c, D %= c; var E, X = Math.ceil(H(D) / (c / 4)), z = [], G = D / X, k = 4 / 3 * F(G / 2) / (1 + U(G / 2)), Z = u * n, q = g * n, Y = g * -r, j = u * r; for (E = 0; E < X; E++) m = U(a = I + E * G), v = F(a), _ = U(a += G), N = F(a), z.push(m - k * v, v + k * m, _ + k * N, N - k * _, _, N); for (E = 0; E < z.length; E += 2) m = z[E], v = z[E + 1], z[E] = m * Z + v * Y + S, z[E + 1] = m * q + v * j + C; return z[E - 2] = s, z[E - 1] = l, z } } function stringToRawPath(t) { function Cf(t, e, n, r) { u = (n - t) / 3, g = (r - e) / 3, s.push(t + u, e + g, n - u, r - g, n, r) } var e, n, r, a, o, i, s, l, h, u, g, f, c, p, d, m = (t + "").replace(L, function(t) { var e = +t; return e < 1e-4 && -1e-4 < e ? 0 : e }).match(M) || [], v = [], y = 0, x = 0, w = m.length, P = 0, b = "ERROR: malformed path: " + t; if (!t || !isNaN(m[0]) || isNaN(m[1])) return console.log(b), v; for (e = 0; e < w; e++) if (c = o, isNaN(m[e]) ? i = (o = m[e].toUpperCase()) !== m[e] : e--, r = +m[e + 1], a = +m[e + 2], i && (r += y, a += x), e || (l = r, h = a), "M" === o) s && (s.length < 8 ? --v.length : P += s.length), y = l = r, x = h = a, s = [r, a], v.push(s), e += 2, o = "L"; else if ("C" === o) i || (y = x = 0), (s = s || [0, 0]).push(r, a, y + 1 * m[e + 3], x + 1 * m[e + 4], y += 1 * m[e + 5], x += 1 * m[e + 6]), e += 6; else if ("S" === o) u = y, g = x, "C" !== c && "S" !== c || (u += y - s[s.length - 4], g += x - s[s.length - 3]), i || (y = x = 0), s.push(u, g, r, a, y += 1 * m[e + 3], x += 1 * m[e + 4]), e += 4; else if ("Q" === o) u = y + 2 / 3 * (r - y), g = x + 2 / 3 * (a - x), i || (y = x = 0), y += 1 * m[e + 3], x += 1 * m[e + 4], s.push(u, g, y + 2 / 3 * (r - y), x + 2 / 3 * (a - x), y, x), e += 4; else if ("T" === o) u = y - s[s.length - 4], g = x - s[s.length - 3], s.push(y + u, x + g, r + 2 / 3 * (y + 1.5 * u - r), a + 2 / 3 * (x + 1.5 * g - a), y = r, x = a), e += 2; else if ("H" === o) Cf(y, x, y = r, x), e += 1; else if ("V" === o) Cf(y, x, y, x = r + (i ? x - y : 0)), e += 1; else if ("L" === o || "Z" === o) "Z" === o && (r = l, a = h, s.closed = !0), ("L" === o || .5 < H(y - r) || .5 < H(x - a)) && (Cf(y, x, r, a), "L" === o && (e += 2)), y = r, x = a; else if ("A" === o) { if (p = m[e + 4], d = m[e + 5], u = m[e + 6], g = m[e + 7], n = 7, 1 < p.length && (p.length < 3 ? (g = u, u = d, n--) : (g = d, u = p.substr(2), n -= 2), d = p.charAt(1), p = p.charAt(0)), f = arcToSegment(y, x, +m[e + 1], +m[e + 2], +m[e + 3], +p, +d, (i ? y : 0) + 1 * u, (i ? x : 0) + 1 * g), e += n, f) for (n = 0; n < f.length; n++) s.push(f[n]); y = s[s.length - 2], x = s[s.length - 1] } else console.log(b); return (e = s.length) < 6 ? (v.pop(), e = 0) : s[0] === s[e - 2] && s[1] === s[e - 1] && (s.closed = !0), v.totalPoints = P + e, v } function flatPointsToSegment(t, e) { void 0 === e && (e = 1); for (var n = t[0], r = 0, a = [n, r], o = 2; o < t.length; o += 2) a.push(n, r, t[o], r = (t[o] - n) * e / 2, n = t[o], -r); return a } function pointsToSegment(t, e) { H(t[0] - t[2]) < 1e-4 && H(t[1] - t[3]) < 1e-4 && (t = t.slice(2)); var n, r, a, o, i, s, l, h, u, g, f, c, p, d, m = t.length - 2, v = +t[0], y = +t[1], x = +t[2], w = +t[3], P = [v, y, v, y], b = x - v, M = w - y, R = Math.abs(t[m] - v) < .001 && Math.abs(t[m + 1] - y) < .001; for (R && (t.push(x, w), x = v, w = y, v = t[m - 2], y = t[m - 1], t.unshift(v, y), m += 4), e = e || 0 === e ? +e : 1, a = 2; a < m; a += 2) n = v, r = y, v = x, y = w, x = +t[a + 2], w = +t[a + 3], v === x && y === w || (o = b, i = M, b = x - v, M = w - y, h = ((s = $(o * o + i * i)) + (l = $(b * b + M * M))) * e * .25 / $(Math.pow(b / l + o / s, 2) + Math.pow(M / l + i / s, 2)), f = v - ((u = v - (v - n) * (s ? h / s : 0)) + (((g = v + (x - v) * (l ? h / l : 0)) - u) * (3 * s / (s + l) + .5) / 4 || 0)), d = y - ((c = y - (y - r) * (s ? h / s : 0)) + (((p = y + (w - y) * (l ? h / l : 0)) - c) * (3 * s / (s + l) + .5) / 4 || 0)), v === n && y === r || P.push(N(u + f), N(c + d), N(v), N(y), N(g + f), N(p + d))); return v !== x || y !== w || P.length < 4 ? P.push(N(x), N(w), N(x), N(w)) : P.length -= 2, 2 === P.length ? P.push(v, y, v, y, v, y) : R && (P.splice(0, 6), P.length = P.length - 6), P } function rawPathToString(t) { h(t[0]) && (t = [t]); var e, n, r, a, o = "", i = t.length; for (n = 0; n < i; n++) { for (a = t[n], o += "M" + N(a[0]) + "," + N(a[1]) + " C", e = a.length, r = 2; r < e; r++) o += N(a[r++]) + "," + N(a[r++]) + " " + N(a[r++]) + "," + N(a[r++]) + " " + N(a[r++]) + "," + N(a[r]) + " "; a.closed && (o += "z") } return o } function R(t) { var e = t.ownerDocument || t; !(z in t.style) && "msTransform" in t.style && (G = (z = "msTransform") + "Origin"); for (; e.parentNode && (e = e.parentNode);); if (v = window, I = new Y, e) { w = (c = e).documentElement, P = e.body, (D = c.createElementNS("http://www.w3.org/2000/svg", "g")).style.transform = "none"; var n = e.createElement("div"), r = e.createElement("div"); P.appendChild(n), n.appendChild(r), n.style.position = "static", n.style[z] = "translate3d(0,0,1px)", E = r.offsetParent !== n, P.removeChild(n) } return e } function X(t) { return t.ownerSVGElement || ("svg" === (t.tagName + "").toLowerCase() ? t : null) } function Z(t, e) { if (t.parentNode && (c || R(t))) { var n = X(t), r = n ? n.getAttribute("xmlns") || "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", a = n ? e ? "rect" : "g" : "div", o = 2 !== e ? 0 : 100, i = 3 === e ? 100 : 0, s = "position:absolute;display:block;pointer-events:none;margin:0;padding:0;", l = c.createElementNS ? c.createElementNS(r.replace(/^https/, "http"), a) : c.createElement(a); return e && (n ? (b = b || Z(t), l.setAttribute("width", .01), l.setAttribute("height", .01), l.setAttribute("transform", "translate(" + o + "," + i + ")"), b.appendChild(l)) : (f || ((f = Z(t)).style.cssText = s), l.style.cssText = s + "width:0.1px;height:0.1px;top:" + i + "px;left:" + o + "px", f.appendChild(l))), l } throw "Need document and parent." } function aa(t, e) { var n, r, a, o, i, s, l = X(t), h = t === l, u = l ? k : q, g = t.parentNode; if (t === v) return t; if (u.length || u.push(Z(t, 1), Z(t, 2), Z(t, 3)), n = l ? b : f, l) h ? (o = -(a = function _getCTM(t) { var e, n = t.getCTM(); return n || (e = t.style[z], t.style[z] = "none", t.appendChild(D), n = D.getCTM(), t.removeChild(D), e ? t.style[z] = e : t.style.removeProperty(z.replace(/([A-Z])/g, "-$1").toLowerCase())), n || I.clone() }(t)).e / a.a, i = -a.f / a.d, r = I) : t.getBBox ? (a = t.getBBox(), o = (r = (r = t.transform ? t.transform.baseVal : {}).numberOfItems ? 1 < r.numberOfItems ? function _consolidate(t) { for (var e = new Y, n = 0; n < t.numberOfItems; n++) e.multiply(t.getItem(n).matrix); return e }(r) : r.getItem(0).matrix : I).a * a.x + r.c * a.y, i = r.b * a.x + r.d * a.y) : (r = new Y, o = i = 0), e && "g" === t.tagName.toLowerCase() && (o = i = 0), (h ? l : g).appendChild(n), n.setAttribute("transform", "matrix(" + r.a + "," + r.b + "," + r.c + "," + r.d + "," + (r.e + o) + "," + (r.f + i) + ")"); else { if (o = i = 0, E) for (r = t.offsetParent, a = t; (a = a && a.parentNode) && a !== r && a.parentNode;) 4 < (v.getComputedStyle(a)[z] + "").length && (o = a.offsetLeft, i = a.offsetTop, a = 0); if ("absolute" !== (s = v.getComputedStyle(t)).position && "fixed" !== s.position) for (r = t.offsetParent; g && g !== r;) o += g.scrollLeft || 0, i += g.scrollTop || 0, g = g.parentNode; (a = n.style).top = t.offsetTop - i + "px", a.left = t.offsetLeft - o + "px", a[z] = s[z], a[G] = s[G], a.position = "fixed" === s.position ? "fixed" : "absolute", t.parentNode.appendChild(n) } return n } function ba(t, e, n, r, a, o, i) { return t.a = e, t.b = n, t.c = r, t.d = a, t.e = o, t.f = i, t } var c, v, w, P, f, b, I, D, E, n, z = "transform", G = z + "Origin", k = [], q = [], Y = ((n = Matrix2D.prototype).inverse = function inverse() { var t = this.a, e = this.b, n = this.c, r = this.d, a = this.e, o = this.f, i = t * r - e * n || 1e-10; return ba(this, r / i, -e / i, -n / i, t / i, (n * o - r * a) / i, -(t * o - e * a) / i) }, n.multiply = function multiply(t) { var e = this.a, n = this.b, r = this.c, a = this.d, o = this.e, i = this.f, s = t.a, l = t.c, h = t.b, u = t.d, g = t.e, f = t.f; return ba(this, s * e + h * r, s * n + h * a, l * e + u * r, l * n + u * a, o + g * e + f * r, i + g * n + f * a) }, n.clone = function clone() { return new Matrix2D(this.a, this.b, this.c, this.d, this.e, this.f) }, n.equals = function equals(t) { var e = this.a, n = this.b, r = this.c, a = this.d, o = this.e, i = this.f; return e === t.a && n === t.b && r === t.c && a === t.d && o === t.e && i === t.f }, n.apply = function apply(t, e) { void 0 === e && (e = {}); var n = t.x, r = t.y, a = this.a, o = this.b, i = this.c, s = this.d, l = this.e, h = this.f; return e.x = n * a + r * i + l || 0, e.y = n * o + r * s + h || 0, e }, Matrix2D); function Matrix2D(t, e, n, r, a, o) { void 0 === t && (t = 1), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 1), void 0 === a && (a = 0), void 0 === o && (o = 0), ba(this, t, e, n, r, a, o) } function getGlobalMatrix(t, e, n, r) { if (!t || !t.parentNode || (c || R(t)).documentElement === t) return new Y; var a = function _forceNonZeroScale(t) { for (var e, n; t && t !== P;)(n = t._gsap) && n.uncache && n.get(t, "x"), n && !n.scaleX && !n.scaleY && n.renderTransform && (n.scaleX = n.scaleY = 1e-4, n.renderTransform(1, n), e ? e.push(n) : e = [n]), t = t.parentNode; return e }(t), o = X(t) ? k : q, i = aa(t, n), s = o[0].getBoundingClientRect(), l = o[1].getBoundingClientRect(), h = o[2].getBoundingClientRect(), u = i.parentNode, g = !r && function _isFixed(t) { return "fixed" === v.getComputedStyle(t).position || ((t = t.parentNode) && 1 === t.nodeType ? _isFixed(t) : void 0) }(t), f = new Y((l.left - s.left) / 100, (l.top - s.top) / 100, (h.left - s.left) / 100, (h.top - s.top) / 100, s.left + (g ? 0 : function _getDocScrollLeft() { return v.pageXOffset || c.scrollLeft || w.scrollLeft || P.scrollLeft || 0 }()), s.top + (g ? 0 : function _getDocScrollTop() { return v.pageYOffset || c.scrollTop || w.scrollTop || P.scrollTop || 0 }())); if (u.removeChild(i), a) for (s = a.length; s--;)(l = a[s]).scaleX = l.scaleY = 0, l.renderTransform(1, l); return e ? f.inverse() : f } function na(t, e, n, r) { for (var a = e.length, o = 2 === r ? 0 : r, i = 0; i < a; i++) t[o] = parseFloat(e[i][n]), 2 === r && (t[o + 1] = 0), o += 2; return t } function oa(t, e, n) { return parseFloat(t._gsap.get(t, e, n || "px")) || 0 } function pa(t) { var e, n = t[0], r = t[1]; for (e = 2; e < t.length; e += 2) n = t[e] += n, r = t[e + 1] += r } function qa(t, e, n, r, a, o, i, s, l) { return e = "cubic" === i.type ? [e] : (!1 !== i.fromCurrent && e.unshift(oa(n, r, s), a ? oa(n, a, l) : 0), i.relative && pa(e), [(a ? pointsToSegment : flatPointsToSegment)(e, i.curviness)]), e = o(nt(e, n, i)), rt(t, n, r, e, "x", s), a && rt(t, n, a, e, "y", l), cacheRawPathMeasurements(e, i.resolution || (0 === i.curviness ? 20 : 12)) } function ra(t) { return t } function ta(t, e, n) { var r, a = getGlobalMatrix(t), o = 0, i = 0; return "svg" === (t.tagName + "").toLowerCase() ? (r = t.viewBox.baseVal).width || (r = { width: +t.getAttribute("width"), height: +t.getAttribute("height") }) : r = e && t.getBBox && t.getBBox(), e && "auto" !== e && (o = e.push ? e[0] * (r ? r.width : t.offsetWidth || 0) : e.x, i = e.push ? e[1] * (r ? r.height : t.offsetHeight || 0) : e.y), n.apply(o || i ? a.apply({ x: o, y: i }) : { x: a.e, y: a.f }) } function ua(t, e, n, r) { var a, o = getGlobalMatrix(t.parentNode, !0, !0), i = o.clone().multiply(getGlobalMatrix(e)), s = ta(t, n, o), l = ta(e, r, o), h = l.x, u = l.y; return i.e = i.f = 0, "auto" === r && e.getTotalLength && "path" === e.tagName.toLowerCase() && (a = e.getAttribute("d").match(et) || [], h += (a = i.apply({ x: +a[0], y: +a[1] })).x, u += a.y), a && (h -= (a = i.apply(e.getBBox())).x, u -= a.y), i.e = h - s.x, i.f = u - s.y, i } var j, g, Q, W, J, o, K = "x,translateX,left,marginLeft,xPercent".split(","), tt = "y,translateY,top,marginTop,yPercent".split(","), i = Math.PI / 180, et = /[-+\.]*\d+\.?(?:e-|e\+)?\d*/g, nt = function _align(t, e, n) { var r, a, o, i = n.align, s = n.matrix, l = n.offsetX, h = n.offsetY, u = n.alignOrigin, g = t[0][0], f = t[0][1], c = oa(e, "x"), p = oa(e, "y"); return t && t.length ? (i && ("self" === i || (r = W(i)[0] || e) === e ? transformRawPath(t, 1, 0, 0, 1, c - g, p - f) : (u && !1 !== u[2] ? j.set(e, { transformOrigin: 100 * u[0] + "% " + 100 * u[1] + "%" }) : u = [oa(e, "xPercent") / -100, oa(e, "yPercent") / -100], o = (a = ua(e, r, u, "auto")).apply({ x: g, y: f }), transformRawPath(t, a.a, a.b, a.c, a.d, c + a.e - (o.x - a.e), p + a.f - (o.y - a.f)))), s ? transformRawPath(t, s.a, s.b, s.c, s.d, s.e, s.f) : (l || h) && transformRawPath(t, 1, 0, 0, 1, l || 0, h || 0), t) : getRawPath("M0,0L0,0") }, rt = function _addDimensionalPropTween(t, e, n, r, a, o) { var i = e._gsap, s = i.harness, l = s && s.aliases && s.aliases[n], h = l && l.indexOf(",") < 0 ? l : n, u = t._pt = new g(t._pt, e, h, 0, 0, ra, 0, i.set(e, h, t)); u.u = Q(i.get(e, h, o)) || 0, u.path = r, u.pp = a, t._props.push(h) }, a = { version: "3.11.4", name: "motionPath", register: function register(t, e, n) { Q = (j = t).utils.getUnit, W = j.utils.toArray, J = j.core.getStyleSaver, o = j.core.reverting || function() {}, g = n }, init: function init(t, e, n) { if (!j) return console.warn("Please gsap.registerPlugin(MotionPathPlugin)"), !1; "object" == typeof e && !e.style && e.path || (e = { path: e }); var r, a, o = [], i = e.path, s = e.autoRotate, l = e.unitX, h = e.unitY, u = e.x, g = e.y, f = i[0], c = function _sliceModifier(e, n) { return function(t) { return e || 1 !== n ? sliceRawPath(t, e, n) : t } }(e.start, "end" in e ? e.end : 1); if (this.rawPaths = o, this.target = t, this.tween = n, this.styles = J && J(t, "transform"), (this.rotate = s || 0 === s) && (this.rOffset = parseFloat(s) || 0, this.radians = !!e.useRadians, this.rProp = e.rotation || "rotation", this.rSet = t._gsap.set(t, this.rProp, this), this.ru = Q(t._gsap.get(t, this.rProp)) || 0), !Array.isArray(i) || "closed" in i || "number" == typeof f) cacheRawPathMeasurements(r = c(nt(getRawPath(e.path), t, e)), e.resolution), o.push(r), rt(this, t, e.x || "x", r, "x", e.unitX || "px"), rt(this, t, e.y || "y", r, "y", e.unitY || "px"); else { for (a in f) !u && ~K.indexOf(a) ? u = a : !g && ~tt.indexOf(a) && (g = a); for (a in u && g ? o.push(qa(this, na(na([], i, u, 0), i, g, 1), t, u, g, c, e, l || Q(i[0][u]), h || Q(i[0][g]))) : u = g = 0, f) a !== u && a !== g && o.push(qa(this, na([], i, a, 2), t, a, 0, c, e, Q(i[0][a]))) } }, render: function render(t, e) { var n = e.rawPaths, r = n.length, a = e._pt; if (e.tween._time || !o()) { for (1 < t ? t = 1 : t < 0 && (t = 0); r--;) getPositionOnPath(n[r], t, !r && e.rotate, n[r]); for (; a;) a.set(a.t, a.p, a.path[a.pp] + a.u, a.d, t), a = a._next; e.rotate && e.rSet(e.target, e.rProp, n[0].angle * (e.radians ? i : 1) + e.rOffset + e.ru, e, t) } else e.styles.revert() }, getLength: function getLength(t) { return cacheRawPathMeasurements(getRawPath(t)).totalLength }, sliceRawPath: sliceRawPath, getRawPath: getRawPath, pointsToSegment: pointsToSegment, stringToRawPath: stringToRawPath, rawPathToString: rawPathToString, transformRawPath: transformRawPath, getGlobalMatrix: getGlobalMatrix, getPositionOnPath: getPositionOnPath, cacheRawPathMeasurements: cacheRawPathMeasurements, convertToPath: function convertToPath$1(t, e) { return W(t).map(function(t) { return convertToPath(t, !1 !== e) }) }, convertCoordinates: function convertCoordinates(t, e, n) { var r = getGlobalMatrix(e, !0, !0).multiply(getGlobalMatrix(t)); return n ? r.apply(n) : r }, getAlignMatrix: ua, getRelativePosition: function getRelativePosition(t, e, n, r) { var a = ua(t, e, n, r); return { x: a.e, y: a.f } }, arrayToRawPath: function arrayToRawPath(t, e) { var n = na(na([], t, (e = e || {}).x || "x", 0), t, e.y || "y", 1); return e.relative && pa(n), ["cubic" === e.type ? n : pointsToSegment(n, e.curviness)] } }; ! function _getGSAP() { return j || "undefined" != typeof window && (j = window.gsap) && j.registerPlugin && j }() || j.registerPlugin(a), t.MotionPathPlugin = a, t.default = a; if (typeof(window) === "undefined" || window !== t) { Object.defineProperty(t, "__esModule", { value: !0 }) } else { delete t.default } });