PageSourceSearch

https://neuropace.com/wp-content/themes/salient/js/MotionPathPlugin.js?ver=0.90937300%201790245960

js neuropace.com collected 2026-09-24 10:33:32 UTC 38,959 bytes, 1,415 lines download raw bytes

1/*!
2 * MotionPathPlugin 3.2.6
3 * https://greensock.com
4 *
5 * @license Copyright 2020, GreenSock. All rights reserved.
6 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
7 * @author: Jack Doyle, [email protected]
8 */
9
10!(function (t, e) {
11  "object" == typeof exports && "undefined" != typeof module
12    ? e(exports)
13    : "function" == typeof define && define.amd
14    ? define(["exports"], e)
15    : e(((t = t || self).window = t.window || {}));
16})(this, function (t) {
17  "use strict";
18  function p(t) {
19    return "string" == typeof t;
20  }
21  function x(t, e, n, r) {
22    var a = t[e],
23      o = 1 === r ? 6 : subdivideSegment(a, n, r);
24    if (o && o + n + 2 < a.length)
25      return t.splice(e, 0, a.slice(0, n + o + 2)), a.splice(0, n + o), 1;
26  }
27  function A(t, e) {
28    var n = t.length,
29      r = t[n - 1] || [],
30      a = r.length;
31    e[0] === r[a - 2] && e[1] === r[a - 1] && ((e = r.concat(e.slice(2))), n--),
32      (t[n] = e);
33  }
34  var M = /[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,
35    R = /(?:(-)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,
36    L = /[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi,
37    r = /(^[#\.][a-z]|[a-y][a-z])/i,
38    F = Math.PI / 180,
39    s = 180 / Math.PI,
40    W = Math.sin,
41    U = Math.cos,
42    H = Math.abs,
43    Z = Math.sqrt,
44    S = Math.atan2,
45    B = 1e8,
46    l = function _isNumber(t) {
47      return "number" == typeof t;
48    },
49    N = {},
50    _ = {},
51    e = 1e5,
52    d = function _wrapProgress(t) {
53      return Math.round(((t + B) % 1) * e) / e || (t < 0 ? 0 : 1);
54    },
55    C = function _round(t) {
56      return Math.round(t * e) / e || 0;
57    },
58    I = function _copyMetaData(t, e) {
59      return (
60        (e.totalLength = t.totalLength),
61        t.samples
62          ? ((e.samples = t.samples.slice(0)),
63            (e.lookup = t.lookup.slice(0)),
64            (e.minLength = t.minLength),
65            (e.resolution = t.resolution))
66          : (e.totalPoints = t.totalPoints),
67        e
68      );
69    };
70  function getRawPath(t) {
71    var e,
72      n = (t = (p(t) && r.test(t) && document.querySelector(t)) || t)
73        .getAttribute
74        ? t
75        : 0;
76    return n && (t = t.getAttribute("d"))
77      ? (n._gsPath || (n._gsPath = {}),
78        (e = n._gsPath[t]) && !e._dirty
79          ? e
80          : (n._gsPath[t] = stringToRawPath(t)))
81      : t
82      ? p(t)
83        ? stringToRawPath(t)
84        : l(t[0])
85        ? [t]
86        : t
87      : console.warn("Expecting a <path> element or an SVG path data string");
88  }
89  function reverseSegment(t) {
90    var e,
91      n = 0;
92    for (t.reverse(); n < t.length; n += 2)
93      (e = t[n]), (t[n] = t[n + 1]), (t[n + 1] = e);
94    t.reversed = !t.reversed;
95  }
96  var D = {
97    rect: "rx,ry,x,y,width,height",
98    circle: "r,cx,cy",
99    ellipse: "rx,ry,cx,cy",
100    line: "x1,x2,y1,y2",
101  };
102  function convertToPath(t, e) {
103    var n,
104      r,
105      a,
106      o,
107      i,
108      s,
109      l,
110      h,
111      u,
112      g,
113      f,
114      p,
115      c,
116      d,
117      m,
118      v,
119      x,
120      y,
121      P,
122      w,
123      b,
124      M,
125      L = t.tagName.toLowerCase(),
126      T = 0.552284749831;
127    return "path" !== L && t.getBBox
128      ? ((s = (function _createPath(t, e) {
129          var n,
130            r = document.createElementNS("http://www.w3.org/2000/svg", "path"),
131            a = [].slice.call(t.attributes),
132            o = a.length;
133          for (e = "," + e + ","; -1 < --o; )
134            (n = a[o].nodeName.toLowerCase()),
135              e.indexOf("," + n + ",") < 0 &&
136                r.setAttributeNS(null, n, a[o].nodeValue);
137          return r;
138        })(t, "x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points")),
139        (M = (function _attrToObj(t, e) {
140          for (var n = e ? e.split(",") : [], r = {}, a = n.length; -1 < --a; )
141            r[n[a]] = +t.getAttribute(n[a]) || 0;
142          return r;
143        })(t, D[L])),
144        "rect" === L
145          ? ((o = M.rx),
146            (i = M.ry),
147            (r = M.x),
148            (a = M.y),
149            (g = M.width - 2 * o),
150            (f = M.height - 2 * i),
151            (n =
152              o || i
153                ? "M" +
154                  (v = (d = (c = r + o) + g) + o) +
155                  "," +
156                  (y = a + i) +
157                  " V" +
158                  (P = y + f) +
159                  " C" +
160                  [
161                    v,
162                    (w = P + i * T),
163                    (m = d + o * T),
164                    (b = P + i),
165                    d,
166                    b,
167                    d - (d - c) / 3,
168                    b,
169                    c + (d - c) / 3,
170                    b,
171                    c,
172                    b,
173                    (p = r + o * (1 - T)),
174                    b,
175                    r,
176                    w,
177                    r,
178                    P,
179                    r,
180                    P - (P - y) / 3,
181                    r,
182                    y + (P - y) / 3,
183                    r,
184                    y,
185                    r,
186                    (x = a + i * (1 - T)),
187                    p,
188                    a,
189                    c,
190                    a,
191                    c + (d - c) / 3,
192                    a,
193                    d - (d - c) / 3,
194                    a,
195                    d,
196                    a,
197                    m,
198                    a,
199                    v,
200                    x,
201                    v,
202                    y,
203                  ].join(",") +
204                  "z"
205                : "M" +
206                  (r + g) +
207                  "," +
208                  a +
209                  " v" +
210                  f +
211                  " h" +
212                  -g +
213                  " v" +
214                  -f +
215                  " h" +
216                  g +
217                  "z"))
218          : "circle" === L || "ellipse" === L
219          ? ((h =
220              "circle" === L
221                ? (o = i = M.r) * T
222                : ((o = M.rx), (i = M.ry) * T)),
223            (n =
224              "M" +
225              ((r = M.cx) + o) +
226              "," +
227              (a = M.cy) +
228              " C" +
229              [
230                r + o,
231                a + h,
232                r + (l = o * T),
233                a + i,
234                r,
235                a + i,
236                r - l,
237                a + i,
238                r - o,
239                a + h,
240                r - o,
241                a,
242                r - o,
243                a - h,
244                r - l,
245                a - i,
246                r,
247                a - i,
248                r + l,
249                a - i,
250                r + o,
251                a - h,
252                r + o,
253                a,
254              ].join(",") +
255              "z"))
256          : "line" === L
257          ? (n = "M" + M.x1 + "," + M.y1 + " L" + M.x2 + "," + M.y2)
258          : ("polyline" !== L && "polygon" !== L) ||
259            ((n =
260              "M" +
261              (r = (u =
262                (t.getAttribute("points") + "").match(R) || []).shift()) +
263              "," +
264              (a = u.shift()) +
265              " L" +
266              u.join(",")),
267            "polygon" === L && (n += "," + r + "," + a + "z")),
268        s.setAttribute(
269          "d",
270          rawPathToString((s._gsRawPath = stringToRawPath(n)))
271        ),
272        e &&
273          t.parentNode &&
274          (t.parentNode.insertBefore(s, t), t.parentNode.removeChild(t)),
275        s)
276      : t;
277  }
278  function getRotationAtBezierT(t, e, n) {
279    var r,
280      a = t[e],
281      o = t[e + 2],
282      i = t[e + 4];
283    return (
284      (a += (o - a) * n),
285      (a += ((o += (i - o) * n) - a) * n),
286      (r = o + (i + (t[e + 6] - i) * n - o) * n - a),
287      (a = t[e + 1]),
288      (a += ((o = t[e + 3]) - a) * n),
289      (a += ((o += ((i = t[e + 5]) - o) * n) - a) * n),
290      C(S(o + (i + (t[e + 7] - i) * n - o) * n - a, r) * s)
291    );
292  }
293  function sliceRawPath(t, e, n) {
294    !(function _isUndefined(t) {
295      return void 0 === t;
296    })(n) || (n = 1);
297    var r = n < (e = e || 0),
298      a = Math.max(0, ~~(H(n - e) - 1e-8));
299    if (
300      (r && ((r = n), (n = e), (e = r), (r = 1), (a -= a ? 1 : 0)),
301      e < 0 || n < 0)
302    ) {
303      var o = 1 + ~~Math.min(e, n);
304      (e += o), (n += o);
305    }
306    var i,
307      s,
308      l,
309      h,
310      u,
311      g,
312      f,
313      p = (function copyRawPath(t) {
314        for (var e = [], n = 0; n < t.length; n++)
315          e[n] = I(t[n], t[n].slice(0));
316        return I(t, e);
317      })(t.totalLength ? t : cacheRawPathMeasurements(t)),
318      c = 1 < n,
319      d = getProgressData(p, e, N, !0),
320      m = getProgressData(p, n, _),
321      v = m.segment,
322      y = d.segment,
323      P = m.segIndex,
324      w = d.segIndex,
325      b = m.i,
326      M = d.i,
327      L = w === P,
328      T = b === M && L,
329      R = (L && b < M) || (T && d.t > m.t);
330    if (c || a) {
331      if (
332        (x(p, w, M, d.t) &&
333          ((i = 1),
334          w++,
335          T
336            ? R
337              ? (m.t /= d.t)
338              : ((m.t = (m.t - d.t) / (1 - d.t)), P++, (b = 0))
339            : w <= P + 1 && !R && (P++, L && (b -= M))),
340        m.t ? x(p, P, b, m.t) && (R && i && w++, r && P++) : (P--, r && w--),
341        (h = []),
342        (g = 1 + (u = p.length) * a),
343        (f = w),
344        r)
345      )
346        for (g += (u - (P = (P || u) - 1) + w) % u, l = 0; l < g; l++)
347          A(h, p[f]), (f = (f || u) - 1);
348      else for (g += (u - w + P) % u, l = 0; l < g; l++) A(h, p[f++ % u]);
349      p = h;
350    } else if (((s = 1 === m.t ? 6 : subdivideSegment(v, b, m.t)), e !== n))
351      for (
352        i = subdivideSegment(y, M, T ? d.t / m.t : d.t),
353          L && (s += i),
354          v.splice(b + s + 2),
355          (i || M) && y.splice(0, M + i),
356          l = p.length;
357        l--;
358
359      )
360        (l < w || P < l) && p.splice(l, 1);
361    else
362      (v.angle = getRotationAtBezierT(v, b + s, 0)),
363        (d = v[(b += s)]),
364        (m = v[b + 1]),
365        (v.length = v.totalLength = 0),
366        (v.totalPoints = p.totalPoints = 8),
367        v.push(d, m, d, m, d, m, d, m);
368    return (
369      r &&
370        (function _reverseRawPath(t, e) {
371          var n = t.length;
372          for (e || t.reverse(); n--; ) t[n].reversed || reverseSegment(t[n]);
373        })(p, c || a),
374      (p.totalLength = 0),
375      p
376    );
377  }
378  function measureSegment(t, e, n) {
379    (e = e || 0), t.samples || ((t.samples = []), (t.lookup = []));
380    var r,
381      a,
382      o,
383      i,
384      s,
385      l,
386      h,
387      u,
388      g,
389      f,
390      p,
391      c,
392      d,
393      m,
394      v,
395      x,
396      y,
397      P = ~~t.resolution || 12,
398      w = 1 / P,
399      b = n ? e + 6 * n + 1 : t.length,
400      M = t[e],
401      L = t[e + 1],
402      T = e ? (e / 6) * P : 0,
403      R = t.samples,
404      S = t.lookup,
405      N = (e ? t.minLength : B) || B,
406      _ = R[T + n * P - 1],
407      C = e ? R[T - 1] : 0;
408    for (R.length = S.length = 0, a = e + 2; a < b; a += 6) {
409      if (
410        ((o = t[a + 4] - M),
411        (i = t[a + 2] - M),
412        (s = t[a] - M),
413        (u = t[a + 5] - L),
414        (g = t[a + 3] - L),
415        (f = t[a + 1] - L),
416        (l = h = p = c = 0),
417        H(o) < 1e-5 && H(u) < 1e-5 && H(s) + H(f) < 1e-5)
418      )
419        8 < t.length && (t.splice(a, 6), (a -= 6), (b -= 6));
420      else
421        for (r = 1; r <= P; r++)
422          (l =
423            h -
424            (h =
425              ((m = w * r) * m * o + 3 * (d = 1 - m) * (m * i + d * s)) * m)),
426            (p = c - (c = (m * m * u + 3 * d * (m * g + d * f)) * m)),
427            (x = Z(p * p + l * l)) < N && (N = x),
428            (C += x),
429            (R[T++] = C);
430      (M += o), (L += u);
431    }
432    if (_) for (_ -= C; T < R.length; T++) R[T] += _;
433    if (R.length && N)
434      for (
435        t.totalLength = y = R[R.length - 1] || 0,
436          t.minLength = N,
437          x = v = 0,
438          r = 0;
439        r < y;
440        r += N
441      )
442        S[x++] = R[v] < r ? ++v : v;
443    else t.totalLength = R[0] = 0;
444    return e ? C - R[e / 2 - 1] : C;
445  }
446  function cacheRawPathMeasurements(t, e) {
447    var n, r, a;
448    for (a = n = r = 0; a < t.length; a++)
449      (t[a].resolution = ~~e || 12),
450        (r += t[a].length),
451        (n += measureSegment(t[a]));
452    return (t.totalPoints = r), (t.totalLength = n), t;
453  }
454  function subdivideSegment(t, e, n) {
455    if (n <= 0 || 1 <= n) return 0;
456    var r = t[e],
457      a = t[e + 1],
458      o = t[e + 2],
459      i = t[e + 3],
460      s = t[e + 4],
461      l = t[e + 5],
462      h = r + (o - r) * n,
463      u = o + (s - o) * n,
464      g = a + (i - a) * n,
465      f = i + (l - i) * n,
466      p = h + (u - h) * n,
467      c = g + (f - g) * n,
468      d = s + (t[e + 6] - s) * n,
469      m = l + (t[e + 7] - l) * n;
470    return (
471      (u += (d - u) * n),
472      (f += (m - f) * n),
473      t.splice(
474        e + 2,
475        4,
476        C(h),
477        C(g),
478        C(p),
479        C(c),
480        C(p + (u - p) * n),
481        C(c + (f - c) * n),
482        C(u),
483        C(f),
484        C(d),
485        C(m)
486      ),
487      t.samples &&
488        t.samples.splice(((e / 6) * t.resolution) | 0, 0, 0, 0, 0, 0, 0, 0),
489      6
490    );
491  }
492  function getProgressData(t, e, n, r) {
493    (n = n || {}),
494      t.totalLength || cacheRawPathMeasurements(t),
495      (e < 0 || 1 < e) && (e = d(e));
496    var a,
497      o,
498      i,
499      s,
500      l,
501      h,
502      u,
503      g = 0,
504      f = t[0];
505    if (1 < t.length) {
506      for (i = t.totalLength * e, l = h = 0; (l += t[h++].totalLength) < i; )
507        g = h;
508      e = (i - (s = l - (f = t[g]).totalLength)) / (l - s) || 0;
509    }
510    return (
511      (a = f.samples),
512      (o = f.resolution),
513      (i = f.totalLength * e),
514      (s = (h = f.lookup[~~(i / f.minLength)] || 0) ? a[h - 1] : 0),
515      (l = a[h]) < i && ((s = l), (l = a[++h])),
516      (u = (1 / o) * ((i - s) / (l - s) + (h % o))),
517      (h = 6 * ~~(h / o)),
518      r &&
519        1 === u &&
520        (h + 6 < f.length
521          ? ((h += 6), (u = 0))
522          : g + 1 < t.length && ((h = u = 0), (f = t[++g]))),
523      (n.t = u),
524      (n.i = h),
525      (n.path = t),
526      (n.segment = f),
527      (n.segIndex = g),
528      n
529    );
530  }
531  function getPositionOnPath(t, e, n, r) {
532    var a,
533      o,
534      i,
535      s,
536      l,
537      h,
538      u,
539      g,
540      f,
541      p = t[0],
542      c = r || {};
543    if (((e < 0 || 1 < e) && (e = d(e)), 1 < t.length)) {
544      for (i = t.totalLength * e, l = h = 0; (l += t[h++].totalLength) < i; )
545        p = t[h];
546      e = (i - (s = l - p.totalLength)) / (l - s) || 0;
547    }
548    return (
549      (a = p.samples),
550      (o = p.resolution),
551      (i = p.totalLength * e),
552      (s = (h = p.lookup[~~(i / p.minLength)] || 0) ? a[h - 1] : 0),
553      (l = a[h]) < i && ((s = l), (l = a[++h])),
554      (f = 1 - (u = (1 / o) * ((i - s) / (l - s) + (h % o)) || 0)),
555      (g = p[(h = 6 * ~~(h / o))]),
556      (c.x = C(
557        (u * u * (p[h + 6] - g) +
558          3 * f * (u * (p[h + 4] - g) + f * (p[h + 2] - g))) *
559          u +
560          g
561      )),
562      (c.y = C(
563        (u * u * (p[h + 7] - (g = p[h + 1])) +
564          3 * f * (u * (p[h + 5] - g) + f * (p[h + 3] - g))) *
565          u +
566          g
567      )),
568      n &&
569        (c.angle = p.totalLength
570          ? getRotationAtBezierT(p, h, 1 <= u ? 1 - 1e-9 : u || 1e
570-9)
571          : p.angle || 0),
572      c
573    );
574  }
575  function transformRawPath(t, e, n, r, a, o, i) {
576    for (var s, l, h, u, g, f = t.length; -1 < --f; )
577      for (l = (s = t[f]).length, h = 0; h < l; h += 2)
578        (u = s[h]),
579          (g = s[h + 1]),
580          (s[h] = u * e + g * r + o),
581          (s[h + 1] = u * n + g * a + i);
582    return (t._dirty = 1), t;
583  }
584  function arcToSegment(t, e, n, r, a, o, i, s, l) {
585    if (t !== s || e !== l) {
586      (n = H(n)), (r = H(r));
587      var h = (a % 360) * F,
588        u = U(h),
589        g = W(h),
590        f = Math.PI,
591        p = 2 * f,
592        c = (t - s) / 2,
593        d = (e - l) / 2,
594        m = u * c + g * d,
595        v = -g * c + u * d,
596        x = m * m,
597        y = v * v,
598        P = x / (n * n) + y / (r * r);
599      1 < P && ((n = Z(P) * n), (r = Z(P) * r));
600      var w = n * n,
601        b = r * r,
602        M = (w * b - w * y - b * x) / (w * y + b * x);
603      M < 0 && (M = 0);
604      var L = (o === i ? -1 : 1) * Z(M),
605        T = ((n * v) / r) * L,
606        R = ((-r * m) / n) * L,
607        S = u * T - g * R + (t + s) / 2,
608        N = g * T + u * R + (e + l) / 2,
609        _ = (m - T) / n,
610        C = (v - R) / r,
611        A = (-m - T) / n,
612        O = (-v - R) / r,
613        B = _ * _ + C * C,
614        I = (C < 0 ? -1 : 1) * Math.acos(_ / Z(B)),
615        V =
616          (_ * O - C * A < 0 ? -1 : 1) *
617          Math.acos((_ * A + C * O) / Z(B * (A * A + O * O)));
618      isNaN(V) && (V = f),
619        !i && 0 < V ? (V -= p) : i && V < 0 && (V += p),
620        (I %= p),
621        (V %= p);
622      var D,
623        z = Math.ceil(H(V) / (p / 4)),
624        E = [],
625        G = V / z,
626        j = ((4 / 3) * W(G / 2)) / (1 + U(G / 2)),
627        Y = u * n,
628        k = g * n,
629        q = g * -r,
630        X = u * r;
631      for (D = 0; D < z; D++)
632        (m = U((a = I + D * G))),
633          (v = W(a)),
634          (_ = U((a += G))),
635          (C = W(a)),
636          E.push(m - j * v, v + j * m, _ + j * C, C - j * _, _, C);
637      for (D = 0; D < E.length; D += 2)
638        (m = E[D]),
639          (v = E[D + 1]),
640          (E[D] = m * Y + v * q + S),
641          (E[D + 1] = m * k + v * X + N);
642      return (E[D - 2] = s), (E[D - 1] = l), E;
643    }
644  }
645  function stringToRawPath(t) {
646    function qf(t, e, n, r) {
647      (u = (n - t) / 3),
648        (g = (r - e) / 3),
649        s.push(t + u, e + g, n - u, r - g, n, r);
650    }
651    var e,
652      n,
653      r,
654      a,
655      o,
656      i,
657      s,
658      l,
659      h,
660      u,
661      g,
662      f,
663      p,
664      c,
665      d,
666      m =
667        (t + "")
668          .replace(L, function (t) {
669            var e = +t;
670            return e < 1e-4 && -1e-4 < e ? 0 : e;
671          })
672          .match(M) || [],
673      v = [],
674      x = 0,
675      y = 0,
676      P = m.length,
677      w = 0,
678      b = "ERROR: malformed path: " + t;
679    if (!t || !isNaN(m[0]) || isNaN(m[1])) return console.log(b), v;
680    for (e = 0; e < P; e++)
681      if (
682        ((p = o),
683        isNaN(m[e]) ? (i = (o = m[e].toUpperCase()) !== m[e]) : e--,
684        (r = +m[e + 1]),
685        (a = +m[e + 2]),
686        i && ((r += x), (a += y)),
687        e || ((l = r), (h = a)),
688        "M" === o)
689      )
690        s && (s.length < 8 ? --v.length : (w += s.length)),
691          (x = l = r),
692          (y = h = a),
693          (s = [r, a]),
694          v.push(s),
695          (e += 2),
696          (o = "L");
697      else if ("C" === o)
698        i || (x = y = 0),
699          (s = s || [0, 0]).push(
700            r,
701            a,
702            x + 1 * m[e + 3],
703            y + 1 * m[e + 4],
704            (x += 1 * m[e + 5]),
705            (y += 1 * m[e + 6])
706          ),
707          (e += 6);
708      else if ("S" === o)
709        (u = x),
710          (g = y),
711          ("C" !== p && "S" !== p) ||
712            ((u += x - s[s.length - 4]), (g += y - s[s.length - 3])),
713          i || (x = y = 0),
714          s.push(u, g, r, a, (x += 1 * m[e + 3]), (y += 1 * m[e + 4])),
715          (e += 4);
716      else if ("Q" === o)
717        (u = x + (2 / 3) * (r - x)),
718          (g = y + (2 / 3) * (a - y)),
719          i || (x = y = 0),
720          (x += 1 * m[e + 3]),
721          (y += 1 * m[e + 4]),
722          s.push(u, g, x + (2 / 3) * (r - x), y + (2 / 3) * (a - y), x, y),
723          (e += 4);
724      else if ("T" === o)
725        (u = x - s[s.length - 4]),
726          (g = y - s[s.length - 3]),
727          s.push(
728            x + u,
729            y + g,
730            r + (2 / 3) * (x + 1.5 * u - r),
731            a + (2 / 3) * (y + 1.5 * g - a),
732            (x = r),
733            (y = a)
734          ),
735          (e += 2);
736      else if ("H" === o) qf(x, y, (x = r), y), (e += 1);
737      else if ("V" === o) qf(x, y, x, (y = r + (i ? y - x : 0))), (e += 1);
738      else if ("L" === o || "Z" === o)
739        "Z" === o && ((r = l), (a = h), (s.closed = !0)),
740          ("L" === o || 0.5 < H(x - r) || 0.5 < H(y - a)) &&
741            (qf(x, y, r, a), "L" === o && (e += 2)),
742          (x = r),
743          (y = a);
744      else if ("A" === o) {
745        if (
746          ((c = m[e + 4]),
747          (d = m[e + 5]),
748          (u = m[e + 6]),
749          (g = m[e + 7]),
750          (n = 7),
751          1 < c.length &&
752            (c.length < 3
753              ? ((g = u), (u = d), n--)
754              : ((g = d), (u = c.substr(2)), (n -= 2)),
755            (d = c.charAt(1)),
756            (c = c.charAt(0))),
757          (f = arcToSegment(
758            x,
759            y,
760            +m[e + 1],
761            +m[e + 2],
762            +m[e + 3],
763            +c,
764            +d,
765            (i ? x : 0) + 1 * u,
766            (i ? y : 0) + 1 * g
767          )),
768          (e += n),
769          f)
770        )
771          for (n = 0; n < f.length; n++) s.push(f[n]);
772        (x = s[s.length - 2]), (y = s[s.length - 1]);
773      } else console.log(b);
774    return (
775      (e = s.length) < 6
776        ? (v.pop(), (e = 0))
777        : s[0] === s[e - 2] && s[1] === s[e - 1] && (s.closed = !0),
778      (v.totalPoints = w + e),
779      v
780    );
781  }
782  function flatPointsToSegment(t, e) {
783    void 0 === e && (e = 1);
784    for (var n = t[0], r = 0, a = [n, r], o = 2; o < t.length; o += 2)
785      a.push(n, r, t[o], (r = ((t[o] - n) * e) / 2), (n = t[o]), -r);
786    return a;
787  }
788  function pointsToSegment(t, e, n) {
789    var r,
790      a,
791      o,
792      i,
793      s,
794      l,
795      h,
796      u,
797      g,
798      f,
799      p,
800      c,
801      d,
802      m,
803      v = t.length - 2,
804      x = +t[0],
805      y = +t[1],
806      P = +t[2],
807      w = +t[3],
808      b = [x, y, x, y],
809      M = P - x,
810      L = w - y;
811    for (
812      isNaN(n) && (n = Math.PI / 10), e = e || 0 === e ? +e : 1, s = 2;
813      s < v;
814      s += 2
815    )
816      (r = x),
817        (a = y),
818        (x = P),
819        (y = w),
820        (c = (l = M) * l + (u = L) * u),
821        (d = (M = (P = +t[s + 2]) - x) * M + (L = (w = +t[s + 3]) - y) * L),
822        (m = (h = P - r) * h + (g = w - a) * g),
823        (p = ((o = Math.acos((c + d - m) / Z(4 * c * d))) / Math.PI) * e),
824        (f = Z(c) * p),
825        (p *= Z(d)),
826        (x === r && y === a) ||
827          (n < o
828            ? ((i = S(g, h)),
829              b.push(
830                C(x - U(i) * f),
831                C(y - W(i) * f),
832                C(x),
833                C(y),
834                C(x + U(i) * p),
835                C(y + W(i) * p)
836              ))
837            : ((i = S(u, l)),
838              b.push(C(x - U(i) * f), C(y - W(i) * f)),
839              (i = S(L, M)),
840              b.push(C(x), C(y), C(x + U(i) * p), C(y + W(i) * p))));
841    return b.push(C(P), C(w), C(P), C(w)), b;
842  }
843  function rawPathToString(t) {
844    l(t[0]) && (t = [t]);
845    var e,
846      n,
847      r,
848      a,
849      o = "",
850      i = t.length;
851    for (n = 0; n < i; n++) {
852      for (
853        a = t[n],
854          o += "M" + C(a[0]) + "," + C(a[1]) + " C",
855          e = a.length,
856          r = 2;
857        r < e;
858        r++
859      )
860        o +=
861          C(a[r++]) +
862          "," +
863          C(a[r++]) +
864          " " +
865          C(a[r++]) +
866          "," +
867          C(a[r++]) +
868          " " +
869          C(a[r++]) +
870          "," +
871          C(a[r]) +
872          " ";
873      a.closed && (o += "z");
874    }
875    return o;
876  }
877  function O(t) {
878    var e = t.ownerDocument || t;
879    !(w in t.style) &&
880      "msTransform" in t.style &&
881      (b = (w = "msTransform") + "Origin");
882    for (; e.parentNode && (e = e.parentNode); );
883    if (((f = window), (y = new G()), e)) {
884      (c = (g = e).documentElement), (m = e.body);
885      var n = e.createElement("div"),
886        r = e.createElement("div");
887      m.appendChild(n),
888        n.appendChild(r),
889        (n.style.position = "static"),
890        (n.style[w] = "translate3d(0,0,1px)"),
891        (P = r.offsetParent !== n),
892        m.removeChild(n);
893    }
894    return e;
895  }
896  function T(t) {
897    return (
898      t.ownerSVGElement || ("svg" === (t.tagName + "").toLowerCase() ? t : null)
899    );
900  }
901  function V(t, e) {
902    if (t.parentNode && (g || O(t))) {
903      var n = T(t),
904        r = n
905          ? n.getAttribute("xmlns") || "http://www.w3.org/2000/svg"
906          : "http://www.w3.org/1999/xhtml",
907        a = n ? (e ? "rect" : "g") : "div",
908        o = 2 !== e ? 0 : 100,
909        i = 3 === e ? 100 : 0,
910        s = "position:absolute;display:block;pointer-events:none;",
911        l = g.createElementNS
912          ? g.createElementNS(r.replace(/^https/, "http"), a)
913          : g.createElement(a);
914      return (
915        e &&
916          (n
917            ? ((v = v || V(t)),
918              l.setAttribute("width", 0.01),
919              l.setAttribute("height", 0.01),
920              l.setAttribute("transform", "translate(" + o + "," + i + ")"),
921              v.appendChild(l))
922            : (u || ((u = V(t)).style.cssText = s),
923              (l.style.cssText =
924                s +
925                "width:0.1px;height:0.1px;top:" +
926                i +
927                "px;left:" +
928                o +
929                "px"),
930              u.appendChild(l))),
931        l
932      );
933    }
934    throw "Need document and parent.";
935  }
936  function X(t, e) {
937    var n,
938      r,
939      a,
940      o,
941      i,
942      s = T(t),
943      l = t === s,
944      h = s ? z : E;
945    if (t === f) return t;
946    if ((h.length || h.push(V(t, 1), V(t, 2), V(t, 3)), (n = s ? v : u), s))
947      (a = l ? { x: 0, y: 0 } : t.getBBox()),
948        (i = (r = t.transform ? t.transform.baseVal : {}).numberOfItems
949          ? ((o =
950              (r =
951                1 < r.numberOfItems
952                  ? (function _consolidate(t) {
953                      for (var e = new G(), n = 0; n < t.numberOfItems; n++)
954                        e.multiply(t.getItem(n).matrix);
955                      return e;
956                    })(r)
957                  : r.getItem(0).matrix).a *
958                a.x +
959              r.c * a.y),
960            r.b * a.x + r.d * a.y)
961          : ((r = y), (o = a.x), a.y)),
962        e && "g" === t.tagName.toLowerCase() && (o = i = 0),
963        n.setAttribute(
964          "transform",
965          "matrix(" +
966            r.a +
967            "," +
968            r.b +
969            "," +
970            r.c +
971            "," +
972            r.d +
973            "," +
974            (r.e + o) +
975            "," +
976            (r.f + i) +
977            ")"
978        ),
979        (l ? s : t.parentNode).appendChild(n);
980    else {
981      if (((o = i = 0), P))
982        for (
983          r = t.offsetParent, a = t;
984          (a = a && a.parentNode) && a !== r && a.parentNode;
985
986        )
987          4 < (f.getComputedStyle(a)[w] + "").length &&
988            ((o = a.offsetLeft), (i = a.offsetTop), (a = 0));
989      ((a = n.style).top = t.offsetTop - i + "px"),
990        (a.left = t.offsetLeft - o + "px"),
991        (r = f.getComputedStyle(t)),
992        (a[w] = r[w]),
993        (a[b] = r[b]),
994        (a.border = r.border),
995        (a.borderLeftStyle = r.borderLeftStyle),
996        (a.borderTopStyle = r.borderTopStyle),
997        (a.borderLeftWidth = r.borderLeftWidth),
998        (a.borderTopWidth = r.borderTopWidth),
999        (a.position = "fixed" === r.position ? "fixed" : "absolute"),
1000        t.parentNode.appendChild(n);
1001    }
1002    return n;
1003  }
1004  function Y(t, e, n, r, a, o, i) {
1005    return (t.a = e), (t.b = n), (t.c = r), (t.d = a), (t.e = o), (t.f = i), t;
1006  }
1007  var g,
1008    f,
1009    c,
1010    m,
1011    u,
1012    v,
1013    y,
1014    P,
1015    n,
1016    w = "transform",
1017    b = w + "Origin",
1018    z = [],
1019    E = [],
1020    G =
1021      (((n = Matrix2D.prototype).inverse = function inverse() {
1022        var t = this.a,
1023          e = this.b,
1024          n = this.c,
1025          r = this.d,
1026          a = this.e,
1027          o = this.f,
1028          i = t * r - e * n;
1029        return Y(
1030          this,
1031          r / i,
1032          -e / i,
1033          -n / i,
1034          t / i,
1035          (n * o - r * a) / i,
1036          -(t * o - e * a) / i
1037        );
1038      }),
1039      (n.multiply = function multiply(t) {
1040        var e = this.a,
1041          n = this.b,
1042          r = this.c,
1043          a = this.d,
1044          o = this.e,
1045          i = this.f,
1046          s = t.a,
1047          l = t.c,
1048          h = t.b,
1049          u = t.d,
1050          g = t.e,
1051          f = t.f;
1052        return Y(
1053          this,
1054          s * e + h * r,
1055          s * n + h * a,
1056          l * e + u * r,
1057          l * n + u * a,
1058          o + g * e + f * r,
1059          i + g * n + f * a
1060        );
1061      }),
1062      (n.clone = function clone() {
1063        return new Matrix2D(this.a, this.b, this.c, this.d, this.e, this.f);
1064      }),
1065      (n.equals = function equals(t) {
1066        var e = this.a,
1067          n = this.b,
1068          r = this.c,
1069          a = this.d,
1070          o = this.e,
1071          i = this.f;
1072        return (
1073          e === t.a &&
1074          n === t.b &&
1075          r === t.c &&
1076          a === t.d &&
1077          o === t.e &&
1078          i === t.f
1079        );
1080      }),
1081      (n.apply = function apply(t, e) {
1082        void 0 === e && (e = {});
1083        var n = t.x,
1084          r = t.y,
1085          a = this.a,
1086          o = this.b,
1087          i = this.c,
1088          s = this.d,
1089          l = this.e,
1090          h = this.f;
1091        return (
1092          (e.x = n * a + r * i + l || 0), (e.y = n * o + r * s + h || 0), e
1093        );
1094      }),
1095      Matrix2D);
1096  function Matrix2D(t, e, n, r, a, o) {
1097    void 0 === t && (t = 1),
1098      void 0 === e && (e = 0),
1099      void 0 === n && (n = 0),
1100      void 0 === r && (r = 1),
1101      void 0 === a && (a = 0),
1102      void 0 === o && (o = 0),
1103      Y(this, t, e, n, r, a, o);
1104  }
1105  function getGlobalMatrix(t, e, n) {
1106    if (!t || !t.parentNode || (g || O(t)).documentElement === t)
1107      return new G();
1108    var r = T(t) ? z : E,
1109      a = X(t, n),
1110      o = r[0].getBoundingClientRect(),
1111      i = r[1].getBoundingClientRect(),
1112      s = r[2].getBoundingClientRect(),
1113      l = a.parentNode,
1114      h = (function _isFixed(t) {
1115        return (
1116          "fixed" === f.getComputedStyle(t).position ||
1117          ((t = t.parentNode) && 1 === t.nodeType ? _isFixed(t) : void 0)
1118        );
1119      })(t),
1120      u = new G(
1121        (i.left - o.left) / 100,
1122        (i.top - o.top) / 100,
1123        (s.left - o.left) / 100,
1124        (s.top - o.top) / 100,
1125        o.left +
1126          (h
1127            ? 0
1128            : (function _getDocScrollLeft() {
1129                return (
1130                  f.pageXOffset ||
1131                  g.scrollLeft ||
1132                  c.scrollLeft ||
1133                  m.scrollLeft ||
1134                  0
1135                );
1136              })()),
1137        o.top +
1138          (h
1139            ? 0
1140            : (function _getDocScrollTop() {
1141                return (
1142                  f.pageYOffset ||
1143                  g.scrollTop ||
1144                  c.scrollTop ||
1145                  m.scrollTop ||
1146                  0
1147                );
1148              })())
1149      );
1150    return l.removeChild(a), e ? u.inverse() : u;
1151  }
1152  function ga(t, e, n, r) {
1153    for (var a = e.length, o = r, i = 0; i < a; i++)
1154      (t[o] = parseFloat(e[i][n])), (o += 2);
1155    return t;
1156  }
1157  function ha(t, e, n) {
1158    return parseFloat(t._gsap.get(t, e, n || "px")) || 0;
1159  }
1160  function ia(t) {
1161    var e,
1162      n = t[0],
1163      r = t[1];
1164    for (e = 2; e < t.length; e += 2) (n = t[e] += n), (r = t[e + 1] += r);
1165  }
1166  function ja(t, e, n, r, a, o, i) {
1167    return (
1168      (e =
1169        "cubic" === i.type
1170          ? [e]
1171          : (e.unshift(ha(n, r, i.unitX), a ? ha(n, a, i.unitY) : 0),
1172            i.relative && ia(e),
1173            [(a ? pointsToSegment : flatPointsToSegment)(e, i.curviness)])),
1174      (e = o(tt(e, n, i))),
1175      et(t, n, r, e, "x", i.unitX),
1176      a && et(t, n, a, e, "y", i.unitY),
1177      cacheRawPathMeasurements(e, i.resolution || (0 === i.curviness ? 20 : 12))
1178    );
1179  }
1180  function ka(t) {
1181    return t;
1182  }
1183  function ma(t, e, n) {
1184    var r,
1185      a,
1186      o,
1187      i = getGlobalMatrix(t);
1188    return (
1189      "svg" === (t.tagName + "").toLowerCase()
1190        ? ((a = (r = t.viewBox.baseVal).x),
1191          (o = r.y),
1192          r.width ||
1193            (r = {
1194              width: +t.getAttribute("width"),
1195              height: +t.getAttribute("height"),
1196            }))
1197        : ((r = e && t.getBBox && t.getBBox()), (a = o = 0)),
1198      e &&
1199        "auto" !== e &&
1200        ((a += e.push ? e[0] * (r ? r.width : t.offsetWidth || 0) : e.x),
1201        (o += e.push ? e[1] * (r ? r.height : t.offsetHeight || 0
1201) : e.y)),
1202      n.apply(a || o ? i.apply({ x: a, y: o }) : { x: i.e, y: i.f })
1203    );
1204  }
1205  function na(t, e, n, r) {
1206    var a,
1207      o = getGlobalMatrix(t.parentNode, !0, !0),
1208      i = o.clone().multiply(getGlobalMatrix(e)),
1209      s = ma(t, n, o),
1210      l = ma(e, r, o),
1211      h = l.x,
1212      u = l.y;
1213    return (
1214      (i.e = i.f = 0),
1215      "auto" === r &&
1216        e.getTotalLength &&
1217        "path" === e.tagName.toLowerCase() &&
1218        ((a = e.getAttribute("d").match(K) || []),
1219        (h += (a = i.apply({ x: +a[0], y: +a[1] })).x),
1220        (u += a.y)),
1221      (a || (e.getBBox && t.getBBox)) &&
1222        ((h -= (a = i.apply(e.getBBox())).x), (u -= a.y)),
1223      (i.e = h - s.x),
1224      (i.f = u - s.y),
1225      i
1226    );
1227  }
1228  var j,
1229    k,
1230    q,
1231    Q,
1232    $ = ["x", "translateX", "left", "marginLeft"],
1233    J = ["y", "translateY", "top", "marginTop"],
1234    o = Math.PI / 180,
1235    K = /[-+\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/g,
1236    tt = function _align(t, e, n) {
1237      var r,
1238        a,
1239        o,
1240        i = n.align,
1241        s = n.matrix,
1242        l = n.offsetX,
1243        h = n.offsetY,
1244        u = n.alignOrigin,
1245        g = t[0][0],
1246        f = t[0][1],
1247        p = ha(e, "x"),
1248        c = ha(e, "y");
1249      return t && t.length
1250        ? (i &&
1251            ("self" === i || (r = Q(i)[0] || e) === e
1252              ? transformRawPath(t, 1, 0, 0, 1, p - g, c - f)
1253              : (u && !1 !== u[2]
1254                  ? j.set(e, {
1255                      transformOrigin: 100 * u[0] + "% " + 100 * u[1] + "%",
1256                    })
1257                  : (u = [ha(e, "xPercent") / -100, ha(e, "yPercent") / -100]),
1258                (o = (a = na(e, r, u, "auto")).apply({ x: g, y: f })),
1259                transformRawPath(
1260                  t,
1261                  a.a,
1262                  a.b,
1263                  a.c,
1264                  a.d,
1265                  p + a.e - (o.x - a.e),
1266                  c + a.f - (o.y - a.f)
1267                ))),
1268          s
1269            ? transformRawPath(t, s.a, s.b, s.c, s.d, s.e, s.f)
1270            : (l || h) && transformRawPath(t, 1, 0, 0, 1, l || 0, h || 0),
1271          t)
1272        : getRawPath("M0,0L0,0");
1273    },
1274    et = function _addDimensionalPropTween(t, e, n, r, a, o) {
1275      var i = e._gsap,
1276        s = i.harness,
1277        l = s && s.aliases && s.aliases[n],
1278        h = l && l.indexOf(",") < 0 ? l : n,
1279        u = (t._pt = new k(t._pt, e, h, 0, 0, ka, 0, i.set(e, h, t)));
1280      (u.u = q(i.get(e, h, o)) || 0),
1281        (u.path = r),
1282        (u.pp = a),
1283        t._props.push(h);
1284    },
1285    a = {
1286      version: "3.2.6",
1287      name: "motionPath",
1288      register: function register(t, e, n) {
1289        (q = (j = t).utils.getUnit), (Q = j.utils.toArray), (k = n);
1290      },
1291      init: function init(t, e) {
1292        if (!j)
1293          return (
1294            console.warn("Please gsap.registerPlugin(MotionPathPlugin)"), !1
1295          );
1296        ("object" == typeof e && !e.style && e.path) || (e = { path: e });
1297        var n,
1298          r,
1299          a,
1300          o,
1301          i = [],
1302          s = e.path,
1303          l = s[0],
1304          h = e.autoRotate,
1305          u = (function _sliceModifier(e, n) {
1306            return function (t) {
1307              return e || 1 !== n ? sliceRawPath(t, e, n) : t;
1308            };
1309          })(e.start, "end" in e ? e.end : 1);
1310        if (
1311          ((this.rawPaths = i),
1312          (this.target = t),
1313          (this.rotate = h || 0 === h) &&
1314            ((this.rOffset = parseFloat(h) || 0),
1315            (this.radians = !!e.useRadians),
1316            (this.rProp = e.rotation || "rotation"),
1317            (this.rSet = t._gsap.set(t, this.rProp, this)),
1318            (this.ru = q(t._gsap.get(t, this.rProp)) || 0)),
1319          !Array.isArray(s) || "closed" in s || "number" == typeof l)
1320        )
1321          cacheRawPathMeasurements(
1322            (n = u(tt(getRawPath(e.path), t, e))),
1323            e.resolution
1324          ),
1325            i.push(n),
1326            et(this, t, e.x || "x", n, "x", e.unitX || "px"),
1327            et(this, t, e.y || "y", n, "y", e.unitY || "px");
1328        else {
1329          for (r in l) ~$.indexOf(r) ? (a = r) : ~J.indexOf(r) && (o = r);
1330          for (r in (a && o
1331            ? i.push(
1332                ja(
1333                  this,
1334                  ga(ga([], s, a, 0), s, o, 1),
1335                  t,
1336                  e.x || a,
1337                  e.y || o,
1338                  u,
1339                  e
1340                )
1341              )
1342            : (a = o = 0),
1343          l))
1344            r !== a &&
1345              r !== o &&
1346              i.push(ja(this, ga([], s, r, 0), t, r, 0, u, e));
1347        }
1348      },
1349      render: function render(t, e) {
1350        var n = e.rawPaths,
1351          r = n.length,
1352          a = e._pt;
1353        for (1 < t ? (t = 1) : t < 0 && (t = 0); r--; )
1354          getPositionOnPath(n[r], t, !r && e.rotate, n[r]);
1355        for (; a; ) a.set(a.t, a.p, a.path[a.pp] + a.u, a.d, t), (a = a._next);
1356        e.rotate &&
1357          e.rSet(
1358            e.target,
1359            e.rProp,
1360            n[0].angle * (e.radians ? o : 1) + e.rOffset + e.ru,
1361            e,
1362            t
1363          );
1364      },
1365      getLength: function getLength(t) {
1366        return cacheRawPathMeasurements(getRawPath(t)).totalLength;
1367      },
1368      sliceRawPath: sliceRawPath,
1369      getRawPath: getRawPath,
1370      pointsToSegment: pointsToSegment,
1371      stringToRawPath: stringToRawPath,
1372      rawPathToString: rawPathToString,
1373      transformRawPath: transformRawPath,
1374      getGlobalMatrix: getGlobalMatrix,
1375      getPositionOnPath: getPositionOnPath,
1376      cacheRawPathMeasurements: cacheRawPathMeasurements,
1377      convertToPath: function convertToPath$1(t, e) {
1378        return Q(t).map(function (t) {
1379          return convertToPath(t, !1 !== e);
1380        });
1381      },
1382      convertCoordinates: function convertCoordinates(t, e, n) {
1383        var r = getGlobalMatrix(e, !0, !0).multiply(getGlobalMatrix(t));
1384        return n ? r.apply(n) : r;
1385      },
1386      getAlignMatrix: na,
1387      getRelativePosition: function getRelativePosition(t, e, n, r) {
1388        var a = na(t, e, n, r);
1389        return { x: a.e, y: a.f };
1390      },
1391      arrayToRawPath: function arrayToRawPath(t, e) {
1392        var n = ga(ga([], t, (e = e || {}).x || "x", 0), t, e.y || "y", 1);
1393        return (
1394          e.relative && ia(n),
1395          ["cubic" === e.type ? n : pointsToSegment(n, e.curviness)]
1396        );
1397      },
1398    };
1399  !(function _getGSAP() {
1400    return (
1401      j ||
1402      ("undefined" != typeof window &&
1403        (j = window.gsap) &&
1404        j.registerPlugin &&
1405        j)
1406    );
1407  })() || j.registerPlugin(a),
1408    (t.MotionPathPlugin = a),
1409    (t.default = a);
1410  if (typeof window === "undefined" || window !== t) {
1411    Object.defineProperty(t, "__esModule", { value: !0 });
1412  } else {
1413    delete t.default;
1414  }
1415});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.