(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [1658],
  {
    92482: (t, r, n) => {
      'use strict';
      n.d(r, {
        N: () => l,
        a: () => o,
        d: () => f,
        f: () => a,
        m: () => s,
        p: () => i,
        t: () => c,
        x: () => u,
      }),
        n(76506);
      var e = n(21801);
      function o(t = p) {
        return [t[0], t[1], t[2], t[3]];
      }
      function a(t, r, n, e, a = o()) {
        return (a[0] = t), (a[1] = r), (a[2] = n), (a[3] = e), a;
      }
      function i(t, r = o()) {
        return (r[0] = t.xmin), (r[1] = t.ymin), (r[2] = t.xmax), (r[3] = t.ymax), r;
      }
      function c(t, r) {
        return new e.Z({ xmin: t[0], ymin: t[1], xmax: t[2], ymax: t[3], spatialReference: r });
      }
      function u(t) {
        return (
          (function (t) {
            return t[0] >= t[2] ? 0 : t[2] - t[0];
          })(t) *
          (function (t) {
            return t[1] >= t[3] ? 0 : t[3] - t[1];
          })(t)
        );
      }
      function f(t, r) {
        return (
          Math.max(r[0], t[0]) <= Math.min(r[2], t[2]) &&
          Math.max(r[1], t[1]) <= Math.min(r[3], t[3])
        );
      }
      function s(t, r) {
        return r[0] >= t[0] && r[2] <= t[2] && r[1] >= t[1] && r[3] <= t[3];
      }
      const l = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
        p = [0, 0, 0, 0];
    },
    34987: (t, r, n) => {
      'use strict';
      n.d(r, { a: () => u, b: () => f, c: () => i, d: () => s, f: () => c });
      var e = n(82426),
        o = n(35861),
        a = n(45087);
      function i(t = l) {
        return [t[0], t[1], t[2], t[3]];
      }
      function c(t, r, n = i()) {
        return (0, e.j)(n, t), (n[3] = r), n;
      }
      function u(t, r, n = i()) {
        return (
          (0, o.s)(p, t, s(t)),
          (0, o.s)(y, r, s(r)),
          (0, o.m)(p, y, p),
          (a = n),
          (c = (0, e.r)((0, o.g)(n, p))),
          (a[3] = c),
          a
        );
        var a, c;
      }
      function f(t) {
        return t;
      }
      function s(t) {
        return (0, e.k)(t[3]);
      }
      const l = [0, 0, 1, 0],
        p = (0, a.d)(),
        y = (0, a.d)();
      i();
    },
    84017: (t, r, n) => {
      'use strict';
      n.d(r, {
        M: () => v,
        a: () => F,
        b: () => w,
        c: () => P,
        g: () => E,
        i: () => x,
        u: () => _,
      });
      var e,
        o = n(76506),
        a = n(53785),
        i = n(45087),
        c = n(65775),
        u = n(57532),
        f = n(26923),
        s = n(72334),
        l = n(95587),
        p = n(29768),
        y = n(74673),
        d = n(34250),
        h = (n(91306), n(92143), n(17533)),
        g = n(82426),
        m = n(91597),
        A = n(34987),
        b = n(40167),
        B = n(72836),
        T = n(84661);
      let M = (e = class extends y.a {
        constructor(t) {
          super(t),
            (this.origin = (0, g.b)()),
            (this.translation = (0, g.b)()),
            (this.rotation = (0, A.c)()),
            (this.scale = (0, g.p)(1, 1, 1)),
            (this.geographic = !0);
        }
        get localMatrix() {
          const t = (0, u.c)();
          return (
            (0, c.s)(t, t, this.scale),
            (0, c.b)(t, t, (0, A.d)(this.rotation), (0, A.b)(this.rotation)),
            (0, c.t)(t, t, this.translation),
            t
          );
        }
        get localMatrixInverse() {
          return (0, c.c)((0, u.c)(), this.localMatrix);
        }
        applyLocal(t, r) {
          return (0, g.t)(r, t, this.localMatrix);
        }
        applyLocalInverse(t, r) {
          return (0, g.t)(r, t, this.localMatrixInverse);
        }
        project(t, r) {
          const n = new Float64Array(t.length),
            e = b.B.fromTypedArray(n),
            o = b.B.fromTypedArray(t);
          if (this.geographic) {
            const t = (0, l.d)((0, l.g)(r)),
              a = (0, u.c)();
            return (
              (0, s.P_)(r, this.origin, a, t),
              (0, c.m)(a, a, this.localMatrix),
              (0, B.t)(e, o, a),
              (0, s.CM)(n, t, 0, n, r, 0, n.length / 3),
              n
            );
          }
          const { localMatrix: a, origin: i } = this;
          (0, c.f)(a, u.I) ? (0, B.c)(e, o) : (0, B.t)(e, o, a);
          for (let t = 0; t < n.length; t += 3)
            (n[t + 0] += i[0]), (n[t + 1] += i[1]), (n[t + 2] += i[2]);
          return n;
        }
        getOriginPoint(t) {
          const [r, n, e] = this.origin;
          return new m.Z({ x: r, y: n, z: e, spatialReference: t });
        }
        equals(t) {
          return (
            (0, o.i)(t) &&
            this.geographic === t.geographic &&
            (0, g.z)(this.origin, t.origin) &&
            (0, c.g)(this.localMatrix, t.localMatrix)
          );
        }
        clone() {
          const t = {
            origin: (0, g.u)(this.origin),
            translation: (0, g.u)(this.translation),
            rotation: (0, A.c)(this.rotation),
            scale: (0, g.u)(this.scale),
            geographic: this.geographic,
          };
          return new e(t);
        }
      });
      (0, p._)(
        [(0, d.Cb)({ type: [Number], nonNullable: !0, json: { write: !0 } })],
        M.prototype,
        'origin',
        void 0,
      ),
        (0, p._)(
          [(0, d.Cb)({ type: [Number], nonNullable: !0, json: { write: !0 } })],
          M.prototype,
          'translation',
          void 0,
        ),
        (0, p._)(
          [(0, d.Cb)({ type: [Number], nonNullable: !0, json: { write: !0 } })],
          M.prototype,
          'rotation',
          void 0,
        ),
        (0, p._)(
          [(0, d.Cb)({ type: [Number], nonNullable: !0, json: { write: !0 } })],
          M.prototype,
          'scale',
          void 0,
        ),
        (0, p._)(
          [(0, d.Cb)({ type: Boolean, nonNullable: !0, json: { write: !0 } })],
          M.prototype,
          'geographic',
          void 0,
        ),
        (0, p._)([(0, d.Cb)()], M.prototype, 'localMatrix', null),
        (0, p._)([(0, d.Cb)()], M.prototype, 'localMatrixInverse', null),
        (M = e = (0, p._)([(0, h.j)('esri.geometry.support.MeshTransform')], M));
      var v = M;
      function x(t, r) {
        var n;
        return (
          t.isGeographic ||
          (t.isWebMercator && (null == (n = null == r ? void 0 : r.geographic) || n))
        );
      }
      function E(t, r, n) {
        return x(r.spatialReference, n)
          ? (function (t, r, n) {
              const e = r.spatialReference,
                a = S(r, n, I),
                i = new Float64Array(t.position.length),
                c = (function (t, r, n, e) {
                  (0, B.t)(b.B.fromTypedArray(e), b.B.fromTypedArray(t), r);
                  const o = new Float64Array(t.length);
                  return (0, T.c)(e, o, n);
                })(t.position, a, e, i),
                u = (0, f.a)(z, a);
              return {
                position: c,
                normal: (function (t, r, n, e, a) {
                  if ((0, o.b)(n)) return null;
                  const i = new Float32Array(n.length);
                  return (
                    (0, B.a)(b.a.fromTypedArray(i), b.a.fromTypedArray(n), e),
                    (0, T.d)(i, t, r, a, i),
                    i
                  );
                })(c, i, t.normal, u, e),
                tangent: (function (t, r, n, e, a) {
                  if ((0, o.b)(n)) return null;
                  const i = new Float32Array(n.length);
                  (0, B.a)(
                    b.a.fromTypedArray(i, 4 * Float32Array.BYTES_PER_ELEMENT),
                    b.a.fromTypedArray(n, 4 * Float32Array.BYTES_PER_ELEMENT),
                    e,
                  );
                  for (let t = 3; t < i.length; t += 4) i[t] = n[t];
                  return (0, T.e)(i, t, r, a, i), i;
                })(c, i, t.tangent, u, e),
              };
            })(t, r, n)
          : (function (t, r, n) {
              const e = new Float64Array(t.position.length),
                o = t.position,
                a = r.x,
                i = r.y,
                c = r.z || 0,
                { horizontal: u, vertical: f } = N(n ? n.unit : null, r.spatialReference);
              for (let t = 0; t < o.length; t += 3)
                (e[t + 0] = o[t + 0] * u + a),
                  (e[t + 1] = o[t + 1] * u + i),
                  (e[t + 2] = o[t + 2] * f + c);
              return { position: e, normal: t.normal, tangent: t.tangent };
            })(t, r, n);
      }
      function w(t, r, n) {
        const { position: e, normal: a, tangent: i } = t;
        if ((0, o.b)(r)) return { position: e, normal: a, tangent: i };
        const c = r.localMatrix;
        return E(
          {
            position: (0, T.t)(e, new Float64Array(e.length), c),
            normal: (0, o.i)(a) ? (0, T.f)(a, new Float32Array(a.length), c) : null,
            tangent: (0, o.i)(i) ? (0, T.g)(i, new Float32Array(i.length), c) : null,
          },
          r.getOriginPoint(n),
          { geographic: r.geographic },
        );
      }
      function F(t, r, n) {
        if (null != n && n.useTransform) {
          var e;
          const { position: o, normal: a, tangent: i } = t;
          return {
            vertexAttributes: { position: o, normal: a, tangent: i },
            transform: new v({
              origin: [r.x, r.y, null != (e = r.z) ? e : 0],
              geographic: x(r.spatialReference, n),
            }),
          };
        }
        return { vertexAttributes: E(t, r, n), transform: null };
      }
      function _(t, r, n) {
        return x(r.spatialReference, n) ? C(t, r, n) : R(t, r, n);
      }
      function P(t, r, n, e) {
        if ((0, o.b)(r)) return _(t, n, e);
        const a = w(t, r, n.spatialReference);
        return n.equals(r.getOriginPoint(n.spatialReference))
          ? R(a, n, e)
          : x(n.spatialReference, e)
          ? C(a, n, e)
          : R(a, n, e);
      }
      function R(t, r, n) {
        const e = new Float64Array(t.position.length),
          o = t.position,
          a = r.x,
          i = r.y,
          c = r.z || 0,
          { horizontal: u, vertical: f } = N(n ? n.unit : null, r.spatialReference);
        for (let t = 0; t < o.length; t += 3)
          (e[t + 0] = (o[t + 0] - a) / u),
            (e[t + 1] = (o[t + 1] - i) / u),
            (e[t + 2] = (o[t + 2] - c) / f);
        return { position: e, normal: t.normal, tangent: t.tangent };
      }
      function C(t, r, n) {
        const e = r.spatialReference;
        S(r, n, I);
        const a = (0, c.c)(L, I),
          i = new Float64Array(t.position.length),
          u = (function (t, r, n, e) {
            const o = (0, T.p)(t, r, e),
              a = b.B.fromTypedArray(o),
              i = new Float64Array(o.length),
              c = b.B.fromTypedArray(i);
            return (0, B.t)(c, a, n), i;
          })(t.position, e, a, i),
          s = (0, f.a)(z, a);
        return {
          position: u,
          normal: (function (t, r, n, e, a) {
            if ((0, o.b)(t)) return null;
            const i = (0, T.a)(t, r, n, e, new Float32Array(t.length)),
              c = b.a.fromTypedArray(i);
            return (0, B.a)(c, c, a), i;
          })(t.normal, t.position, i, e, s),
          tangent: (function (t, r, n, e, a) {
            if ((0, o.b)(t)) return null;
            const i = (0, T.b)(t, r, n, e, new Float32Array(t.length)),
              c = b.a.fromTypedArray(i, 4 * Float32Array.BYTES_PER_ELEMENT);
            return (0, B.a)(c, c, a), i;
          })(t.tangent, t.position, i, e, s),
        };
      }
      function S(t, r, n) {
        (0, s.P_)(t.spatialReference, [t.x, t.y, t.z || 0], n, (0, l.c)(t.spatialReference));
        const { horizontal: e, vertical: o } = N(r ? r.unit : null, t.spatialReference);
        return (0, c.s)(n, n, [e, e, o]), n;
      }
      function N(t, r) {
        if ((0, o.b)(t)) return j;
        const n = r.isGeographic ? 1 : (0, a.b)(r),
          e = r.isGeographic ? 1 : (0, a.d)(r),
          i = (0, a.c)(1, t, 'meters');
        return { horizontal: i * n, vertical: i * e };
      }
      const I = (0, u.c)(),
        L = (0, u.c)(),
        z = (0, i.c)(),
        j = { horizontal: 1, vertical: 1 };
    },
    26923: (t, r, n) => {
      'use strict';
      n.d(r, { a: () => i, f: () => o, i: () => c, t: () => a });
      var e = n(82426);
      function o(t, r) {
        return (
          (t[0] = r[0]),
          (t[1] = r[1]),
          (t[2] = r[2]),
          (t[3] = r[4]),
          (t[4] = r[5]),
          (t[5] = r[6]),
          (t[6] = r[8]),
          (t[7] = r[9]),
          (t[8] = r[10]),
          t
        );
      }
      function a(t, r) {
        if (t === r) {
          const n = r[1],
            e = r[2],
            o = r[5];
          (t[1] = r[3]), (t[2] = r[6]), (t[3] = n), (t[5] = r[7]), (t[6] = e), (t[7] = o);
        } else
          (t[0] = r[0]),
            (t[1] = r[3]),
            (t[2] = r[6]),
            (t[3] = r[1]),
            (t[4] = r[4]),
            (t[5] = r[7]),
            (t[6] = r[2]),
            (t[7] = r[5]),
            (t[8] = r[8]);
        return t;
      }
      function i(t, r) {
        const n = r[0],
          e = r[1],
          o = r[2],
          a = r[3],
          i = r[4],
          c = r[5],
          u = r[6],
          f = r[7],
          s = r[8],
          l = r[9],
          p = r[10],
          y = r[11],
          d = r[12],
          h = r[13],
          g = r[14],
          m = r[15],
          A = n * c - e * i,
          b = n * u - o * i,
          B = n * f - a * i,
          T = e * u - o * c,
          M = e * f - a * c,
          v = o * f - a * u,
          x = s * h - l * d,
          E = s * g - p * d,
          w = s * m - y * d,
          F = l * g - p * h,
          _ = l * m - y * h,
          P = p * m - y * g;
        let R = A * P - b * _ + B * F + T * w - M * E + v * x;
        return R
          ? ((R = 1 / R),
            (t[0] = (c * P - u * _ + f * F) * R),
            (t[1] = (u * w - i * P - f * E) * R),
            (t[2] = (i * _ - c * w + f * x) * R),
            (t[3] = (o * _ - e * P - a * F) * R),
            (t[4] = (n * P - o * w + a * E) * R),
            (t[5] = (e * w - n * _ - a * x) * R),
            (t[6] = (h * v - g * M + m * T) * R),
            (t[7] = (g * B - d * v - m * b) * R),
            (t[8] = (d * M - h * B + m * A) * R),
            t)
          : null;
      }
      function c(t) {
        const r = e.E,
          n = t[0],
          o = t[1],
          a = t[2],
          i = t[3],
          c = t[4],
          u = t[5],
          f = t[6],
          s = t[7],
          l = t[8];
        return (
          Math.abs(1 - (n * n + i * i + f * f)) <= r &&
          Math.abs(1 - (o * o + c * c + s * s)) <= r &&
          Math.abs(1 - (a * a + u * u + l * l)) <= r
        );
      }
    },
    57532: (t, r, n) => {
      'use strict';
      function e() {
        return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
      }
      function o(t) {
        return [
          t[0],
          t[1],
          t[2],
          t[3],
          t[4],
          t[5],
          t[6],
          t[7],
          t[8],
          t[9],
          t[10],
          t[11],
          t[12],
          t[13],
          t[14],
          t[15],
        ];
      }
      function a(t, r) {
        return new Float64Array(t, r, 16);
      }
      n.d(r, { I: () => i, a: () => a, b: () => o, c: () => e });
      const i = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
    },
    84661: (t, r, n) => {
      'use strict';
      n.d(r, {
        a: () => g,
        b: () => v,
        c: () => b,
        d: () => m,
        e: () => x,
        f: () => T,
        g: () => M,
        p: () => A,
        t: () => B,
      });
      var e = n(92143),
        o = n(76506),
        a = n(26923),
        i = n(45087),
        c = n(57532),
        u = n(82426),
        f = n(72334),
        s = n(95587),
        l = n(60947),
        p = n(35132),
        y = n(40167),
        d = n(72836);
      const h = e.L.getLogger('esri.geometry.support.meshUtils.normalProjection');
      function g(t, r, n, e, o) {
        return w(e)
          ? (E(
              0,
              y.a.fromTypedArray(t),
              y.B.fromTypedArray(r),
              y.B.fromTypedArray(n),
              e,
              y.a.fromTypedArray(o),
            ),
            o)
          : (h.error('Cannot convert spatial reference to PCPF'), o);
      }
      function m(t, r, n, e, o) {
        return w(e)
          ? (E(
              1,
              y.a.fromTypedArray(t),
              y.B.fromTypedArray(r),
              y.B.fromTypedArray(n),
              e,
              y.a.fromTypedArray(o),
            ),
            o)
          : (h.error('Cannot convert to spatial reference from PCPF'), o);
      }
      function A(t, r, n) {
        return (0, f.CM)(t, r, 0, n, (0, s.c)(r), 0, t.length / 3), n;
      }
      function b(t, r, n) {
        return (0, f.CM)(t, (0, s.c)(n), 0, r, n, 0, t.length / 3), r;
      }
      function B(t, r, n) {
        if ((0, o.b)(t)) return r;
        const e = y.B.fromTypedArray(t),
          a = y.B.fromTypedArray(r);
        return (0, d.t)(a, e, n), r;
      }
      function T(t, r, n) {
        if ((0, o.b)(t)) return r;
        (0, a.a)(C, n);
        const e = y.a.fromTypedArray(t),
          i = y.a.fromTypedArray(r);
        return (0, d.a)(i, e, C), (0, a.i)(C) || (0, d.n)(i, i), r;
      }
      function M(t, r, n) {
        if ((0, o.b)(t)) return r;
        (0, a.a)(C, n);
        const e = y.a.fromTypedArray(t, 4 * Float32Array.BYTES_PER_ELEMENT),
          i = y.a.fromTypedArray(r, 4 * Float32Array.BYTES_PER_ELEMENT);
        if (((0, d.a)(i, e, C), (0, a.i)(C) || (0, d.n)(i, i), t !== r))
          for (let n = 3; n < t.length; n += 4) r[n] = t[n];
        return r;
      }
      function v(t, r, n, e, o) {
        if (!w(e)) return h.error('Cannot convert spatial reference to PCPF'), o;
        E(
          0,
          y.a.fromTypedArray(t, 4 * Float32Array.BYTES_PER_ELEMENT),
          y.B.fromTypedArray(r),
          y.B.fromTypedArray(n),
          e,
          y.a.fromTypedArray(o, 4 * Float32Array.BYTES_PER_ELEMENT),
        );
        for (let r = 3; r < t.length; r += 4) o[r] = t[r];
        return o;
      }
      function x(t, r, n, e, o) {
        if (!w(e)) return h.error('Cannot convert to spatial reference from PCPF'), o;
        E(
          1,
          y.a.fromTypedArray(t, 16),
          y.B.fromTypedArray(r),
          y.B.fromTypedArray(n),
          e,
          y.a.fromTypedArray(o, 16),
        );
        for (let r = 3; r < t.length; r += 4) o[r] = t[r];
        return o;
      }
      function E(t, r, n, e, o, i) {
        if (!r) return;
        const c = n.count,
          l = (0, s.c)(o);
        if (F(o))
          for (let n = 0; n < c; n++)
            e.getVec(n, _),
              r.getVec(n, P),
              (0, f.P_)(l, _, R, l),
              (0, a.f)(C, R),
              1 === t && (0, a.t)(C, C),
              (0, u.x)(P, P, C),
              i.setVec(n, P);
        else
          for (let o = 0; o < c; o++) {
            e.getVec(o, _), r.getVec(o, P), (0, f.P_)(l, _, R, l), (0, a.f)(C, R);
            const c = (0, p.mZ)(n.get(o, 1));
            let s = Math.cos(c);
            0 === t && (s = 1 / s),
              (C[0] *= s),
              (C[1] *= s),
              (C[2] *= s),
              (C[3] *= s),
              (C[4] *= s),
              (C[5] *= s),
              1 === t && (0, a.t)(C, C),
              (0, u.x)(P, P, C),
              (0, u.n)(P, P),
              i.setVec(o, P);
          }
        return i;
      }
      function w(t) {
        return (
          F(t) ||
          (function (t) {
            return t.isWebMercator;
          })(t)
        );
      }
      function F(t) {
        return t.isWGS84 || (0, l.k)(t) || (0, l.f)(t) || (0, l.h)(t);
      }
      const _ = (0, u.b)(),
        P = (0, u.b)(),
        R = (0, c.c)(),
        C = (0, i.c)();
    },
    35861: (t, r, n) => {
      'use strict';
      n.d(r, { c: () => c, e: () => f, f: () => u, g: () => a, m: () => i, s: () => o });
      var e = n(82426);
      function o(t, r, n) {
        n *= 0.5;
        const e = Math.sin(n);
        return (t[0] = e * r[0]), (t[1] = e * r[1]), (t[2] = e * r[2]), (t[3] = Math.cos(n)), t;
      }
      function a(t, r) {
        const n = 2 * Math.acos(r[3]),
          o = Math.sin(n / 2);
        return (
          o > e.E
            ? ((t[0] = r[0] / o), (t[1] = r[1] / o), (t[2] = r[2] / o))
            : ((t[0] = 1), (t[1] = 0), (t[2] = 0)),
          n
        );
      }
      function i(t, r, n) {
        const e = r[0],
          o = r[1],
          a = r[2],
          i = r[3],
          c = n[0],
          u = n[1],
          f = n[2],
          s = n[3];
        return (
          (t[0] = e * s + i * c + o * f - a * u),
          (t[1] = o * s + i * u + a * c - e * f),
          (t[2] = a * s + i * f + e * u - o * c),
          (t[3] = i * s - e * c - o * u - a * f),
          t
        );
      }
      function c(t, r) {
        return (t[0] = -r[0]), (t[1] = -r[1]), (t[2] = -r[2]), (t[3] = r[3]), t;
      }
      function u(t, r, n, e) {
        const o = (0.5 * Math.PI) / 180;
        (r *= o), (n *= o), (e *= o);
        const a = Math.sin(r),
          i = Math.cos(r),
          c = Math.sin(n),
          u = Math.cos(n),
          f = Math.sin(e),
          s = Math.cos(e);
        return (
          (t[0] = a * u * s - i * c * f),
          (t[1] = i * c * s + a * u * f),
          (t[2] = i * u * f - a * c * s),
          (t[3] = i * u * s + a * c * f),
          t
        );
      }
      const f = n(7200).e;
      (0, e.b)(), (0, e.p)(1, 0, 0), (0, e.p)(0, 1, 0);
    },
    45087: (t, r, n) => {
      'use strict';
      function e() {
        return [1, 0, 0, 0, 1, 0, 0, 0, 1];
      }
      function o(t, r) {
        return new Float64Array(t, r, 9);
      }
      function a() {
        return [0, 0, 0, 1];
      }
      function i(t) {
        return [t[0], t[1], t[2], t[3]];
      }
      function c(t, r) {
        return new Float64Array(t, r, 4);
      }
      n.d(r, { I: () => u, a: () => o, b: () => c, c: () => e, d: () => a, e: () => i });
      const u = [0, 0, 0, 1];
    },
    72836: (t, r, n) => {
      'use strict';
      n.d(r, {
        a: () => a,
        b: () => u,
        c: () => f,
        f: () => s,
        l: () => e,
        n: () => c,
        s: () => i,
        t: () => o,
      });
      const e = n(92143).L.getLogger('esri.views.3d.support.buffer.math');
      function o(t, r, n) {
        if (t.count !== r.count)
          return void e.error(
            'source and destination buffers need to have the same number of elements',
          );
        const o = t.count,
          a = n[0],
          i = n[1],
          c = n[2],
          u = n[4],
          f = n[5],
          s = n[6],
          l = n[8],
          p = n[9],
          y = n[10],
          d = n[12],
          h = n[13],
          g = n[14],
          m = t.typedBuffer,
          A = t.typedBufferStride,
          b = r.typedBuffer,
          B = r.typedBufferStride;
        for (let t = 0; t < o; t++) {
          const r = t * A,
            n = t * B,
            e = b[n],
            o = b[n + 1],
            T = b[n + 2];
          (m[r] = a * e + u * o + l * T + d),
            (m[r + 1] = i * e + f * o + p * T + h),
            (m[r + 2] = c * e + s * o + y * T + g);
        }
      }
      function a(t, r, n) {
        if (t.count !== r.count)
          return void e.error(
            'source and destination buffers need to have the same number of elements',
          );
        const o = t.count,
          a = n[0],
          i = n[1],
          c = n[2],
          u = n[3],
          f = n[4],
          s = n[5],
          l = n[6],
          p = n[7],
          y = n[8],
          d = t.typedBuffer,
          h = t.typedBufferStride,
          g = r.typedBuffer,
          m = r.typedBufferStride;
        for (let t = 0; t < o; t++) {
          const r = t * h,
            n = t * m,
            e = g[n],
            o = g[n + 1],
            A = g[n + 2];
          (d[r] = a * e + u * o + l * A),
            (d[r + 1] = i * e + f * o + p * A),
            (d[r + 2] = c * e + s * o + y * A);
        }
      }
      function i(t, r, n) {
        const e = Math.min(t.count, r.count),
          o = t.typedBuffer,
          a = t.typedBufferStride,
          i = r.typedBuffer,
          c = r.typedBufferStride;
        for (let t = 0; t < e; t++) {
          const r = t * a,
            e = t * c;
          (o[r] = n * i[e]), (o[r + 1] = n * i[e + 1]), (o[r + 2] = n * i[e + 2]);
        }
      }
      function c(t, r) {
        const n = Math.min(t.count, r.count),
          e = t.typedBuffer,
          o = t.typedBufferStride,
          a = r.typedBuffer,
          i = r.typedBufferStride;
        for (let t = 0; t < n; t++) {
          const r = t * o,
            n = t * i,
            c = a[n],
            u = a[n + 1],
            f = a[n + 2],
            s = Math.sqrt(c * c + u * u + f * f);
          if (s > 0) {
            const t = 1 / s;
            (e[r] = t * c), (e[r + 1] = t * u), (e[r + 2] = t * f);
          }
        }
      }
      function u(t, r, n) {
        const e = Math.min(t.count, r.count),
          o = t.typedBuffer,
          a = t.typedBufferStride,
          i = r.typedBuffer,
          c = r.typedBufferStride;
        for (let t = 0; t < e; t++) {
          const r = t * a,
            e = t * c;
          (o[r] = i[e] >> n), (o[r + 1] = i[e + 1] >> n), (o[r + 2] = i[e + 2] >> n);
        }
      }
      function f(t, r, n) {
        const e = t.typedBuffer,
          o = t.typedBufferStride,
          a = r.typedBuffer,
          i = r.typedBufferStride,
          c = n ? n.count : r.count;
        let u = (n && n.dstIndex ? n.dstIndex : 0) * o,
          f = (n && n.srcIndex ? n.srcIndex : 0) * i;
        for (let t = 0; t < c; ++t)
          (e[u] = a[f]), (e[u + 1] = a[f + 1]), (e[u + 2] = a[f + 2]), (u += o), (f += i);
      }
      function s(t, r, n, e, o) {
        var a, i;
        const c = t.typedBuffer,
          u = t.typedBufferStride,
          f = null != (a = null == o ? void 0 : o.count) ? a : t.count;
        let s = (null != (i = null == o ? void 0 : o.dstIndex) ? i : 0) * u;
        for (let t = 0; t < f; ++t) (c[s] = r), (c[s + 1] = n), (c[s + 2] = e), (s += u);
      }
    },
  },
]);
