/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file
"use strict";
var Vs = Object.create;
var nr = Object.defineProperty;
var Bs = Object.getOwnPropertyDescriptor;
var $s = Object.getOwnPropertyNames;
var js = Object.getPrototypeOf,
  Qs = Object.prototype.hasOwnProperty;
var ae = (t, e) => () => (t && (e = t((t = 0))), e);
var yt = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports),
  ht = (t, e) => {
    for (var r in e) nr(t, r, { get: e[r], enumerable: !0 });
  },
  Hn = (t, e, r, n) => {
    if ((e && typeof e == "object") || typeof e == "function")
      for (let i of $s(e))
        !Qs.call(t, i) &&
          i !== r &&
          nr(t, i, {
            get: () => e[i],
            enumerable: !(n = Bs(e, i)) || n.enumerable,
          });
    return t;
  };
var bt = (t, e, r) => (
    (r = t != null ? Vs(js(t)) : {}),
    Hn(
      e || !t || !t.__esModule
        ? nr(r, "default", { value: t, enumerable: !0 })
        : r,
      t,
    )
  ),
  Gs = (t) => Hn(nr({}, "__esModule", { value: !0 }), t);
function Kr(t, e) {
  if (((e = e.toLowerCase()), e === "utf8" || e === "utf-8"))
    return new y(Hs.encode(t));
  if (e === "base64" || e === "base64url")
    return (
      (t = t.replace(/-/g, "+").replace(/_/g, "/")),
      (t = t.replace(/[^A-Za-z0-9+/]/g, "")),
      new y([...atob(t)].map((r) => r.charCodeAt(0)))
    );
  if (e === "binary" || e === "ascii" || e === "latin1" || e === "latin-1")
    return new y([...t].map((r) => r.charCodeAt(0)));
  if (e === "ucs2" || e === "ucs-2" || e === "utf16le" || e === "utf-16le") {
    let r = new y(t.length * 2),
      n = new DataView(r.buffer);
    for (let i = 0; i < t.length; i++) n.setUint16(i * 2, t.charCodeAt(i), !0);
    return r;
  }
  if (e === "hex") {
    let r = new y(t.length / 2);
    for (let n = 0, i = 0; i < t.length; i += 2, n++)
      r[n] = parseInt(t.slice(i, i + 2), 16);
    return r;
  }
  Yn(`encoding "${e}"`);
}
function Js(t) {
  let r = Object.getOwnPropertyNames(DataView.prototype).filter(
      (a) => a.startsWith("get") || a.startsWith("set"),
    ),
    n = r.map((a) => a.replace("get", "read").replace("set", "write")),
    i = (a, f) =>
      function (v = 0) {
        return (
          J(v, "offset"),
          re(v, "offset"),
          K(v, "offset", this.length - 1),
          new DataView(this.buffer)[r[a]](v, f)
        );
      },
    o = (a, f) =>
      function (v, R = 0) {
        let A = r[a].match(/set(\w+\d+)/)[1].toLowerCase(),
          I = Ks[A];
        return (
          J(R, "offset"),
          re(R, "offset"),
          K(R, "offset", this.length - 1),
          Ws(v, "value", I[0], I[1]),
          new DataView(this.buffer)[r[a]](R, v, f),
          R + parseInt(r[a].match(/\d+/)[0]) / 8
        );
      },
    s = (a) => {
      a.forEach((f) => {
        (f.includes("Uint") && (t[f.replace("Uint", "UInt")] = t[f]),
          f.includes("Float64") && (t[f.replace("Float64", "Double")] = t[f]),
          f.includes("Float32") && (t[f.replace("Float32", "Float")] = t[f]));
      });
    };
  n.forEach((a, f) => {
    (a.startsWith("read") &&
      ((t[a] = i(f, !1)), (t[a + "LE"] = i(f, !0)), (t[a + "BE"] = i(f, !1))),
      a.startsWith("write") &&
        ((t[a] = o(f, !1)), (t[a + "LE"] = o(f, !0)), (t[a + "BE"] = o(f, !1))),
      s([a, a + "LE", a + "BE"]));
  });
}
function Yn(t) {
  throw new Error(`Buffer polyfill does not implement "${t}"`);
}
function ir(t, e) {
  if (!(t instanceof Uint8Array))
    throw new TypeError(
      `The "${e}" argument must be an instance of Buffer or Uint8Array`,
    );
}
function K(t, e, r = Xs + 1) {
  if (t < 0 || t > r) {
    let n = new RangeError(
      `The value of "${e}" is out of range. It must be >= 0 && <= ${r}. Received ${t}`,
    );
    throw ((n.code = "ERR_OUT_OF_RANGE"), n);
  }
}
function J(t, e) {
  if (typeof t != "number") {
    let r = new TypeError(
      `The "${e}" argument must be of type number. Received type ${typeof t}.`,
    );
    throw ((r.code = "ERR_INVALID_ARG_TYPE"), r);
  }
}
function re(t, e) {
  if (!Number.isInteger(t) || Number.isNaN(t)) {
    let r = new RangeError(
      `The value of "${e}" is out of range. It must be an integer. Received ${t}`,
    );
    throw ((r.code = "ERR_OUT_OF_RANGE"), r);
  }
}
function Ws(t, e, r, n) {
  if (t < r || t > n) {
    let i = new RangeError(
      `The value of "${e}" is out of range. It must be >= ${r} and <= ${n}. Received ${t}`,
    );
    throw ((i.code = "ERR_OUT_OF_RANGE"), i);
  }
}
function zn(t, e) {
  if (typeof t != "string") {
    let r = new TypeError(
      `The "${e}" argument must be of type string. Received type ${typeof t}`,
    );
    throw ((r.code = "ERR_INVALID_ARG_TYPE"), r);
  }
}
function Zs(t, e = "utf8") {
  return y.from(t, e);
}
var y,
  Ks,
  Hs,
  zs,
  Ys,
  Xs,
  h,
  Hr,
  u = ae(() => {
    "use strict";
    y = class t extends Uint8Array {
      _isBuffer = !0;
      get offset() {
        return this.byteOffset;
      }
      static alloc(e, r = 0, n = "utf8") {
        return (zn(n, "encoding"), t.allocUnsafe(e).fill(r, n));
      }
      static allocUnsafe(e) {
        return t.from(e);
      }
      static allocUnsafeSlow(e) {
        return t.from(e);
      }
      static isBuffer(e) {
        return e && !!e._isBuffer;
      }
      static byteLength(e, r = "utf8") {
        if (typeof e == "string") return Kr(e, r).byteLength;
        if (e && e.byteLength) return e.byteLength;
        let n = new TypeError(
          'The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.',
        );
        throw ((n.code = "ERR_INVALID_ARG_TYPE"), n);
      }
      static isEncoding(e) {
        return Ys.includes(e);
      }
      static compare(e, r) {
        (ir(e, "buff1"), ir(r, "buff2"));
        for (let n = 0; n < e.length; n++) {
          if (e[n] < r[n]) return -1;
          if (e[n] > r[n]) return 1;
        }
        return e.length === r.length ? 0 : e.length > r.length ? 1 : -1;
      }
      static from(e, r = "utf8") {
        if (e && typeof e == "object" && e.type === "Buffer")
          return new t(e.data);
        if (typeof e == "number") return new t(new Uint8Array(e));
        if (typeof e == "string") return Kr(e, r);
        if (ArrayBuffer.isView(e)) {
          let { byteOffset: n, byteLength: i, buffer: o } = e;
          return "map" in e && typeof e.map == "function"
            ? new t(
                e.map((s) => s % 256),
                n,
                i,
              )
            : new t(o, n, i);
        }
        if (
          e &&
          typeof e == "object" &&
          ("length" in e || "byteLength" in e || "buffer" in e)
        )
          return new t(e);
        throw new TypeError(
          "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.",
        );
      }
      static concat(e, r) {
        if (e.length === 0) return t.alloc(0);
        let n = [].concat(...e.map((o) => [...o])),
          i = t.alloc(r !== void 0 ? r : n.length);
        return (i.set(r !== void 0 ? n.slice(0, r) : n), i);
      }
      slice(e = 0, r = this.length) {
        return this.subarray(e, r);
      }
      subarray(e = 0, r = this.length) {
        return Object.setPrototypeOf(super.subarray(e, r), t.prototype);
      }
      reverse() {
        return (super.reverse(), this);
      }
      readIntBE(e, r) {
        (J(e, "offset"),
          re(e, "offset"),
          K(e, "offset", this.length - 1),
          J(r, "byteLength"),
          re(r, "byteLength"));
        let n = new DataView(this.buffer, e, r),
          i = 0;
        for (let o = 0; o < r; o++) i = i * 256 + n.getUint8(o);
        return (n.getUint8(0) & 128 && (i -= Math.pow(256, r)), i);
      }
      readIntLE(e, r) {
        (J(e, "offset"),
          re(e, "offset"),
          K(e, "offset", this.length - 1),
          J(r, "byteLength"),
          re(r, "byteLength"));
        let n = new DataView(this.buffer, e, r),
          i = 0;
        for (let o = 0; o < r; o++) i += n.getUint8(o) * Math.pow(256, o);
        return (n.getUint8(r - 1) & 128 && (i -= Math.pow(256, r)), i);
      }
      readUIntBE(e, r) {
        (J(e, "offset"),
          re(e, "offset"),
          K(e, "offset", this.length - 1),
          J(r, "byteLength"),
          re(r, "byteLength"));
        let n = new DataView(this.buffer, e, r),
          i = 0;
        for (let o = 0; o < r; o++) i = i * 256 + n.getUint8(o);
        return i;
      }
      readUintBE(e, r) {
        return this.readUIntBE(e, r);
      }
      readUIntLE(e, r) {
        (J(e, "offset"),
          re(e, "offset"),
          K(e, "offset", this.length - 1),
          J(r, "byteLength"),
          re(r, "byteLength"));
        let n = new DataView(this.buffer, e, r),
          i = 0;
        for (let o = 0; o < r; o++) i += n.getUint8(o) * Math.pow(256, o);
        return i;
      }
      readUintLE(e, r) {
        return this.readUIntLE(e, r);
      }
      writeIntBE(e, r, n) {
        return (
          (e = e < 0 ? e + Math.pow(256, n) : e),
          this.writeUIntBE(e, r, n)
        );
      }
      writeIntLE(e, r, n) {
        return (
          (e = e < 0 ? e + Math.pow(256, n) : e),
          this.writeUIntLE(e, r, n)
        );
      }
      writeUIntBE(e, r, n) {
        (J(r, "offset"),
          re(r, "offset"),
          K(r, "offset", this.length - 1),
          J(n, "byteLength"),
          re(n, "byteLength"));
        let i = new DataView(this.buffer, r, n);
        for (let o = n - 1; o >= 0; o--)
          (i.setUint8(o, e & 255), (e = e / 256));
        return r + n;
      }
      writeUintBE(e, r, n) {
        return this.writeUIntBE(e, r, n);
      }
      writeUIntLE(e, r, n) {
        (J(r, "offset"),
          re(r, "offset"),
          K(r, "offset", this.length - 1),
          J(n, "byteLength"),
          re(n, "byteLength"));
        let i = new DataView(this.buffer, r, n);
        for (let o = 0; o < n; o++) (i.setUint8(o, e & 255), (e = e / 256));
        return r + n;
      }
      writeUintLE(e, r, n) {
        return this.writeUIntLE(e, r, n);
      }
      toJSON() {
        return { type: "Buffer", data: Array.from(this) };
      }
      swap16() {
        let e = new DataView(this.buffer, this.byteOffset, this.byteLength);
        for (let r = 0; r < this.length; r += 2)
          e.setUint16(r, e.getUint16(r, !0), !1);
        return this;
      }
      swap32() {
        let e = new DataView(this.buffer, this.byteOffset, this.byteLength);
        for (let r = 0; r < this.length; r += 4)
          e.setUint32(r, e.getUint32(r, !0), !1);
        return this;
      }
      swap64() {
        let e = new DataView(this.buffer, this.byteOffset, this.byteLength);
        for (let r = 0; r < this.length; r += 8)
          e.setBigUint64(r, e.getBigUint64(r, !0), !1);
        return this;
      }
      compare(e, r = 0, n = e.length, i = 0, o = this.length) {
        return (
          ir(e, "target"),
          J(r, "targetStart"),
          J(n, "targetEnd"),
          J(i, "sourceStart"),
          J(o, "sourceEnd"),
          K(r, "targetStart"),
          K(n, "targetEnd", e.length),
          K(i, "sourceStart"),
          K(o, "sourceEnd", this.length),
          t.compare(this.slice(i, o), e.slice(r, n))
        );
      }
      equals(e) {
        return (
          ir(e, "otherBuffer"),
          this.length === e.length && this.every((r, n) => r === e[n])
        );
      }
      copy(e, r = 0, n = 0, i = this.length) {
        (K(r, "targetStart"),
          K(n, "sourceStart", this.length),
          K(i, "sourceEnd"),
          (r >>>= 0),
          (n >>>= 0),
          (i >>>= 0));
        let o = 0;
        for (; n < i && !(this[n] === void 0 || e[r] === void 0); )
          ((e[r] = this[n]), o++, n++, r++);
        return o;
      }
      write(e, r, n, i = "utf8") {
        let o = typeof r == "string" ? 0 : (r ?? 0),
          s = typeof n == "string" ? this.length - o : (n ?? this.length - o);
        return (
          (i = typeof r == "string" ? r : typeof n == "string" ? n : i),
          J(o, "offset"),
          J(s, "length"),
          K(o, "offset", this.length),
          K(s, "length", this.length),
          (i === "ucs2" ||
            i === "ucs-2" ||
            i === "utf16le" ||
            i === "utf-16le") &&
            (s = s - (s % 2)),
          Kr(e, i).copy(this, o, 0, s)
        );
      }
      fill(e = 0, r = 0, n = this.length, i = "utf-8") {
        let o = typeof r == "string" ? 0 : r,
          s = typeof n == "string" ? this.length : n;
        if (
          ((i = typeof r == "string" ? r : typeof n == "string" ? n : i),
          (e = t.from(typeof e == "number" ? [e] : (e ?? []), i)),
          zn(i, "encoding"),
          K(o, "offset", this.length),
          K(s, "end", this.length),
          e.length !== 0)
        )
          for (let a = o; a < s; a += e.length)
            super.set(
              e.slice(
                0,
                e.length + a >= this.length ? this.length - a : e.length,
              ),
              a,
            );
        return this;
      }
      includes(e, r = null, n = "utf-8") {
        return this.indexOf(e, r, n) !== -1;
      }
      lastIndexOf(e, r = null, n = "utf-8") {
        return this.indexOf(e, r, n, !0);
      }
      indexOf(e, r = null, n = "utf-8", i = !1) {
        let o = i ? this.findLastIndex.bind(this) : this.findIndex.bind(this);
        n = typeof r == "string" ? r : n;
        let s = t.from(typeof e == "number" ? [e] : e, n),
          a = typeof r == "string" ? 0 : r;
        return (
          (a = typeof r == "number" ? a : null),
          (a = Number.isNaN(a) ? null : a),
          (a ??= i ? this.length : 0),
          (a = a < 0 ? this.length + a : a),
          s.length === 0 && i === !1
            ? a >= this.length
              ? this.length
              : a
            : s.length === 0 && i === !0
              ? (a >= this.length ? this.length : a) || this.length
              : o(
                  (f, v) =>
                    (i ? v <= a : v >= a) &&
                    this[v] === s[0] &&
                    s.every((A, I) => this[v + I] === A),
                )
        );
      }
      toString(e = "utf8", r = 0, n = this.length) {
        if (((r = r < 0 ? 0 : r), (e = e.toString().toLowerCase()), n <= 0))
          return "";
        if (e === "utf8" || e === "utf-8") return zs.decode(this.slice(r, n));
        if (e === "base64" || e === "base64url") {
          let i = btoa(this.reduce((o, s) => o + Hr(s), ""));
          return e === "base64url"
            ? i.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "")
            : i;
        }
        if (
          e === "binary" ||
          e === "ascii" ||
          e === "latin1" ||
          e === "latin-1"
        )
          return this.slice(r, n).reduce(
            (i, o) => i + Hr(o & (e === "ascii" ? 127 : 255)),
            "",
          );
        if (
          e === "ucs2" ||
          e === "ucs-2" ||
          e === "utf16le" ||
          e === "utf-16le"
        ) {
          let i = new DataView(this.buffer.slice(r, n));
          return Array.from({ length: i.byteLength / 2 }, (o, s) =>
            s * 2 + 1 < i.byteLength ? Hr(i.getUint16(s * 2, !0)) : "",
          ).join("");
        }
        if (e === "hex")
          return this.slice(r, n).reduce(
            (i, o) => i + o.toString(16).padStart(2, "0"),
            "",
          );
        Yn(`encoding "${e}"`);
      }
      toLocaleString() {
        return this.toString();
      }
      inspect() {
        return `<Buffer ${this.toString("hex")
          .match(/.{1,2}/g)
          .join(" ")}>`;
      }
    };
    ((Ks = {
      int8: [-128, 127],
      int16: [-32768, 32767],
      int32: [-2147483648, 2147483647],
      uint8: [0, 255],
      uint16: [0, 65535],
      uint32: [0, 4294967295],
      float32: [-1 / 0, 1 / 0],
      float64: [-1 / 0, 1 / 0],
      bigint64: [-0x8000000000000000n, 0x7fffffffffffffffn],
      biguint64: [0n, 0xffffffffffffffffn],
    }),
      (Hs = new TextEncoder()),
      (zs = new TextDecoder()),
      (Ys = [
        "utf8",
        "utf-8",
        "hex",
        "base64",
        "ascii",
        "binary",
        "base64url",
        "ucs2",
        "ucs-2",
        "utf16le",
        "utf-16le",
        "latin1",
        "latin-1",
      ]),
      (Xs = 4294967295));
    Js(y.prototype);
    ((h = new Proxy(Zs, {
      construct(t, [e, r]) {
        return y.from(e, r);
      },
      get(t, e) {
        return y[e];
      },
    })),
      (Hr = String.fromCodePoint));
  });
var g,
  w,
  c = ae(() => {
    "use strict";
    ((g = {
      nextTick: (t, ...e) => {
        setTimeout(() => {
          t(...e);
        }, 0);
      },
      env: {},
      version: "",
      cwd: () => "/",
      stderr: {},
      argv: ["/bin/node"],
      pid: 1e4,
    }),
      ({ cwd: w } = g));
  });
var x,
  p = ae(() => {
    "use strict";
    x =
      globalThis.performance ??
      (() => {
        let t = Date.now();
        return { now: () => Date.now() - t };
      })();
  });
var E,
  m = ae(() => {
    "use strict";
    E = () => {};
    E.prototype = E;
  });
var b,
  d = ae(() => {
    "use strict";
    b = class {
      value;
      constructor(e) {
        this.value = e;
      }
      deref() {
        return this.value;
      }
    };
  });
function ti(t, e) {
  var r,
    n,
    i,
    o,
    s,
    a,
    f,
    v,
    R = t.constructor,
    A = R.precision;
  if (!t.s || !e.s) return (e.s || (e = new R(t)), $ ? N(e, A) : e);
  if (
    ((f = t.d),
    (v = e.d),
    (s = t.e),
    (i = e.e),
    (f = f.slice()),
    (o = s - i),
    o)
  ) {
    for (
      o < 0
        ? ((n = f), (o = -o), (a = v.length))
        : ((n = v), (i = s), (a = f.length)),
        s = Math.ceil(A / B),
        a = s > a ? s + 1 : a + 1,
        o > a && ((o = a), (n.length = 1)),
        n.reverse();
      o--;
    )
      n.push(0);
    n.reverse();
  }
  for (
    a = f.length,
      o = v.length,
      a - o < 0 && ((o = a), (n = v), (v = f), (f = n)),
      r = 0;
    o;
  )
    ((r = ((f[--o] = f[o] + v[o] + r) / H) | 0), (f[o] %= H));
  for (r && (f.unshift(r), ++i), a = f.length; f[--a] == 0; ) f.pop();
  return ((e.d = f), (e.e = i), $ ? N(e, A) : e);
}
function de(t, e, r) {
  if (t !== ~~t || t < e || t > r) throw Error(_e + t);
}
function me(t) {
  var e,
    r,
    n,
    i = t.length - 1,
    o = "",
    s = t[0];
  if (i > 0) {
    for (o += s, e = 1; e < i; e++)
      ((n = t[e] + ""), (r = B - n.length), r && (o += Ae(r)), (o += n));
    ((s = t[e]), (n = s + ""), (r = B - n.length), r && (o += Ae(r)));
  } else if (s === 0) return "0";
  for (; s % 10 === 0; ) s /= 10;
  return o + s;
}
function ri(t, e) {
  var r,
    n,
    i,
    o,
    s,
    a,
    f = 0,
    v = 0,
    R = t.constructor,
    A = R.precision;
  if (W(t) > 16) throw Error(Yr + W(t));
  if (!t.s) return new R(oe);
  for (
    e == null ? (($ = !1), (a = A)) : (a = e), s = new R(0.03125);
    t.abs().gte(0.1);
  )
    ((t = t.times(s)), (v += 5));
  for (
    n = ((Math.log(ke(2, v)) / Math.LN10) * 2 + 5) | 0,
      a += n,
      r = i = o = new R(oe),
      R.precision = a;
    ;
  ) {
    if (
      ((i = N(i.times(t), a)),
      (r = r.times(++f)),
      (s = o.plus(we(i, r, a))),
      me(s.d).slice(0, a) === me(o.d).slice(0, a))
    ) {
      for (; v--; ) o = N(o.times(o), a);
      return ((R.precision = A), e == null ? (($ = !0), N(o, A)) : o);
    }
    o = s;
  }
}
function W(t) {
  for (var e = t.e * B, r = t.d[0]; r >= 10; r /= 10) e++;
  return e;
}
function zr(t, e, r) {
  if (e > t.LN10.sd())
    throw (
      ($ = !0),
      r && (t.precision = r),
      Error(le + "LN10 precision limit exceeded")
    );
  return N(new t(t.LN10), e);
}
function Ae(t) {
  for (var e = ""; t--; ) e += "0";
  return e;
}
function Et(t, e) {
  var r,
    n,
    i,
    o,
    s,
    a,
    f,
    v,
    R,
    A = 1,
    I = 10,
    C = t,
    L = C.d,
    D = C.constructor,
    k = D.precision;
  if (C.s < 1) throw Error(le + (C.s ? "NaN" : "-Infinity"));
  if (C.eq(oe)) return new D(0);
  if ((e == null ? (($ = !1), (v = k)) : (v = e), C.eq(10)))
    return (e == null && ($ = !0), zr(D, v));
  if (
    ((v += I),
    (D.precision = v),
    (r = me(L)),
    (n = r.charAt(0)),
    (o = W(C)),
    Math.abs(o) < 15e14)
  ) {
    for (; (n < 7 && n != 1) || (n == 1 && r.charAt(1) > 3); )
      ((C = C.times(t)), (r = me(C.d)), (n = r.charAt(0)), A++);
    ((o = W(C)),
      n > 1 ? ((C = new D("0." + r)), o++) : (C = new D(n + "." + r.slice(1))));
  } else
    return (
      (f = zr(D, v + 2, k).times(o + "")),
      (C = Et(new D(n + "." + r.slice(1)), v - I).plus(f)),
      (D.precision = k),
      e == null ? (($ = !0), N(C, k)) : C
    );
  for (
    a = s = C = we(C.minus(oe), C.plus(oe), v), R = N(C.times(C), v), i = 3;
    ;
  ) {
    if (
      ((s = N(s.times(R), v)),
      (f = a.plus(we(s, new D(i), v))),
      me(f.d).slice(0, v) === me(a.d).slice(0, v))
    )
      return (
        (a = a.times(2)),
        o !== 0 && (a = a.plus(zr(D, v + 2, k).times(o + ""))),
        (a = we(a, new D(A), v)),
        (D.precision = k),
        e == null ? (($ = !0), N(a, k)) : a
      );
    ((a = f), (i += 2));
  }
}
function Xn(t, e) {
  var r, n, i;
  for (
    (r = e.indexOf(".")) > -1 && (e = e.replace(".", "")),
      (n = e.search(/e/i)) > 0
        ? (r < 0 && (r = n), (r += +e.slice(n + 1)), (e = e.substring(0, n)))
        : r < 0 && (r = e.length),
      n = 0;
    e.charCodeAt(n) === 48;
  )
    ++n;
  for (i = e.length; e.charCodeAt(i - 1) === 48; ) --i;
  if (((e = e.slice(n, i)), e)) {
    if (
      ((i -= n),
      (r = r - n - 1),
      (t.e = Qe(r / B)),
      (t.d = []),
      (n = (r + 1) % B),
      r < 0 && (n += B),
      n < i)
    ) {
      for (n && t.d.push(+e.slice(0, n)), i -= B; n < i; )
        t.d.push(+e.slice(n, (n += B)));
      ((e = e.slice(n)), (n = B - e.length));
    } else n -= i;
    for (; n--; ) e += "0";
    if ((t.d.push(+e), $ && (t.e > or || t.e < -or))) throw Error(Yr + r);
  } else ((t.s = 0), (t.e = 0), (t.d = [0]));
  return t;
}
function N(t, e, r) {
  var n,
    i,
    o,
    s,
    a,
    f,
    v,
    R,
    A = t.d;
  for (s = 1, o = A[0]; o >= 10; o /= 10) s++;
  if (((n = e - s), n < 0)) ((n += B), (i = e), (v = A[(R = 0)]));
  else {
    if (((R = Math.ceil((n + 1) / B)), (o = A.length), R >= o)) return t;
    for (v = o = A[R], s = 1; o >= 10; o /= 10) s++;
    ((n %= B), (i = n - B + s));
  }
  if (
    (r !== void 0 &&
      ((o = ke(10, s - i - 1)),
      (a = ((v / o) % 10) | 0),
      (f = e < 0 || A[R + 1] !== void 0 || v % o),
      (f =
        r < 4
          ? (a || f) && (r == 0 || r == (t.s < 0 ? 3 : 2))
          : a > 5 ||
            (a == 5 &&
              (r == 4 ||
                f ||
                (r == 6 &&
                  ((n > 0 ? (i > 0 ? v / ke(10, s - i) : 0) : A[R - 1]) % 10) &
                    1) ||
                r == (t.s < 0 ? 8 : 7))))),
    e < 1 || !A[0])
  )
    return (
      f
        ? ((o = W(t)),
          (A.length = 1),
          (e = e - o - 1),
          (A[0] = ke(10, (B - (e % B)) % B)),
          (t.e = Qe(-e / B) || 0))
        : ((A.length = 1), (A[0] = t.e = t.s = 0)),
      t
    );
  if (
    (n == 0
      ? ((A.length = R), (o = 1), R--)
      : ((A.length = R + 1),
        (o = ke(10, B - n)),
        (A[R] = i > 0 ? (((v / ke(10, s - i)) % ke(10, i)) | 0) * o : 0)),
    f)
  )
    for (;;)
      if (R == 0) {
        (A[0] += o) == H && ((A[0] = 1), ++t.e);
        break;
      } else {
        if (((A[R] += o), A[R] != H)) break;
        ((A[R--] = 0), (o = 1));
      }
  for (n = A.length; A[--n] === 0; ) A.pop();
  if ($ && (t.e > or || t.e < -or)) throw Error(Yr + W(t));
  return t;
}
function ni(t, e) {
  var r,
    n,
    i,
    o,
    s,
    a,
    f,
    v,
    R,
    A,
    I = t.constructor,
    C = I.precision;
  if (!t.s || !e.s)
    return (e.s ? (e.s = -e.s) : (e = new I(t)), $ ? N(e, C) : e);
  if (
    ((f = t.d),
    (A = e.d),
    (n = e.e),
    (v = t.e),
    (f = f.slice()),
    (s = v - n),
    s)
  ) {
    for (
      R = s < 0,
        R
          ? ((r = f), (s = -s), (a = A.length))
          : ((r = A), (n = v), (a = f.length)),
        i = Math.max(Math.ceil(C / B), a) + 2,
        s > i && ((s = i), (r.length = 1)),
        r.reverse(),
        i = s;
      i--;
    )
      r.push(0);
    r.reverse();
  } else {
    for (i = f.length, a = A.length, R = i < a, R && (a = i), i = 0; i < a; i++)
      if (f[i] != A[i]) {
        R = f[i] < A[i];
        break;
      }
    s = 0;
  }
  for (
    R && ((r = f), (f = A), (A = r), (e.s = -e.s)),
      a = f.length,
      i = A.length - a;
    i > 0;
    --i
  )
    f[a++] = 0;
  for (i = A.length; i > s; ) {
    if (f[--i] < A[i]) {
      for (o = i; o && f[--o] === 0; ) f[o] = H - 1;
      (--f[o], (f[i] += H));
    }
    f[i] -= A[i];
  }
  for (; f[--a] === 0; ) f.pop();
  for (; f[0] === 0; f.shift()) --n;
  return f[0] ? ((e.d = f), (e.e = n), $ ? N(e, C) : e) : new I(0);
}
function Me(t, e, r) {
  var n,
    i = W(t),
    o = me(t.d),
    s = o.length;
  return (
    e
      ? (r && (n = r - s) > 0
          ? (o = o.charAt(0) + "." + o.slice(1) + Ae(n))
          : s > 1 && (o = o.charAt(0) + "." + o.slice(1)),
        (o = o + (i < 0 ? "e" : "e+") + i))
      : i < 0
        ? ((o = "0." + Ae(-i - 1) + o), r && (n = r - s) > 0 && (o += Ae(n)))
        : i >= s
          ? ((o += Ae(i + 1 - s)),
            r && (n = r - i - 1) > 0 && (o = o + "." + Ae(n)))
          : ((n = i + 1) < s && (o = o.slice(0, n) + "." + o.slice(n)),
            r && (n = r - s) > 0 && (i + 1 === s && (o += "."), (o += Ae(n)))),
    t.s < 0 ? "-" + o : o
  );
}
function Zn(t, e) {
  if (t.length > e) return ((t.length = e), !0);
}
function ii(t) {
  var e, r, n;
  function i(o) {
    var s = this;
    if (!(s instanceof i)) return new i(o);
    if (((s.constructor = i), o instanceof i)) {
      ((s.s = o.s), (s.e = o.e), (s.d = (o = o.d) ? o.slice() : o));
      return;
    }
    if (typeof o == "number") {
      if (o * 0 !== 0) throw Error(_e + o);
      if (o > 0) s.s = 1;
      else if (o < 0) ((o = -o), (s.s = -1));
      else {
        ((s.s = 0), (s.e = 0), (s.d = [0]));
        return;
      }
      if (o === ~~o && o < 1e7) {
        ((s.e = 0), (s.d = [o]));
        return;
      }
      return Xn(s, o.toString());
    } else if (typeof o != "string") throw Error(_e + o);
    if (
      (o.charCodeAt(0) === 45 ? ((o = o.slice(1)), (s.s = -1)) : (s.s = 1),
      ta.test(o))
    )
      Xn(s, o);
    else throw Error(_e + o);
  }
  if (
    ((i.prototype = S),
    (i.ROUND_UP = 0),
    (i.ROUND_DOWN = 1),
    (i.ROUND_CEIL = 2),
    (i.ROUND_FLOOR = 3),
    (i.ROUND_HALF_UP = 4),
    (i.ROUND_HALF_DOWN = 5),
    (i.ROUND_HALF_EVEN = 6),
    (i.ROUND_HALF_CEIL = 7),
    (i.ROUND_HALF_FLOOR = 8),
    (i.clone = ii),
    (i.config = i.set = ra),
    t === void 0 && (t = {}),
    t)
  )
    for (
      n = ["precision", "rounding", "toExpNeg", "toExpPos", "LN10"], e = 0;
      e < n.length;
    )
      t.hasOwnProperty((r = n[e++])) || (t[r] = this[r]);
  return (i.config(t), i);
}
function ra(t) {
  if (!t || typeof t != "object") throw Error(le + "Object expected");
  var e,
    r,
    n,
    i = [
      "precision",
      1,
      je,
      "rounding",
      0,
      8,
      "toExpNeg",
      -1 / 0,
      0,
      "toExpPos",
      0,
      1 / 0,
    ];
  for (e = 0; e < i.length; e += 3)
    if ((n = t[(r = i[e])]) !== void 0)
      if (Qe(n) === n && n >= i[e + 1] && n <= i[e + 2]) this[r] = n;
      else throw Error(_e + r + ": " + n);
  if ((n = t[(r = "LN10")]) !== void 0)
    if (n == Math.LN10) this[r] = new this(n);
    else throw Error(_e + r + ": " + n);
  return this;
}
var je,
  ea,
  Xr,
  $,
  le,
  _e,
  Yr,
  Qe,
  ke,
  ta,
  oe,
  H,
  B,
  ei,
  or,
  S,
  we,
  Xr,
  sr,
  oi = ae(() => {
    "use strict";
    u();
    c();
    p();
    m();
    d();
    l();
    ((je = 1e9),
      (ea = {
        precision: 20,
        rounding: 4,
        toExpNeg: -7,
        toExpPos: 21,
        LN10: "2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286",
      }),
      ($ = !0),
      (le = "[DecimalError] "),
      (_e = le + "Invalid argument: "),
      (Yr = le + "Exponent out of range: "),
      (Qe = Math.floor),
      (ke = Math.pow),
      (ta = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i),
      (H = 1e7),
      (B = 7),
      (ei = 9007199254740991),
      (or = Qe(ei / B)),
      (S = {}));
    S.absoluteValue = S.abs = function () {
      var t = new this.constructor(this);
      return (t.s && (t.s = 1), t);
    };
    S.comparedTo = S.cmp = function (t) {
      var e,
        r,
        n,
        i,
        o = this;
      if (((t = new o.constructor(t)), o.s !== t.s)) return o.s || -t.s;
      if (o.e !== t.e) return (o.e > t.e) ^ (o.s < 0) ? 1 : -1;
      for (n = o.d.length, i = t.d.length, e = 0, r = n < i ? n : i; e < r; ++e)
        if (o.d[e] !== t.d[e]) return (o.d[e] > t.d[e]) ^ (o.s < 0) ? 1 : -1;
      return n === i ? 0 : (n > i) ^ (o.s < 0) ? 1 : -1;
    };
    S.decimalPlaces = S.dp = function () {
      var t = this,
        e = t.d.length - 1,
        r = (e - t.e) * B;
      if (((e = t.d[e]), e)) for (; e % 10 == 0; e /= 10) r--;
      return r < 0 ? 0 : r;
    };
    S.dividedBy = S.div = function (t) {
      return we(this, new this.constructor(t));
    };
    S.dividedToIntegerBy = S.idiv = function (t) {
      var e = this,
        r = e.constructor;
      return N(we(e, new r(t), 0, 1), r.precision);
    };
    S.equals = S.eq = function (t) {
      return !this.cmp(t);
    };
    S.exponent = function () {
      return W(this);
    };
    S.greaterThan = S.gt = function (t) {
      return this.cmp(t) > 0;
    };
    S.greaterThanOrEqualTo = S.gte = function (t) {
      return this.cmp(t) >= 0;
    };
    S.isInteger = S.isint = function () {
      return this.e > this.d.length - 2;
    };
    S.isNegative = S.isneg = function () {
      return this.s < 0;
    };
    S.isPositive = S.ispos = function () {
      return this.s > 0;
    };
    S.isZero = function () {
      return this.s === 0;
    };
    S.lessThan = S.lt = function (t) {
      return this.cmp(t) < 0;
    };
    S.lessThanOrEqualTo = S.lte = function (t) {
      return this.cmp(t) < 1;
    };
    S.logarithm = S.log = function (t) {
      var e,
        r = this,
        n = r.constructor,
        i = n.precision,
        o = i + 5;
      if (t === void 0) t = new n(10);
      else if (((t = new n(t)), t.s < 1 || t.eq(oe))) throw Error(le + "NaN");
      if (r.s < 1) throw Error(le + (r.s ? "NaN" : "-Infinity"));
      return r.eq(oe)
        ? new n(0)
        : (($ = !1), (e = we(Et(r, o), Et(t, o), o)), ($ = !0), N(e, i));
    };
    S.minus = S.sub = function (t) {
      var e = this;
      return (
        (t = new e.constructor(t)),
        e.s == t.s ? ni(e, t) : ti(e, ((t.s = -t.s), t))
      );
    };
    S.modulo = S.mod = function (t) {
      var e,
        r = this,
        n = r.constructor,
        i = n.precision;
      if (((t = new n(t)), !t.s)) throw Error(le + "NaN");
      return r.s
        ? (($ = !1), (e = we(r, t, 0, 1).times(t)), ($ = !0), r.minus(e))
        : N(new n(r), i);
    };
    S.naturalExponential = S.exp = function () {
      return ri(this);
    };
    S.naturalLogarithm = S.ln = function () {
      return Et(this);
    };
    S.negated = S.neg = function () {
      var t = new this.constructor(this);
      return ((t.s = -t.s || 0), t);
    };
    S.plus = S.add = function (t) {
      var e = this;
      return (
        (t = new e.constructor(t)),
        e.s == t.s ? ti(e, t) : ni(e, ((t.s = -t.s), t))
      );
    };
    S.precision = S.sd = function (t) {
      var e,
        r,
        n,
        i = this;
      if (t !== void 0 && t !== !!t && t !== 1 && t !== 0) throw Error(_e + t);
      if (
        ((e = W(i) + 1), (n = i.d.length - 1), (r = n * B + 1), (n = i.d[n]), n)
      ) {
        for (; n % 10 == 0; n /= 10) r--;
        for (n = i.d[0]; n >= 10; n /= 10) r++;
      }
      return t && e > r ? e : r;
    };
    S.squareRoot = S.sqrt = function () {
      var t,
        e,
        r,
        n,
        i,
        o,
        s,
        a = this,
        f = a.constructor;
      if (a.s < 1) {
        if (!a.s) return new f(0);
        throw Error(le + "NaN");
      }
      for (
        t = W(a),
          $ = !1,
          i = Math.sqrt(+a),
          i == 0 || i == 1 / 0
            ? ((e = me(a.d)),
              (e.length + t) % 2 == 0 && (e += "0"),
              (i = Math.sqrt(e)),
              (t = Qe((t + 1) / 2) - (t < 0 || t % 2)),
              i == 1 / 0
                ? (e = "5e" + t)
                : ((e = i.toExponential()),
                  (e = e.slice(0, e.indexOf("e") + 1) + t)),
              (n = new f(e)))
            : (n = new f(i.toString())),
          r = f.precision,
          i = s = r + 3;
        ;
      )
        if (
          ((o = n),
          (n = o.plus(we(a, o, s + 2)).times(0.5)),
          me(o.d).slice(0, s) === (e = me(n.d)).slice(0, s))
        ) {
          if (((e = e.slice(s - 3, s + 1)), i == s && e == "4999")) {
            if ((N(o, r + 1, 0), o.times(o).eq(a))) {
              n = o;
              break;
            }
          } else if (e != "9999") break;
          s += 4;
        }
      return (($ = !0), N(n, r));
    };
    S.times = S.mul = function (t) {
      var e,
        r,
        n,
        i,
        o,
        s,
        a,
        f,
        v,
        R = this,
        A = R.constructor,
        I = R.d,
        C = (t = new A(t)).d;
      if (!R.s || !t.s) return new A(0);
      for (
        t.s *= R.s,
          r = R.e + t.e,
          f = I.length,
          v = C.length,
          f < v && ((o = I), (I = C), (C = o), (s = f), (f = v), (v = s)),
          o = [],
          s = f + v,
          n = s;
        n--;
      )
        o.push(0);
      for (n = v; --n >= 0; ) {
        for (e = 0, i = f + n; i > n; )
          ((a = o[i] + C[n] * I[i - n - 1] + e),
            (o[i--] = (a % H) | 0),
            (e = (a / H) | 0));
        o[i] = ((o[i] + e) % H) | 0;
      }
      for (; !o[--s]; ) o.pop();
      return (
        e ? ++r : o.shift(),
        (t.d = o),
        (t.e = r),
        $ ? N(t, A.precision) : t
      );
    };
    S.toDecimalPlaces = S.todp = function (t, e) {
      var r = this,
        n = r.constructor;
      return (
        (r = new n(r)),
        t === void 0
          ? r
          : (de(t, 0, je),
            e === void 0 ? (e = n.rounding) : de(e, 0, 8),
            N(r, t + W(r) + 1, e))
      );
    };
    S.toExponential = function (t, e) {
      var r,
        n = this,
        i = n.constructor;
      return (
        t === void 0
          ? (r = Me(n, !0))
          : (de(t, 0, je),
            e === void 0 ? (e = i.rounding) : de(e, 0, 8),
            (n = N(new i(n), t + 1, e)),
            (r = Me(n, !0, t + 1))),
        r
      );
    };
    S.toFixed = function (t, e) {
      var r,
        n,
        i = this,
        o = i.constructor;
      return t === void 0
        ? Me(i)
        : (de(t, 0, je),
          e === void 0 ? (e = o.rounding) : de(e, 0, 8),
          (n = N(new o(i), t + W(i) + 1, e)),
          (r = Me(n.abs(), !1, t + W(n) + 1)),
          i.isneg() && !i.isZero() ? "-" + r : r);
    };
    S.toInteger = S.toint = function () {
      var t = this,
        e = t.constructor;
      return N(new e(t), W(t) + 1, e.rounding);
    };
    S.toNumber = function () {
      return +this;
    };
    S.toPower = S.pow = function (t) {
      var e,
        r,
        n,
        i,
        o,
        s,
        a = this,
        f = a.constructor,
        v = 12,
        R = +(t = new f(t));
      if (!t.s) return new f(oe);
      if (((a = new f(a)), !a.s)) {
        if (t.s < 1) throw Error(le + "Infinity");
        return a;
      }
      if (a.eq(oe)) return a;
      if (((n = f.precision), t.eq(oe))) return N(a, n);
      if (((e = t.e), (r = t.d.length - 1), (s = e >= r), (o = a.s), s)) {
        if ((r = R < 0 ? -R : R) <= ei) {
          for (
            i = new f(oe), e = Math.ceil(n / B + 4), $ = !1;
            r % 2 && ((i = i.times(a)), Zn(i.d, e)), (r = Qe(r / 2)), r !== 0;
          )
            ((a = a.times(a)), Zn(a.d, e));
          return (($ = !0), t.s < 0 ? new f(oe).div(i) : N(i, n));
        }
      } else if (o < 0) throw Error(le + "NaN");
      return (
        (o = o < 0 && t.d[Math.max(e, r)] & 1 ? -1 : 1),
        (a.s = 1),
        ($ = !1),
        (i = t.times(Et(a, n + v))),
        ($ = !0),
        (i = ri(i)),
        (i.s = o),
        i
      );
    };
    S.toPrecision = function (t, e) {
      var r,
        n,
        i = this,
        o = i.constructor;
      return (
        t === void 0
          ? ((r = W(i)), (n = Me(i, r <= o.toExpNeg || r >= o.toExpPos)))
          : (de(t, 1, je),
            e === void 0 ? (e = o.rounding) : de(e, 0, 8),
            (i = N(new o(i), t, e)),
            (r = W(i)),
            (n = Me(i, t <= r || r <= o.toExpNeg, t))),
        n
      );
    };
    S.toSignificantDigits = S.tosd = function (t, e) {
      var r = this,
        n = r.constructor;
      return (
        t === void 0
          ? ((t = n.precision), (e = n.rounding))
          : (de(t, 1, je), e === void 0 ? (e = n.rounding) : de(e, 0, 8)),
        N(new n(r), t, e)
      );
    };
    S.toString =
      S.valueOf =
      S.val =
      S.toJSON =
      S[Symbol.for("nodejs.util.inspect.custom")] =
        function () {
          var t = this,
            e = W(t),
            r = t.constructor;
          return Me(t, e <= r.toExpNeg || e >= r.toExpPos);
        };
    we = (function () {
      function t(n, i) {
        var o,
          s = 0,
          a = n.length;
        for (n = n.slice(); a--; )
          ((o = n[a] * i + s), (n[a] = (o % H) | 0), (s = (o / H) | 0));
        return (s && n.unshift(s), n);
      }
      function e(n, i, o, s) {
        var a, f;
        if (o != s) f = o > s ? 1 : -1;
        else
          for (a = f = 0; a < o; a++)
            if (n[a] != i[a]) {
              f = n[a] > i[a] ? 1 : -1;
              break;
            }
        return f;
      }
      function r(n, i, o) {
        for (var s = 0; o--; )
          ((n[o] -= s),
            (s = n[o] < i[o] ? 1 : 0),
            (n[o] = s * H + n[o] - i[o]));
        for (; !n[0] && n.length > 1; ) n.shift();
      }
      return function (n, i, o, s) {
        var a,
          f,
          v,
          R,
          A,
          I,
          C,
          L,
          D,
          k,
          Ee,
          ee,
          U,
          te,
          Oe,
          Wr,
          ue,
          tr,
          rr = n.constructor,
          qs = n.s == i.s ? 1 : -1,
          pe = n.d,
          G = i.d;
        if (!n.s) return new rr(n);
        if (!i.s) throw Error(le + "Division by zero");
        for (
          f = n.e - i.e,
            ue = G.length,
            Oe = pe.length,
            C = new rr(qs),
            L = C.d = [],
            v = 0;
          G[v] == (pe[v] || 0);
        )
          ++v;
        if (
          (G[v] > (pe[v] || 0) && --f,
          o == null
            ? (ee = o = rr.precision)
            : s
              ? (ee = o + (W(n) - W(i)) + 1)
              : (ee = o),
          ee < 0)
        )
          return new rr(0);
        if (((ee = (ee / B + 2) | 0), (v = 0), ue == 1))
          for (R = 0, G = G[0], ee++; (v < Oe || R) && ee--; v++)
            ((U = R * H + (pe[v] || 0)),
              (L[v] = (U / G) | 0),
              (R = (U % G) | 0));
        else {
          for (
            R = (H / (G[0] + 1)) | 0,
              R > 1 &&
                ((G = t(G, R)),
                (pe = t(pe, R)),
                (ue = G.length),
                (Oe = pe.length)),
              te = ue,
              D = pe.slice(0, ue),
              k = D.length;
            k < ue;
          )
            D[k++] = 0;
          ((tr = G.slice()), tr.unshift(0), (Wr = G[0]), G[1] >= H / 2 && ++Wr);
          do
            ((R = 0),
              (a = e(G, D, ue, k)),
              a < 0
                ? ((Ee = D[0]),
                  ue != k && (Ee = Ee * H + (D[1] || 0)),
                  (R = (Ee / Wr) | 0),
                  R > 1
                    ? (R >= H && (R = H - 1),
                      (A = t(G, R)),
                      (I = A.length),
                      (k = D.length),
                      (a = e(A, D, I, k)),
                      a == 1 && (R--, r(A, ue < I ? tr : G, I)))
                    : (R == 0 && (a = R = 1), (A = G.slice())),
                  (I = A.length),
                  I < k && A.unshift(0),
                  r(D, A, k),
                  a == -1 &&
                    ((k = D.length),
                    (a = e(G, D, ue, k)),
                    a < 1 && (R++, r(D, ue < k ? tr : G, k))),
                  (k = D.length))
                : a === 0 && (R++, (D = [0])),
              (L[v++] = R),
              a && D[0] ? (D[k++] = pe[te] || 0) : ((D = [pe[te]]), (k = 1)));
          while ((te++ < Oe || D[0] !== void 0) && ee--);
        }
        return (L[0] || L.shift(), (C.e = f), N(C, s ? o + W(C) + 1 : o));
      };
    })();
    Xr = ii(ea);
    oe = new Xr(1);
    sr = Xr;
  });
var P,
  xe,
  l = ae(() => {
    "use strict";
    oi();
    ((P = class extends sr {
      static isDecimal(e) {
        return e instanceof sr;
      }
      static random(e = 20) {
        {
          let n = globalThis.crypto
            .getRandomValues(new Uint8Array(e))
            .reduce((i, o) => i + o, "");
          return new sr(`0.${n.slice(0, e)}`);
        }
      }
    }),
      (xe = P));
  });
function la() {
  return !1;
}
function nn() {
  return {
    dev: 0,
    ino: 0,
    mode: 0,
    nlink: 0,
    uid: 0,
    gid: 0,
    rdev: 0,
    size: 0,
    blksize: 0,
    blocks: 0,
    atimeMs: 0,
    mtimeMs: 0,
    ctimeMs: 0,
    birthtimeMs: 0,
    atime: new Date(),
    mtime: new Date(),
    ctime: new Date(),
    birthtime: new Date(),
  };
}
function ua() {
  return nn();
}
function ca() {
  return [];
}
function pa(t) {
  t(null, []);
}
function ma() {
  return "";
}
function da() {
  return "";
}
function fa() {}
function ga() {}
function ya() {}
function ha() {}
function ba() {}
function Ea() {}
function wa() {}
function xa() {}
function Pa() {
  return { close: () => {}, on: () => {}, removeAllListeners: () => {} };
}
function Ta(t, e) {
  e(null, nn());
}
var va,
  Ra,
  Pi,
  Ti = ae(() => {
    "use strict";
    u();
    c();
    p();
    m();
    d();
    l();
    ((va = {}),
      (Ra = {
        existsSync: la,
        lstatSync: nn,
        stat: Ta,
        statSync: ua,
        readdirSync: ca,
        readdir: pa,
        readlinkSync: ma,
        realpathSync: da,
        chmodSync: fa,
        renameSync: ga,
        mkdirSync: ya,
        rmdirSync: ha,
        rmSync: ba,
        unlinkSync: Ea,
        watchFile: wa,
        unwatchFile: xa,
        watch: Pa,
        promises: va,
      }),
      (Pi = Ra));
  });
var vi = yt((Yp, Aa) => {
  Aa.exports = {
    name: "@prisma/internals",
    version: "6.19.3",
    description: "This package is intended for Prisma's internal use",
    main: "dist/index.js",
    types: "dist/index.d.ts",
    repository: {
      type: "git",
      url: "https://github.com/prisma/prisma.git",
      directory: "packages/internals",
    },
    homepage: "https://www.prisma.io",
    author: "Tim Suchanek <suchanek@prisma.io>",
    bugs: "https://github.com/prisma/prisma/issues",
    license: "Apache-2.0",
    scripts: {
      dev: "DEV=true tsx helpers/build.ts",
      build: "tsx helpers/build.ts",
      test: "dotenv -e ../../.db.env -- jest --silent",
      prepublishOnly: "pnpm run build",
    },
    files: [
      "README.md",
      "dist",
      "!**/libquery_engine*",
      "!dist/get-generators/engines/*",
      "scripts",
    ],
    devDependencies: {
      "@babel/helper-validator-identifier": "7.25.9",
      "@opentelemetry/api": "1.9.0",
      "@swc/core": "1.11.5",
      "@swc/jest": "0.2.37",
      "@types/babel__helper-validator-identifier": "7.15.2",
      "@types/jest": "29.5.14",
      "@types/node": "18.19.76",
      "@types/resolve": "1.20.6",
      archiver: "6.0.2",
      "checkpoint-client": "1.1.33",
      "cli-truncate": "4.0.0",
      dotenv: "16.5.0",
      empathic: "2.0.0",
      "escape-string-regexp": "5.0.0",
      execa: "8.0.1",
      "fast-glob": "3.3.3",
      "find-up": "7.0.0",
      "fp-ts": "2.16.9",
      "fs-extra": "11.3.0",
      "global-directory": "4.0.0",
      globby: "11.1.0",
      "identifier-regex": "1.0.0",
      "indent-string": "4.0.0",
      "is-windows": "1.0.2",
      "is-wsl": "3.1.0",
      jest: "29.7.0",
      "jest-junit": "16.0.0",
      kleur: "4.1.5",
      "mock-stdin": "1.0.0",
      "new-github-issue-url": "0.2.1",
      "node-fetch": "3.3.2",
      "npm-packlist": "5.1.3",
      open: "7.4.2",
      "p-map": "4.0.0",
      resolve: "1.22.10",
      "string-width": "7.2.0",
      "strip-indent": "4.0.0",
      "temp-dir": "2.0.0",
      tempy: "1.0.1",
      "terminal-link": "4.0.0",
      tmp: "0.2.3",
      "ts-pattern": "5.6.2",
      "ts-toolbelt": "9.6.0",
      typescript: "5.4.5",
      yarn: "1.22.22",
    },
    dependencies: {
      "@prisma/config": "workspace:*",
      "@prisma/debug": "workspace:*",
      "@prisma/dmmf": "workspace:*",
      "@prisma/driver-adapter-utils": "workspace:*",
      "@prisma/engines": "workspace:*",
      "@prisma/fetch-engine": "workspace:*",
      "@prisma/generator": "workspace:*",
      "@prisma/generator-helper": "workspace:*",
      "@prisma/get-platform": "workspace:*",
      "@prisma/prisma-schema-wasm":
        "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
      "@prisma/schema-engine-wasm":
        "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
      "@prisma/schema-files-loader": "workspace:*",
      arg: "5.0.2",
      prompts: "2.4.2",
    },
    peerDependencies: { typescript: ">=5.1.0" },
    peerDependenciesMeta: { typescript: { optional: !0 } },
    sideEffects: !1,
  };
});
function Sa(...t) {
  return t.join("/");
}
function Ia(...t) {
  return t.join("/");
}
function Da(t) {
  let e = Ri(t),
    r = Ai(t),
    [n, i] = e.split(".");
  return { root: "/", dir: r, base: e, ext: i, name: n };
}
function Ri(t) {
  let e = t.split("/");
  return e[e.length - 1];
}
function Ai(t) {
  return t.split("/").slice(0, -1).join("/");
}
function ka(t) {
  let e = t.split("/").filter((i) => i !== "" && i !== "."),
    r = [];
  for (let i of e) i === ".." ? r.pop() : r.push(i);
  let n = r.join("/");
  return t.startsWith("/") ? "/" + n : n;
}
var Ci,
  Oa,
  _a,
  Ma,
  cr,
  Si = ae(() => {
    "use strict";
    u();
    c();
    p();
    m();
    d();
    l();
    ((Ci = "/"), (Oa = ":"));
    ((_a = { sep: Ci }),
      (Ma = {
        basename: Ri,
        delimiter: Oa,
        dirname: Ai,
        join: Ia,
        normalize: ka,
        parse: Da,
        posix: _a,
        resolve: Sa,
        sep: Ci,
      }),
      (cr = Ma));
  });
var un = yt((ud, qa) => {
  qa.exports = {
    name: "@prisma/engines-version",
    version: "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
    main: "index.js",
    types: "index.d.ts",
    license: "Apache-2.0",
    author: "Tim Suchanek <suchanek@prisma.io>",
    prisma: { enginesVersion: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" },
    repository: {
      type: "git",
      url: "https://github.com/prisma/engines-wrapper.git",
      directory: "packages/engines-version",
    },
    devDependencies: { "@types/node": "18.19.76", typescript: "4.9.5" },
    files: ["index.js", "index.d.ts"],
    scripts: { build: "tsc -d" },
  };
});
var Di = yt((dr) => {
  "use strict";
  u();
  c();
  p();
  m();
  d();
  l();
  Object.defineProperty(dr, "__esModule", { value: !0 });
  dr.enginesVersion = void 0;
  dr.enginesVersion = un().prisma.enginesVersion;
});
var _i = yt((vd, ki) => {
  "use strict";
  u();
  c();
  p();
  m();
  d();
  l();
  ki.exports = (t, e = 1, r) => {
    if (
      ((r = { indent: " ", includeEmptyLines: !1, ...r }), typeof t != "string")
    )
      throw new TypeError(
        `Expected \`input\` to be a \`string\`, got \`${typeof t}\``,
      );
    if (typeof e != "number")
      throw new TypeError(
        `Expected \`count\` to be a \`number\`, got \`${typeof e}\``,
      );
    if (typeof r.indent != "string")
      throw new TypeError(
        `Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``,
      );
    if (e === 0) return t;
    let n = r.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
    return t.replace(n, r.indent.repeat(e));
  };
});
var hn = yt((eb, qi) => {
  "use strict";
  u();
  c();
  p();
  m();
  d();
  l();
  qi.exports = (function () {
    function t(e, r, n, i, o) {
      return e < r || n < r ? (e > n ? n + 1 : e + 1) : i === o ? r : r + 1;
    }
    return function (e, r) {
      if (e === r) return 0;
      if (e.length > r.length) {
        var n = e;
        ((e = r), (r = n));
      }
      for (
        var i = e.length, o = r.length;
        i > 0 && e.charCodeAt(i - 1) === r.charCodeAt(o - 1);
      )
        (i--, o--);
      for (var s = 0; s < i && e.charCodeAt(s) === r.charCodeAt(s); ) s++;
      if (((i -= s), (o -= s), i === 0 || o < 3)) return o;
      var a = 0,
        f,
        v,
        R,
        A,
        I,
        C,
        L,
        D,
        k,
        Ee,
        ee,
        U,
        te = [];
      for (f = 0; f < i; f++) (te.push(f + 1), te.push(e.charCodeAt(s + f)));
      for (var Oe = te.length - 1; a < o - 3; )
        for (
          k = r.charCodeAt(s + (v = a)),
            Ee = r.charCodeAt(s + (R = a + 1)),
            ee = r.charCodeAt(s + (A = a + 2)),
            U = r.charCodeAt(s + (I = a + 3)),
            C = a += 4,
            f = 0;
          f < Oe;
          f += 2
        )
          ((L = te[f]),
            (D = te[f + 1]),
            (v = t(L, v, R, k, D)),
            (R = t(v, R, A, Ee, D)),
            (A = t(R, A, I, ee, D)),
            (C = t(A, I, C, U, D)),
            (te[f] = C),
            (I = A),
            (A = R),
            (R = v),
            (v = L));
      for (; a < o; )
        for (k = r.charCodeAt(s + (v = a)), C = ++a, f = 0; f < Oe; f += 2)
          ((L = te[f]), (te[f] = C = t(L, v, C, k, te[f + 1])), (v = L));
      return C;
    };
  })();
});
var Qi = ae(() => {
  "use strict";
  u();
  c();
  p();
  m();
  d();
  l();
});
var Gi = ae(() => {
  "use strict";
  u();
  c();
  p();
  m();
  d();
  l();
});
var Fr,
  yo = ae(() => {
    "use strict";
    u();
    c();
    p();
    m();
    d();
    l();
    Fr = class {
      events = {};
      on(e, r) {
        return (
          this.events[e] || (this.events[e] = []),
          this.events[e].push(r),
          this
        );
      }
      emit(e, ...r) {
        return this.events[e]
          ? (this.events[e].forEach((n) => {
              n(...r);
            }),
            !0)
          : !1;
      }
    };
  });
var zu = {};
ht(zu, {
  DMMF: () => At,
  Debug: () => j,
  Decimal: () => xe,
  Extensions: () => Zr,
  MetricsClient: () => nt,
  PrismaClientInitializationError: () => M,
  PrismaClientKnownRequestError: () => X,
  PrismaClientRustPanicError: () => Te,
  PrismaClientUnknownRequestError: () => Q,
  PrismaClientValidationError: () => Y,
  Public: () => en,
  Sql: () => ne,
  createParam: () => ao,
  defineDmmfProperty: () => fo,
  deserializeJsonResponse: () => lt,
  deserializeRawResult: () => Gr,
  dmmfToRuntimeDataModel: () => Ui,
  empty: () => bo,
  getPrismaClient: () => Fs,
  getRuntime: () => ut,
  join: () => ho,
  makeStrictEnum: () => Ns,
  makeTypedQueryFactory: () => go,
  objectEnumValues: () => Ar,
  raw: () => An,
  serializeJsonQuery: () => _r,
  skip: () => kr,
  sqltag: () => Cn,
  warnEnvConflicts: () => void 0,
  warnOnce: () => Tt,
});
module.exports = Gs(zu);
u();
c();
p();
m();
d();
l();
var Zr = {};
ht(Zr, { defineExtension: () => si, getExtensionContext: () => ai });
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function si(t) {
  return typeof t == "function" ? t : (e) => e.$extends(t);
}
u();
c();
p();
m();
d();
l();
function ai(t) {
  return t;
}
var en = {};
ht(en, { validator: () => li });
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function li(...t) {
  return (e) => e;
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var tn,
  ui,
  ci,
  pi,
  mi = !0;
typeof g < "u" &&
  (({
    FORCE_COLOR: tn,
    NODE_DISABLE_COLORS: ui,
    NO_COLOR: ci,
    TERM: pi,
  } = g.env || {}),
  (mi = g.stdout && g.stdout.isTTY));
var na = {
  enabled:
    !ui && ci == null && pi !== "dumb" && ((tn != null && tn !== "0") || mi),
};
function q(t, e) {
  let r = new RegExp(`\\x1b\\[${e}m`, "g"),
    n = `\x1B[${t}m`,
    i = `\x1B[${e}m`;
  return function (o) {
    return !na.enabled || o == null
      ? o
      : n + (~("" + o).indexOf(i) ? o.replace(r, i + n) : o) + i;
  };
}
var Kc = q(0, 0),
  ar = q(1, 22),
  lr = q(2, 22),
  Hc = q(3, 23),
  di = q(4, 24),
  zc = q(7, 27),
  Yc = q(8, 28),
  Xc = q(9, 29),
  Zc = q(30, 39),
  Ge = q(31, 39),
  fi = q(32, 39),
  gi = q(33, 39),
  yi = q(34, 39),
  ep = q(35, 39),
  hi = q(36, 39),
  tp = q(37, 39),
  bi = q(90, 39),
  rp = q(90, 39),
  np = q(40, 49),
  ip = q(41, 49),
  op = q(42, 49),
  sp = q(43, 49),
  ap = q(44, 49),
  lp = q(45, 49),
  up = q(46, 49),
  cp = q(47, 49);
u();
c();
p();
m();
d();
l();
var ia = 100,
  Ei = ["green", "yellow", "blue", "magenta", "cyan", "red"],
  ur = [],
  wi = Date.now(),
  oa = 0,
  rn = typeof g < "u" ? g.env : {};
globalThis.DEBUG ??= rn.DEBUG ?? "";
globalThis.DEBUG_COLORS ??= rn.DEBUG_COLORS ? rn.DEBUG_COLORS === "true" : !0;
var wt = {
  enable(t) {
    typeof t == "string" && (globalThis.DEBUG = t);
  },
  disable() {
    let t = globalThis.DEBUG;
    return ((globalThis.DEBUG = ""), t);
  },
  enabled(t) {
    let e = globalThis.DEBUG.split(",").map((i) =>
        i.replace(/[.+?^${}()|[\]\\]/g, "\\$&"),
      ),
      r = e.some((i) =>
        i === "" || i[0] === "-"
          ? !1
          : t.match(RegExp(i.split("*").join(".*") + "$")),
      ),
      n = e.some((i) =>
        i === "" || i[0] !== "-"
          ? !1
          : t.match(RegExp(i.slice(1).split("*").join(".*") + "$")),
      );
    return r && !n;
  },
  log: (...t) => {
    let [e, r, ...n] = t;
    (console.warn ?? console.log)(`${e} ${r}`, ...n);
  },
  formatters: {},
};
function sa(t) {
  let e = {
      color: Ei[oa++ % Ei.length],
      enabled: wt.enabled(t),
      namespace: t,
      log: wt.log,
      extend: () => {},
    },
    r = (...n) => {
      let { enabled: i, namespace: o, color: s, log: a } = e;
      if (
        (n.length !== 0 && ur.push([o, ...n]),
        ur.length > ia && ur.shift(),
        wt.enabled(o) || i)
      ) {
        let f = n.map((R) => (typeof R == "string" ? R : aa(R))),
          v = `+${Date.now() - wi}ms`;
        ((wi = Date.now()), a(o, ...f, v));
      }
    };
  return new Proxy(r, { get: (n, i) => e[i], set: (n, i, o) => (e[i] = o) });
}
var j = new Proxy(sa, { get: (t, e) => wt[e], set: (t, e, r) => (wt[e] = r) });
function aa(t, e = 2) {
  let r = new Set();
  return JSON.stringify(
    t,
    (n, i) => {
      if (typeof i == "object" && i !== null) {
        if (r.has(i)) return "[Circular *]";
        r.add(i);
      } else if (typeof i == "bigint") return i.toString();
      return i;
    },
    e,
  );
}
function xi() {
  ur.length = 0;
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var on = [
  "darwin",
  "darwin-arm64",
  "debian-openssl-1.0.x",
  "debian-openssl-1.1.x",
  "debian-openssl-3.0.x",
  "rhel-openssl-1.0.x",
  "rhel-openssl-1.1.x",
  "rhel-openssl-3.0.x",
  "linux-arm64-openssl-1.1.x",
  "linux-arm64-openssl-1.0.x",
  "linux-arm64-openssl-3.0.x",
  "linux-arm-openssl-1.1.x",
  "linux-arm-openssl-1.0.x",
  "linux-arm-openssl-3.0.x",
  "linux-musl",
  "linux-musl-openssl-3.0.x",
  "linux-musl-arm64-openssl-1.1.x",
  "linux-musl-arm64-openssl-3.0.x",
  "linux-nixos",
  "linux-static-x64",
  "linux-static-arm64",
  "windows",
  "freebsd11",
  "freebsd12",
  "freebsd13",
  "freebsd14",
  "freebsd15",
  "openbsd",
  "netbsd",
  "arm",
];
u();
c();
p();
m();
d();
l();
var Ca = vi(),
  sn = Ca.version;
u();
c();
p();
m();
d();
l();
function Je(t) {
  let e = La();
  return (
    e ||
    (t?.config.engineType === "library"
      ? "library"
      : t?.config.engineType === "binary"
        ? "binary"
        : t?.config.engineType === "client"
          ? "client"
          : Fa())
  );
}
function La() {
  let t = g.env.PRISMA_CLIENT_ENGINE_TYPE;
  return t === "library"
    ? "library"
    : t === "binary"
      ? "binary"
      : t === "client"
        ? "client"
        : void 0;
}
function Fa() {
  return "library";
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function an(t) {
  return t.name === "DriverAdapterError" && typeof t.cause == "object";
}
u();
c();
p();
m();
d();
l();
function pr(t) {
  return {
    ok: !0,
    value: t,
    map(e) {
      return pr(e(t));
    },
    flatMap(e) {
      return e(t);
    },
  };
}
function Le(t) {
  return {
    ok: !1,
    error: t,
    map() {
      return Le(t);
    },
    flatMap() {
      return Le(t);
    },
  };
}
var Ii = j("driver-adapter-utils"),
  ln = class {
    registeredErrors = [];
    consumeError(e) {
      return this.registeredErrors[e];
    }
    registerNewError(e) {
      let r = 0;
      for (; this.registeredErrors[r] !== void 0; ) r++;
      return ((this.registeredErrors[r] = { error: e }), r);
    }
  };
var mr = (t, e = new ln()) => {
    let r = {
      adapterName: t.adapterName,
      errorRegistry: e,
      queryRaw: Pe(e, t.queryRaw.bind(t)),
      executeRaw: Pe(e, t.executeRaw.bind(t)),
      executeScript: Pe(e, t.executeScript.bind(t)),
      dispose: Pe(e, t.dispose.bind(t)),
      provider: t.provider,
      startTransaction: async (...n) =>
        (await Pe(e, t.startTransaction.bind(t))(...n)).map((o) => Na(e, o)),
    };
    return (
      t.getConnectionInfo &&
        (r.getConnectionInfo = Ua(e, t.getConnectionInfo.bind(t))),
      r
    );
  },
  Na = (t, e) => ({
    adapterName: e.adapterName,
    provider: e.provider,
    options: e.options,
    queryRaw: Pe(t, e.queryRaw.bind(e)),
    executeRaw: Pe(t, e.executeRaw.bind(e)),
    commit: Pe(t, e.commit.bind(e)),
    rollback: Pe(t, e.rollback.bind(e)),
  });
function Pe(t, e) {
  return async (...r) => {
    try {
      return pr(await e(...r));
    } catch (n) {
      if ((Ii("[error@wrapAsync]", n), an(n))) return Le(n.cause);
      let i = t.registerNewError(n);
      return Le({ kind: "GenericJs", id: i });
    }
  };
}
function Ua(t, e) {
  return (...r) => {
    try {
      return pr(e(...r));
    } catch (n) {
      if ((Ii("[error@wrapSync]", n), an(n))) return Le(n.cause);
      let i = t.registerNewError(n);
      return Le({ kind: "GenericJs", id: i });
    }
  };
}
u();
c();
p();
m();
d();
l();
var Oi = "prisma+postgres",
  fr = `${Oi}:`;
function gr(t) {
  return t?.toString().startsWith(`${fr}//`) ?? !1;
}
function cn(t) {
  if (!gr(t)) return !1;
  let { host: e } = new URL(t);
  return (
    e.includes("localhost") || e.includes("127.0.0.1") || e.includes("[::1]")
  );
}
var Pt = {};
ht(Pt, {
  error: () => $a,
  info: () => Ba,
  log: () => Va,
  query: () => ja,
  should: () => Mi,
  tags: () => xt,
  warn: () => pn,
});
u();
c();
p();
m();
d();
l();
var xt = {
    error: Ge("prisma:error"),
    warn: gi("prisma:warn"),
    info: hi("prisma:info"),
    query: yi("prisma:query"),
  },
  Mi = { warn: () => !g.env.PRISMA_DISABLE_WARNINGS };
function Va(...t) {
  console.log(...t);
}
function pn(t, ...e) {
  Mi.warn() && console.warn(`${xt.warn} ${t}`, ...e);
}
function Ba(t, ...e) {
  console.info(`${xt.info} ${t}`, ...e);
}
function $a(t, ...e) {
  console.error(`${xt.error} ${t}`, ...e);
}
function ja(t, ...e) {
  console.log(`${xt.query} ${t}`, ...e);
}
u();
c();
p();
m();
d();
l();
function yr(t, e) {
  if (!t)
    throw new Error(
      `${e}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`,
    );
}
u();
c();
p();
m();
d();
l();
function Fe(t, e) {
  throw new Error(e);
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function mn({ onlyFirst: t = !1 } = {}) {
  let r = [
    "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))",
    "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))",
  ].join("|");
  return new RegExp(r, t ? void 0 : "g");
}
var Qa = mn();
function dn(t) {
  if (typeof t != "string")
    throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);
  return t.replace(Qa, "");
}
u();
c();
p();
m();
d();
l();
function fn(t, e) {
  return Object.prototype.hasOwnProperty.call(t, e);
}
u();
c();
p();
m();
d();
l();
function hr(t, e) {
  let r = {};
  for (let n of Object.keys(t)) r[n] = e(t[n], n);
  return r;
}
u();
c();
p();
m();
d();
l();
function gn(t, e) {
  if (t.length === 0) return;
  let r = t[0];
  for (let n = 1; n < t.length; n++) e(r, t[n]) < 0 && (r = t[n]);
  return r;
}
u();
c();
p();
m();
d();
l();
function O(t, e) {
  Object.defineProperty(t, "name", { value: e, configurable: !0 });
}
u();
c();
p();
m();
d();
l();
var Li = new Set(),
  Tt = (t, e, ...r) => {
    Li.has(t) || (Li.add(t), pn(e, ...r));
  };
var M = class t extends Error {
  clientVersion;
  errorCode;
  retryable;
  constructor(e, r, n) {
    (super(e),
      (this.name = "PrismaClientInitializationError"),
      (this.clientVersion = r),
      (this.errorCode = n),
      Error.captureStackTrace(t));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientInitializationError";
  }
};
O(M, "PrismaClientInitializationError");
u();
c();
p();
m();
d();
l();
var X = class extends Error {
  code;
  meta;
  clientVersion;
  batchRequestIdx;
  constructor(e, { code: r, clientVersion: n, meta: i, batchRequestIdx: o }) {
    (super(e),
      (this.name = "PrismaClientKnownRequestError"),
      (this.code = r),
      (this.clientVersion = n),
      (this.meta = i),
      Object.defineProperty(this, "batchRequestIdx", {
        value: o,
        enumerable: !1,
        writable: !0,
      }));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientKnownRequestError";
  }
};
O(X, "PrismaClientKnownRequestError");
u();
c();
p();
m();
d();
l();
var Te = class extends Error {
  clientVersion;
  constructor(e, r) {
    (super(e),
      (this.name = "PrismaClientRustPanicError"),
      (this.clientVersion = r));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientRustPanicError";
  }
};
O(Te, "PrismaClientRustPanicError");
u();
c();
p();
m();
d();
l();
var Q = class extends Error {
  clientVersion;
  batchRequestIdx;
  constructor(e, { clientVersion: r, batchRequestIdx: n }) {
    (super(e),
      (this.name = "PrismaClientUnknownRequestError"),
      (this.clientVersion = r),
      Object.defineProperty(this, "batchRequestIdx", {
        value: n,
        writable: !0,
        enumerable: !1,
      }));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientUnknownRequestError";
  }
};
O(Q, "PrismaClientUnknownRequestError");
u();
c();
p();
m();
d();
l();
var Y = class extends Error {
  name = "PrismaClientValidationError";
  clientVersion;
  constructor(e, { clientVersion: r }) {
    (super(e), (this.clientVersion = r));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientValidationError";
  }
};
O(Y, "PrismaClientValidationError");
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var fe = class {
  _map = new Map();
  get(e) {
    return this._map.get(e)?.value;
  }
  set(e, r) {
    this._map.set(e, { value: r });
  }
  getOrCreate(e, r) {
    let n = this._map.get(e);
    if (n) return n.value;
    let i = r();
    return (this.set(e, i), i);
  }
};
u();
c();
p();
m();
d();
l();
function Ce(t) {
  return t.substring(0, 1).toLowerCase() + t.substring(1);
}
u();
c();
p();
m();
d();
l();
function Ni(t, e) {
  let r = {};
  for (let n of t) {
    let i = n[e];
    r[i] = n;
  }
  return r;
}
u();
c();
p();
m();
d();
l();
function vt(t) {
  let e;
  return {
    get() {
      return (e || (e = { value: t() }), e.value);
    },
  };
}
u();
c();
p();
m();
d();
l();
function Ui(t) {
  return { models: yn(t.models), enums: yn(t.enums), types: yn(t.types) };
}
function yn(t) {
  let e = {};
  for (let { name: r, ...n } of t) e[r] = n;
  return e;
}
u();
c();
p();
m();
d();
l();
function We(t) {
  return (
    t instanceof Date || Object.prototype.toString.call(t) === "[object Date]"
  );
}
function br(t) {
  return t.toString() !== "Invalid Date";
}
u();
c();
p();
m();
d();
l();
l();
function Ke(t) {
  return P.isDecimal(t)
    ? !0
    : t !== null &&
        typeof t == "object" &&
        typeof t.s == "number" &&
        typeof t.e == "number" &&
        typeof t.toFixed == "function" &&
        Array.isArray(t.d);
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var At = {};
ht(At, { ModelAction: () => Rt, datamodelEnumToSchemaEnum: () => Ga });
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function Ga(t) {
  return { name: t.name, values: t.values.map((e) => e.name) };
}
u();
c();
p();
m();
d();
l();
var Rt = ((U) => (
  (U.findUnique = "findUnique"),
  (U.findUniqueOrThrow = "findUniqueOrThrow"),
  (U.findFirst = "findFirst"),
  (U.findFirstOrThrow = "findFirstOrThrow"),
  (U.findMany = "findMany"),
  (U.create = "create"),
  (U.createMany = "createMany"),
  (U.createManyAndReturn = "createManyAndReturn"),
  (U.update = "update"),
  (U.updateMany = "updateMany"),
  (U.updateManyAndReturn = "updateManyAndReturn"),
  (U.upsert = "upsert"),
  (U.delete = "delete"),
  (U.deleteMany = "deleteMany"),
  (U.groupBy = "groupBy"),
  (U.count = "count"),
  (U.aggregate = "aggregate"),
  (U.findRaw = "findRaw"),
  (U.aggregateRaw = "aggregateRaw"),
  U
))(Rt || {});
var Ja = bt(_i());
var Wa = {
    red: Ge,
    gray: bi,
    dim: lr,
    bold: ar,
    underline: di,
    highlightSource: (t) => t.highlight(),
  },
  Ka = {
    red: (t) => t,
    gray: (t) => t,
    dim: (t) => t,
    bold: (t) => t,
    underline: (t) => t,
    highlightSource: (t) => t,
  };
function Ha({ message: t, originalMethod: e, isPanic: r, callArguments: n }) {
  return {
    functionName: `prisma.${e}()`,
    message: t,
    isPanic: r ?? !1,
    callArguments: n,
  };
}
function za(
  {
    functionName: t,
    location: e,
    message: r,
    isPanic: n,
    contextLines: i,
    callArguments: o,
  },
  s,
) {
  let a = [""],
    f = e ? " in" : ":";
  if (
    (n
      ? (a.push(
          s.red(
            `Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`,
          ),
        ),
        a.push(
          s.red(`It occurred in the ${s.bold(`\`${t}\``)} invocation${f}`),
        ))
      : a.push(s.red(`Invalid ${s.bold(`\`${t}\``)} invocation${f}`)),
    e && a.push(s.underline(Ya(e))),
    i)
  ) {
    a.push("");
    let v = [i.toString()];
    (o && (v.push(o), v.push(s.dim(")"))), a.push(v.join("")), o && a.push(""));
  } else (a.push(""), o && a.push(o), a.push(""));
  return (
    a.push(r),
    a.join(`
`)
  );
}
function Ya(t) {
  let e = [t.fileName];
  return (
    t.lineNumber && e.push(String(t.lineNumber)),
    t.columnNumber && e.push(String(t.columnNumber)),
    e.join(":")
  );
}
function Er(t) {
  let e = t.showColors ? Wa : Ka,
    r;
  return (
    typeof $getTemplateParameters < "u"
      ? (r = $getTemplateParameters(t, e))
      : (r = Ha(t)),
    za(r, e)
  );
}
u();
c();
p();
m();
d();
l();
var Wi = bt(hn());
u();
c();
p();
m();
d();
l();
function $i(t, e, r) {
  let n = ji(t),
    i = Xa(n),
    o = el(i);
  o ? wr(o, e, r) : e.addErrorMessage(() => "Unknown error");
}
function ji(t) {
  return t.errors.flatMap((e) => (e.kind === "Union" ? ji(e) : [e]));
}
function Xa(t) {
  let e = new Map(),
    r = [];
  for (let n of t) {
    if (n.kind !== "InvalidArgumentType") {
      r.push(n);
      continue;
    }
    let i = `${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,
      o = e.get(i);
    o
      ? e.set(i, {
          ...n,
          argument: {
            ...n.argument,
            typeNames: Za(o.argument.typeNames, n.argument.typeNames),
          },
        })
      : e.set(i, n);
  }
  return (r.push(...e.values()), r);
}
function Za(t, e) {
  return [...new Set(t.concat(e))];
}
function el(t) {
  return gn(t, (e, r) => {
    let n = Vi(e),
      i = Vi(r);
    return n !== i ? n - i : Bi(e) - Bi(r);
  });
}
function Vi(t) {
  let e = 0;
  return (
    Array.isArray(t.selectionPath) && (e += t.selectionPath.length),
    Array.isArray(t.argumentPath) && (e += t.argumentPath.length),
    e
  );
}
function Bi(t) {
  switch (t.kind) {
    case "InvalidArgumentValue":
    case "ValueTooLarge":
      return 20;
    case "InvalidArgumentType":
      return 10;
    case "RequiredArgumentMissing":
      return -10;
    default:
      return 0;
  }
}
u();
c();
p();
m();
d();
l();
var se = class {
  constructor(e, r) {
    this.name = e;
    this.value = r;
  }
  isRequired = !1;
  makeRequired() {
    return ((this.isRequired = !0), this);
  }
  write(e) {
    let {
      colors: { green: r },
    } = e.context;
    (e.addMarginSymbol(r(this.isRequired ? "+" : "?")),
      e.write(r(this.name)),
      this.isRequired || e.write(r("?")),
      e.write(r(": ")),
      typeof this.value == "string"
        ? e.write(r(this.value))
        : e.write(this.value));
  }
};
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
Gi();
u();
c();
p();
m();
d();
l();
var He = class {
  constructor(e = 0, r) {
    this.context = r;
    this.currentIndent = e;
  }
  lines = [];
  currentLine = "";
  currentIndent = 0;
  marginSymbol;
  afterNextNewLineCallback;
  write(e) {
    return (
      typeof e == "string" ? (this.currentLine += e) : e.write(this),
      this
    );
  }
  writeJoined(e, r, n = (i, o) => o.write(i)) {
    let i = r.length - 1;
    for (let o = 0; o < r.length; o++)
      (n(r[o], this), o !== i && this.write(e));
    return this;
  }
  writeLine(e) {
    return this.write(e).newLine();
  }
  newLine() {
    (this.lines.push(this.indentedCurrentLine()),
      (this.currentLine = ""),
      (this.marginSymbol = void 0));
    let e = this.afterNextNewLineCallback;
    return ((this.afterNextNewLineCallback = void 0), e?.(), this);
  }
  withIndent(e) {
    return (this.indent(), e(this), this.unindent(), this);
  }
  afterNextNewline(e) {
    return ((this.afterNextNewLineCallback = e), this);
  }
  indent() {
    return (this.currentIndent++, this);
  }
  unindent() {
    return (this.currentIndent > 0 && this.currentIndent--, this);
  }
  addMarginSymbol(e) {
    return ((this.marginSymbol = e), this);
  }
  toString() {
    return this.lines.concat(this.indentedCurrentLine()).join(`
`);
  }
  getCurrentLineLength() {
    return this.currentLine.length;
  }
  indentedCurrentLine() {
    let e = this.currentLine.padStart(
      this.currentLine.length + 2 * this.currentIndent,
    );
    return this.marginSymbol ? this.marginSymbol + e.slice(1) : e;
  }
};
Qi();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var xr = class {
  constructor(e) {
    this.value = e;
  }
  write(e) {
    e.write(this.value);
  }
  markAsError() {
    this.value.markAsError();
  }
};
u();
c();
p();
m();
d();
l();
var Pr = (t) => t,
  Tr = { bold: Pr, red: Pr, green: Pr, dim: Pr, enabled: !1 },
  Ji = { bold: ar, red: Ge, green: fi, dim: lr, enabled: !0 },
  ze = {
    write(t) {
      t.writeLine(",");
    },
  };
u();
c();
p();
m();
d();
l();
var ge = class {
  constructor(e) {
    this.contents = e;
  }
  isUnderlined = !1;
  color = (e) => e;
  underline() {
    return ((this.isUnderlined = !0), this);
  }
  setColor(e) {
    return ((this.color = e), this);
  }
  write(e) {
    let r = e.getCurrentLineLength();
    (e.write(this.color(this.contents)),
      this.isUnderlined &&
        e.afterNextNewline(() => {
          e.write(" ".repeat(r)).writeLine(
            this.color("~".repeat(this.contents.length)),
          );
        }));
  }
};
u();
c();
p();
m();
d();
l();
var Se = class {
  hasError = !1;
  markAsError() {
    return ((this.hasError = !0), this);
  }
};
var Ye = class extends Se {
  items = [];
  addItem(e) {
    return (this.items.push(new xr(e)), this);
  }
  getField(e) {
    return this.items[e];
  }
  getPrintWidth() {
    return this.items.length === 0
      ? 2
      : Math.max(...this.items.map((r) => r.value.getPrintWidth())) + 2;
  }
  write(e) {
    if (this.items.length === 0) {
      this.writeEmpty(e);
      return;
    }
    this.writeWithItems(e);
  }
  writeEmpty(e) {
    let r = new ge("[]");
    (this.hasError && r.setColor(e.context.colors.red).underline(), e.write(r));
  }
  writeWithItems(e) {
    let { colors: r } = e.context;
    (e
      .writeLine("[")
      .withIndent(() => e.writeJoined(ze, this.items).newLine())
      .write("]"),
      this.hasError &&
        e.afterNextNewline(() => {
          e.writeLine(r.red("~".repeat(this.getPrintWidth())));
        }));
  }
  asObject() {}
};
var Xe = class t extends Se {
  fields = {};
  suggestions = [];
  addField(e) {
    this.fields[e.name] = e;
  }
  addSuggestion(e) {
    this.suggestions.push(e);
  }
  getField(e) {
    return this.fields[e];
  }
  getDeepField(e) {
    let [r, ...n] = e,
      i = this.getField(r);
    if (!i) return;
    let o = i;
    for (let s of n) {
      let a;
      if (
        (o.value instanceof t
          ? (a = o.value.getField(s))
          : o.value instanceof Ye && (a = o.value.getField(Number(s))),
        !a)
      )
        return;
      o = a;
    }
    return o;
  }
  getDeepFieldValue(e) {
    return e.length === 0 ? this : this.getDeepField(e)?.value;
  }
  hasField(e) {
    return !!this.getField(e);
  }
  removeAllFields() {
    this.fields = {};
  }
  removeField(e) {
    delete this.fields[e];
  }
  getFields() {
    return this.fields;
  }
  isEmpty() {
    return Object.keys(this.fields).length === 0;
  }
  getFieldValue(e) {
    return this.getField(e)?.value;
  }
  getDeepSubSelectionValue(e) {
    let r = this;
    for (let n of e) {
      if (!(r instanceof t)) return;
      let i = r.getSubSelectionValue(n);
      if (!i) return;
      r = i;
    }
    return r;
  }
  getDeepSelectionParent(e) {
    let r = this.getSelectionParent();
    if (!r) return;
    let n = r;
    for (let i of e) {
      let o = n.value.getFieldValue(i);
      if (!o || !(o instanceof t)) return;
      let s = o.getSelectionParent();
      if (!s) return;
      n = s;
    }
    return n;
  }
  getSelectionParent() {
    let e = this.getField("select")?.value.asObject();
    if (e) return { kind: "select", value: e };
    let r = this.getField("include")?.value.asObject();
    if (r) return { kind: "include", value: r };
  }
  getSubSelectionValue(e) {
    return this.getSelectionParent()?.value.fields[e].value;
  }
  getPrintWidth() {
    let e = Object.values(this.fields);
    return e.length == 0 ? 2 : Math.max(...e.map((n) => n.getPrintWidth())) + 2;
  }
  write(e) {
    let r = Object.values(this.fields);
    if (r.length === 0 && this.suggestions.length === 0) {
      this.writeEmpty(e);
      return;
    }
    this.writeWithContents(e, r);
  }
  asObject() {
    return this;
  }
  writeEmpty(e) {
    let r = new ge("{}");
    (this.hasError && r.setColor(e.context.colors.red).underline(), e.write(r));
  }
  writeWithContents(e, r) {
    (e.writeLine("{").withIndent(() => {
      e.writeJoined(ze, [...r, ...this.suggestions]).newLine();
    }),
      e.write("}"),
      this.hasError &&
        e.afterNextNewline(() => {
          e.writeLine(e.context.colors.red("~".repeat(this.getPrintWidth())));
        }));
  }
};
u();
c();
p();
m();
d();
l();
var z = class extends Se {
  constructor(r) {
    super();
    this.text = r;
  }
  getPrintWidth() {
    return this.text.length;
  }
  write(r) {
    let n = new ge(this.text);
    (this.hasError && n.underline().setColor(r.context.colors.red), r.write(n));
  }
  asObject() {}
};
u();
c();
p();
m();
d();
l();
var Ct = class {
  fields = [];
  addField(e, r) {
    return (
      this.fields.push({
        write(n) {
          let { green: i, dim: o } = n.context.colors;
          n.write(i(o(`${e}: ${r}`))).addMarginSymbol(i(o("+")));
        },
      }),
      this
    );
  }
  write(e) {
    let {
      colors: { green: r },
    } = e.context;
    e.writeLine(r("{"))
      .withIndent(() => {
        e.writeJoined(ze, this.fields).newLine();
      })
      .write(r("}"))
      .addMarginSymbol(r("+"));
  }
};
function wr(t, e, r) {
  switch (t.kind) {
    case "MutuallyExclusiveFields":
      tl(t, e);
      break;
    case "IncludeOnScalar":
      rl(t, e);
      break;
    case "EmptySelection":
      nl(t, e, r);
      break;
    case "UnknownSelectionField":
      al(t, e);
      break;
    case "InvalidSelectionValue":
      ll(t, e);
      break;
    case "UnknownArgument":
      ul(t, e);
      break;
    case "UnknownInputField":
      cl(t, e);
      break;
    case "RequiredArgumentMissing":
      pl(t, e);
      break;
    case "InvalidArgumentType":
      ml(t, e);
      break;
    case "InvalidArgumentValue":
      dl(t, e);
      break;
    case "ValueTooLarge":
      fl(t, e);
      break;
    case "SomeFieldsMissing":
      gl(t, e);
      break;
    case "TooManyFieldsGiven":
      yl(t, e);
      break;
    case "Union":
      $i(t, e, r);
      break;
    default:
      throw new Error("not implemented: " + t.kind);
  }
}
function tl(t, e) {
  let r = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  (r &&
    (r.getField(t.firstField)?.markAsError(),
    r.getField(t.secondField)?.markAsError()),
    e.addErrorMessage(
      (n) =>
        `Please ${n.bold("either")} use ${n.green(`\`${t.firstField}\``)} or ${n.green(`\`${t.secondField}\``)}, but ${n.red("not both")} at the same time.`,
    ));
}
function rl(t, e) {
  let [r, n] = Ze(t.selectionPath),
    i = t.outputType,
    o = e.arguments.getDeepSelectionParent(r)?.value;
  if (o && (o.getField(n)?.markAsError(), i))
    for (let s of i.fields)
      s.isRelation && o.addSuggestion(new se(s.name, "true"));
  e.addErrorMessage((s) => {
    let a = `Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;
    return (
      i ? (a += ` on model ${s.bold(i.name)}. ${St(s)}`) : (a += "."),
      (a += `
Note that ${s.bold("include")} statements only accept relation fields.`),
      a
    );
  });
}
function nl(t, e, r) {
  let n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  if (n) {
    let i = n.getField("omit")?.value.asObject();
    if (i) {
      il(t, e, i);
      return;
    }
    if (n.hasField("select")) {
      ol(t, e);
      return;
    }
  }
  if (r?.[Ce(t.outputType.name)]) {
    sl(t, e);
    return;
  }
  e.addErrorMessage(
    () => `Unknown field at "${t.selectionPath.join(".")} selection"`,
  );
}
function il(t, e, r) {
  r.removeAllFields();
  for (let n of t.outputType.fields) r.addSuggestion(new se(n.name, "false"));
  e.addErrorMessage(
    (n) =>
      `The ${n.red("omit")} statement includes every field of the model ${n.bold(t.outputType.name)}. At least one field must be included in the result`,
  );
}
function ol(t, e) {
  let r = t.outputType,
    n = e.arguments.getDeepSelectionParent(t.selectionPath)?.value,
    i = n?.isEmpty() ?? !1;
  (n && (n.removeAllFields(), zi(n, r)),
    e.addErrorMessage((o) =>
      i
        ? `The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${St(o)}`
        : `The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`,
    ));
}
function sl(t, e) {
  let r = new Ct();
  for (let i of t.outputType.fields)
    i.isRelation || r.addField(i.name, "false");
  let n = new se("omit", r).makeRequired();
  if (t.selectionPath.length === 0) e.arguments.addSuggestion(n);
  else {
    let [i, o] = Ze(t.selectionPath),
      a = e.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);
    if (a) {
      let f = a?.value.asObject() ?? new Xe();
      (f.addSuggestion(n), (a.value = f));
    }
  }
  e.addErrorMessage(
    (i) =>
      `The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(t.outputType.name)}. At least one field must be included in the result`,
  );
}
function al(t, e) {
  let r = Yi(t.selectionPath, e);
  if (r.parentKind !== "unknown") {
    r.field.markAsError();
    let n = r.parent;
    switch (r.parentKind) {
      case "select":
        zi(n, t.outputType);
        break;
      case "include":
        hl(n, t.outputType);
        break;
      case "omit":
        bl(n, t.outputType);
        break;
    }
  }
  e.addErrorMessage((n) => {
    let i = [`Unknown field ${n.red(`\`${r.fieldName}\``)}`];
    return (
      r.parentKind !== "unknown" &&
        i.push(`for ${n.bold(r.parentKind)} statement`),
      i.push(`on model ${n.bold(`\`${t.outputType.name}\``)}.`),
      i.push(St(n)),
      i.join(" ")
    );
  });
}
function ll(t, e) {
  let r = Yi(t.selectionPath, e);
  (r.parentKind !== "unknown" && r.field.value.markAsError(),
    e.addErrorMessage(
      (n) =>
        `Invalid value for selection field \`${n.red(r.fieldName)}\`: ${t.underlyingError}`,
    ));
}
function ul(t, e) {
  let r = t.argumentPath[0],
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  (n && (n.getField(r)?.markAsError(), El(n, t.arguments)),
    e.addErrorMessage((i) =>
      Ki(
        i,
        r,
        t.arguments.map((o) => o.name),
      ),
    ));
}
function cl(t, e) {
  let [r, n] = Ze(t.argumentPath),
    i = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  if (i) {
    i.getDeepField(t.argumentPath)?.markAsError();
    let o = i.getDeepFieldValue(r)?.asObject();
    o && Xi(o, t.inputType);
  }
  e.addErrorMessage((o) =>
    Ki(
      o,
      n,
      t.inputType.fields.map((s) => s.name),
    ),
  );
}
function Ki(t, e, r) {
  let n = [`Unknown argument \`${t.red(e)}\`.`],
    i = xl(e, r);
  return (
    i && n.push(`Did you mean \`${t.green(i)}\`?`),
    r.length > 0 && n.push(St(t)),
    n.join(" ")
  );
}
function pl(t, e) {
  let r;
  e.addErrorMessage((f) =>
    r?.value instanceof z && r.value.text === "null"
      ? `Argument \`${f.green(o)}\` must not be ${f.red("null")}.`
      : `Argument \`${f.green(o)}\` is missing.`,
  );
  let n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  if (!n) return;
  let [i, o] = Ze(t.argumentPath),
    s = new Ct(),
    a = n.getDeepFieldValue(i)?.asObject();
  if (a) {
    if (
      ((r = a.getField(o)),
      r && a.removeField(o),
      t.inputTypes.length === 1 && t.inputTypes[0].kind === "object")
    ) {
      for (let f of t.inputTypes[0].fields)
        s.addField(f.name, f.typeNames.join(" | "));
      a.addSuggestion(new se(o, s).makeRequired());
    } else {
      let f = t.inputTypes.map(Hi).join(" | ");
      a.addSuggestion(new se(o, f).makeRequired());
    }
    if (t.dependentArgumentPath) {
      n.getDeepField(t.dependentArgumentPath)?.markAsError();
      let [, f] = Ze(t.dependentArgumentPath);
      e.addErrorMessage(
        (v) =>
          `Argument \`${v.green(o)}\` is required because argument \`${v.green(f)}\` was provided.`,
      );
    }
  }
}
function Hi(t) {
  return t.kind === "list" ? `${Hi(t.elementType)}[]` : t.name;
}
function ml(t, e) {
  let r = t.argument.name,
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  (n && n.getDeepFieldValue(t.argumentPath)?.markAsError(),
    e.addErrorMessage((i) => {
      let o = vr(
        "or",
        t.argument.typeNames.map((s) => i.green(s)),
      );
      return `Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(t.inferredType)}.`;
    }));
}
function dl(t, e) {
  let r = t.argument.name,
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  (n && n.getDeepFieldValue(t.argumentPath)?.markAsError(),
    e.addErrorMessage((i) => {
      let o = [`Invalid value for argument \`${i.bold(r)}\``];
      if (
        (t.underlyingError && o.push(`: ${t.underlyingError}`),
        o.push("."),
        t.argument.typeNames.length > 0)
      ) {
        let s = vr(
          "or",
          t.argument.typeNames.map((a) => i.green(a)),
        );
        o.push(` Expected ${s}.`);
      }
      return o.join("");
    }));
}
function fl(t, e) {
  let r = t.argument.name,
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),
    i;
  if (n) {
    let s = n.getDeepField(t.argumentPath)?.value;
    (s?.markAsError(), s instanceof z && (i = s.text));
  }
  e.addErrorMessage((o) => {
    let s = ["Unable to fit value"];
    return (
      i && s.push(o.red(i)),
      s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),
      s.join(" ")
    );
  });
}
function gl(t, e) {
  let r = t.argumentPath[t.argumentPath.length - 1],
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();
  if (n) {
    let i = n.getDeepFieldValue(t.argumentPath)?.asObject();
    i && Xi(i, t.inputType);
  }
  e.addErrorMessage((i) => {
    let o = [
      `Argument \`${i.bold(r)}\` of type ${i.bold(t.inputType.name)} needs`,
    ];
    return (
      t.constraints.minFieldCount === 1
        ? t.constraints.requiredFields
          ? o.push(
              `${i.green("at least one of")} ${vr(
                "or",
                t.constraints.requiredFields.map((s) => `\`${i.bold(s)}\``),
              )} arguments.`,
            )
          : o.push(`${i.green("at least one")} argument.`)
        : o.push(
            `${i.green(`at least ${t.constraints.minFieldCount}`)} arguments.`,
          ),
      o.push(St(i)),
      o.join(" ")
    );
  });
}
function yl(t, e) {
  let r = t.argumentPath[t.argumentPath.length - 1],
    n = e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),
    i = [];
  if (n) {
    let o = n.getDeepFieldValue(t.argumentPath)?.asObject();
    o && (o.markAsError(), (i = Object.keys(o.getFields())));
  }
  e.addErrorMessage((o) => {
    let s = [
      `Argument \`${o.bold(r)}\` of type ${o.bold(t.inputType.name)} needs`,
    ];
    return (
      t.constraints.minFieldCount === 1 && t.constraints.maxFieldCount == 1
        ? s.push(`${o.green("exactly one")} argument,`)
        : t.constraints.maxFieldCount == 1
          ? s.push(`${o.green("at most one")} argument,`)
          : s.push(
              `${o.green(`at most ${t.constraints.maxFieldCount}`)} arguments,`,
            ),
      s.push(
        `but you provided ${vr(
          "and",
          i.map((a) => o.red(a)),
        )}. Please choose`,
      ),
      t.constraints.maxFieldCount === 1
        ? s.push("one.")
        : s.push(`${t.constraints.maxFieldCount}.`),
      s.join(" ")
    );
  });
}
function zi(t, e) {
  for (let r of e.fields)
    t.hasField(r.name) || t.addSuggestion(new se(r.name, "true"));
}
function hl(t, e) {
  for (let r of e.fields)
    r.isRelation &&
      !t.hasField(r.name) &&
      t.addSuggestion(new se(r.name, "true"));
}
function bl(t, e) {
  for (let r of e.fields)
    !t.hasField(r.name) &&
      !r.isRelation &&
      t.addSuggestion(new se(r.name, "true"));
}
function El(t, e) {
  for (let r of e)
    t.hasField(r.name) ||
      t.addSuggestion(new se(r.name, r.typeNames.join(" | ")));
}
function Yi(t, e) {
  let [r, n] = Ze(t),
    i = e.arguments.getDeepSubSelectionValue(r)?.asObject();
  if (!i) return { parentKind: "unknown", fieldName: n };
  let o = i.getFieldValue("select")?.asObject(),
    s = i.getFieldValue("include")?.asObject(),
    a = i.getFieldValue("omit")?.asObject(),
    f = o?.getField(n);
  return o && f
    ? { parentKind: "select", parent: o, field: f, fieldName: n }
    : ((f = s?.getField(n)),
      s && f
        ? { parentKind: "include", field: f, parent: s, fieldName: n }
        : ((f = a?.getField(n)),
          a && f
            ? { parentKind: "omit", field: f, parent: a, fieldName: n }
            : { parentKind: "unknown", fieldName: n }));
}
function Xi(t, e) {
  if (e.kind === "object")
    for (let r of e.fields)
      t.hasField(r.name) ||
        t.addSuggestion(new se(r.name, r.typeNames.join(" | ")));
}
function Ze(t) {
  let e = [...t],
    r = e.pop();
  if (!r) throw new Error("unexpected empty path");
  return [e, r];
}
function St({ green: t, enabled: e }) {
  return (
    "Available options are " +
    (e ? `listed in ${t("green")}` : "marked with ?") +
    "."
  );
}
function vr(t, e) {
  if (e.length === 1) return e[0];
  let r = [...e],
    n = r.pop();
  return `${r.join(", ")} ${t} ${n}`;
}
var wl = 3;
function xl(t, e) {
  let r = 1 / 0,
    n;
  for (let i of e) {
    let o = (0, Wi.default)(t, i);
    o > wl || (o < r && ((r = o), (n = i)));
  }
  return n;
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var It = class {
  modelName;
  name;
  typeName;
  isList;
  isEnum;
  constructor(e, r, n, i, o) {
    ((this.modelName = e),
      (this.name = r),
      (this.typeName = n),
      (this.isList = i),
      (this.isEnum = o));
  }
  _toGraphQLInputType() {
    let e = this.isList ? "List" : "",
      r = this.isEnum ? "Enum" : "";
    return `${e}${r}${this.typeName}FieldRefInput<${this.modelName}>`;
  }
};
function et(t) {
  return t instanceof It;
}
u();
c();
p();
m();
d();
l();
var Rr = Symbol(),
  En = new WeakMap(),
  ve = class {
    constructor(e) {
      e === Rr
        ? En.set(this, `Prisma.${this._getName()}`)
        : En.set(
            this,
            `new Prisma.${this._getNamespace()}.${this._getName()}()`,
          );
    }
    _getName() {
      return this.constructor.name;
    }
    toString() {
      return En.get(this);
    }
  },
  Dt = class extends ve {
    _getNamespace() {
      return "NullTypes";
    }
  },
  Ot = class extends Dt {
    #e;
  };
wn(Ot, "DbNull");
var kt = class extends Dt {
  #e;
};
wn(kt, "JsonNull");
var _t = class extends Dt {
  #e;
};
wn(_t, "AnyNull");
var Ar = {
  classes: { DbNull: Ot, JsonNull: kt, AnyNull: _t },
  instances: { DbNull: new Ot(Rr), JsonNull: new kt(Rr), AnyNull: new _t(Rr) },
};
function wn(t, e) {
  Object.defineProperty(t, "name", { value: e, configurable: !0 });
}
u();
c();
p();
m();
d();
l();
var Zi = ": ",
  Cr = class {
    constructor(e, r) {
      this.name = e;
      this.value = r;
    }
    hasError = !1;
    markAsError() {
      this.hasError = !0;
    }
    getPrintWidth() {
      return this.name.length + this.value.getPrintWidth() + Zi.length;
    }
    write(e) {
      let r = new ge(this.name);
      (this.hasError && r.underline().setColor(e.context.colors.red),
        e.write(r).write(Zi).write(this.value));
    }
  };
var xn = class {
  arguments;
  errorMessages = [];
  constructor(e) {
    this.arguments = e;
  }
  write(e) {
    e.write(this.arguments);
  }
  addErrorMessage(e) {
    this.errorMessages.push(e);
  }
  renderAllMessages(e) {
    return this.errorMessages.map((r) => r(e)).join(`
`);
  }
};
function tt(t) {
  return new xn(eo(t));
}
function eo(t) {
  let e = new Xe();
  for (let [r, n] of Object.entries(t)) {
    let i = new Cr(r, to(n));
    e.addField(i);
  }
  return e;
}
function to(t) {
  if (typeof t == "string") return new z(JSON.stringify(t));
  if (typeof t == "number" || typeof t == "boolean") return new z(String(t));
  if (typeof t == "bigint") return new z(`${t}n`);
  if (t === null) return new z("null");
  if (t === void 0) return new z("undefined");
  if (Ke(t)) return new z(`new Prisma.Decimal("${t.toFixed()}")`);
  if (t instanceof Uint8Array)
    return h.isBuffer(t)
      ? new z(`Buffer.alloc(${t.byteLength})`)
      : new z(`new Uint8Array(${t.byteLength})`);
  if (t instanceof Date) {
    let e = br(t) ? t.toISOString() : "Invalid Date";
    return new z(`new Date("${e}")`);
  }
  return t instanceof ve
    ? new z(`Prisma.${t._getName()}`)
    : et(t)
      ? new z(`prisma.${Ce(t.modelName)}.$fields.${t.name}`)
      : Array.isArray(t)
        ? Pl(t)
        : typeof t == "object"
          ? eo(t)
          : new z(Object.prototype.toString.call(t));
}
function Pl(t) {
  let e = new Ye();
  for (let r of t) e.addItem(to(r));
  return e;
}
function Sr(t, e) {
  let r = e === "pretty" ? Ji : Tr,
    n = t.renderAllMessages(r),
    i = new He(0, { colors: r }).write(t).toString();
  return { message: n, args: i };
}
function Ir({
  args: t,
  errors: e,
  errorFormat: r,
  callsite: n,
  originalMethod: i,
  clientVersion: o,
  globalOmit: s,
}) {
  let a = tt(t);
  for (let A of e) wr(A, a, s);
  let { message: f, args: v } = Sr(a, r),
    R = Er({
      message: f,
      callsite: n,
      originalMethod: i,
      showColors: r === "pretty",
      callArguments: v,
    });
  throw new Y(R, { clientVersion: o });
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function ye(t) {
  return t.replace(/^./, (e) => e.toLowerCase());
}
u();
c();
p();
m();
d();
l();
function no(t, e, r) {
  let n = ye(r);
  return !e.result || !(e.result.$allModels || e.result[n])
    ? t
    : Tl({
        ...t,
        ...ro(e.name, t, e.result.$allModels),
        ...ro(e.name, t, e.result[n]),
      });
}
function Tl(t) {
  let e = new fe(),
    r = (n, i) =>
      e.getOrCreate(n, () =>
        i.has(n)
          ? [n]
          : (i.add(n), t[n] ? t[n].needs.flatMap((o) => r(o, i)) : [n]),
      );
  return hr(t, (n) => ({ ...n, needs: r(n.name, new Set()) }));
}
function ro(t, e, r) {
  return r
    ? hr(r, ({ needs: n, compute: i }, o) => ({
        name: o,
        needs: n ? Object.keys(n).filter((s) => n[s]) : [],
        compute: vl(e, o, i),
      }))
    : {};
}
function vl(t, e, r) {
  let n = t?.[e]?.compute;
  return n ? (i) => r({ ...i, [e]: n(i) }) : r;
}
function io(t, e) {
  if (!e) return t;
  let r = { ...t };
  for (let n of Object.values(e))
    if (t[n.name]) for (let i of n.needs) r[i] = !0;
  return r;
}
function oo(t, e) {
  if (!e) return t;
  let r = { ...t };
  for (let n of Object.values(e))
    if (!t[n.name]) for (let i of n.needs) delete r[i];
  return r;
}
var Dr = class {
    constructor(e, r) {
      this.extension = e;
      this.previous = r;
    }
    computedFieldsCache = new fe();
    modelExtensionsCache = new fe();
    queryCallbacksCache = new fe();
    clientExtensions = vt(() =>
      this.extension.client
        ? {
            ...this.previous?.getAllClientExtensions(),
            ...this.extension.client,
          }
        : this.previous?.getAllClientExtensions(),
    );
    batchCallbacks = vt(() => {
      let e = this.previous?.getAllBatchQueryCallbacks() ?? [],
        r = this.extension.query?.$__internalBatch;
      return r ? e.concat(r) : e;
    });
    getAllComputedFields(e) {
      return this.computedFieldsCache.getOrCreate(e, () =>
        no(this.previous?.getAllComputedFields(e), this.extension, e),
      );
    }
    getAllClientExtensions() {
      return this.clientExtensions.get();
    }
    getAllModelExtensions(e) {
      return this.modelExtensionsCache.getOrCreate(e, () => {
        let r = ye(e);
        return !this.extension.model ||
          !(this.extension.model[r] || this.extension.model.$allModels)
          ? this.previous?.getAllModelExtensions(e)
          : {
              ...this.previous?.getAllModelExtensions(e),
              ...this.extension.model.$allModels,
              ...this.extension.model[r],
            };
      });
    }
    getAllQueryCallbacks(e, r) {
      return this.queryCallbacksCache.getOrCreate(`${e}:${r}`, () => {
        let n = this.previous?.getAllQueryCallbacks(e, r) ?? [],
          i = [],
          o = this.extension.query;
        return !o || !(o[e] || o.$allModels || o[r] || o.$allOperations)
          ? n
          : (o[e] !== void 0 &&
              (o[e][r] !== void 0 && i.push(o[e][r]),
              o[e].$allOperations !== void 0 && i.push(o[e].$allOperations)),
            e !== "$none" &&
              o.$allModels !== void 0 &&
              (o.$allModels[r] !== void 0 && i.push(o.$allModels[r]),
              o.$allModels.$allOperations !== void 0 &&
                i.push(o.$allModels.$allOperations)),
            o[r] !== void 0 && i.push(o[r]),
            o.$allOperations !== void 0 && i.push(o.$allOperations),
            n.concat(i));
      });
    }
    getAllBatchQueryCallbacks() {
      return this.batchCallbacks.get();
    }
  },
  rt = class t {
    constructor(e) {
      this.head = e;
    }
    static empty() {
      return new t();
    }
    static single(e) {
      return new t(new Dr(e));
    }
    isEmpty() {
      return this.head === void 0;
    }
    append(e) {
      return new t(new Dr(e, this.head));
    }
    getAllComputedFields(e) {
      return this.head?.getAllComputedFields(e);
    }
    getAllClientExtensions() {
      return this.head?.getAllClientExtensions();
    }
    getAllModelExtensions(e) {
      return this.head?.getAllModelExtensions(e);
    }
    getAllQueryCallbacks(e, r) {
      return this.head?.getAllQueryCallbacks(e, r) ?? [];
    }
    getAllBatchQueryCallbacks() {
      return this.head?.getAllBatchQueryCallbacks() ?? [];
    }
  };
u();
c();
p();
m();
d();
l();
var Or = class {
  constructor(e) {
    this.name = e;
  }
};
function so(t) {
  return t instanceof Or;
}
function ao(t) {
  return new Or(t);
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var lo = Symbol(),
  Mt = class {
    constructor(e) {
      if (e !== lo)
        throw new Error("Skip instance can not be constructed directly");
    }
    ifUndefined(e) {
      return e === void 0 ? kr : e;
    }
  },
  kr = new Mt(lo);
function he(t) {
  return t instanceof Mt;
}
var Rl = {
    findUnique: "findUnique",
    findUniqueOrThrow: "findUniqueOrThrow",
    findFirst: "findFirst",
    findFirstOrThrow: "findFirstOrThrow",
    findMany: "findMany",
    count: "aggregate",
    create: "createOne",
    createMany: "createMany",
    createManyAndReturn: "createManyAndReturn",
    update: "updateOne",
    updateMany: "updateMany",
    updateManyAndReturn: "updateManyAndReturn",
    upsert: "upsertOne",
    delete: "deleteOne",
    deleteMany: "deleteMany",
    executeRaw: "executeRaw",
    queryRaw: "queryRaw",
    aggregate: "aggregate",
    groupBy: "groupBy",
    runCommandRaw: "runCommandRaw",
    findRaw: "findRaw",
    aggregateRaw: "aggregateRaw",
  },
  uo = "explicitly `undefined` values are not allowed";
function _r({
  modelName: t,
  action: e,
  args: r,
  runtimeDataModel: n,
  extensions: i = rt.empty(),
  callsite: o,
  clientMethod: s,
  errorFormat: a,
  clientVersion: f,
  previewFeatures: v,
  globalOmit: R,
}) {
  let A = new Pn({
    runtimeDataModel: n,
    modelName: t,
    action: e,
    rootArgs: r,
    callsite: o,
    extensions: i,
    selectionPath: [],
    argumentPath: [],
    originalMethod: s,
    errorFormat: a,
    clientVersion: f,
    previewFeatures: v,
    globalOmit: R,
  });
  return { modelName: t, action: Rl[e], query: Lt(r, A) };
}
function Lt({ select: t, include: e, ...r } = {}, n) {
  let i = r.omit;
  return (delete r.omit, { arguments: po(r, n), selection: Al(t, e, i, n) });
}
function Al(t, e, r, n) {
  return t
    ? (e
        ? n.throwValidationError({
            kind: "MutuallyExclusiveFields",
            firstField: "include",
            secondField: "select",
            selectionPath: n.getSelectionPath(),
          })
        : r &&
          n.throwValidationError({
            kind: "MutuallyExclusiveFields",
            firstField: "omit",
            secondField: "select",
            selectionPath: n.getSelectionPath(),
          }),
      Dl(t, n))
    : Cl(n, e, r);
}
function Cl(t, e, r) {
  let n = {};
  return (
    t.modelOrType &&
      !t.isRawAction() &&
      ((n.$composites = !0), (n.$scalars = !0)),
    e && Sl(n, e, t),
    Il(n, r, t),
    n
  );
}
function Sl(t, e, r) {
  for (let [n, i] of Object.entries(e)) {
    if (he(i)) continue;
    let o = r.nestSelection(n);
    if ((Tn(i, o), i === !1 || i === void 0)) {
      t[n] = !1;
      continue;
    }
    let s = r.findField(n);
    if (
      (s &&
        s.kind !== "object" &&
        r.throwValidationError({
          kind: "IncludeOnScalar",
          selectionPath: r.getSelectionPath().concat(n),
          outputType: r.getOutputTypeDescription(),
        }),
      s)
    ) {
      t[n] = Lt(i === !0 ? {} : i, o);
      continue;
    }
    if (i === !0) {
      t[n] = !0;
      continue;
    }
    t[n] = Lt(i, o);
  }
}
function Il(t, e, r) {
  let n = r.getComputedFields(),
    i = { ...r.getGlobalOmit(), ...e },
    o = oo(i, n);
  for (let [s, a] of Object.entries(o)) {
    if (he(a)) continue;
    Tn(a, r.nestSelection(s));
    let f = r.findField(s);
    (n?.[s] && !f) || (t[s] = !a);
  }
}
function Dl(t, e) {
  let r = {},
    n = e.getComputedFields(),
    i = io(t, n);
  for (let [o, s] of Object.entries(i)) {
    if (he(s)) continue;
    let a = e.nestSelection(o);
    Tn(s, a);
    let f = e.findField(o);
    if (!(n?.[o] && !f)) {
      if (s === !1 || s === void 0 || he(s)) {
        r[o] = !1;
        continue;
      }
      if (s === !0) {
        f?.kind === "object" ? (r[o] = Lt({}, a)) : (r[o] = !0);
        continue;
      }
      r[o] = Lt(s, a);
    }
  }
  return r;
}
function co(t, e) {
  if (t === null) return null;
  if (typeof t == "string" || typeof t == "number" || typeof t == "boolean")
    return t;
  if (typeof t == "bigint") return { $type: "BigInt", value: String(t) };
  if (We(t)) {
    if (br(t)) return { $type: "DateTime", value: t.toISOString() };
    e.throwValidationError({
      kind: "InvalidArgumentValue",
      selectionPath: e.getSelectionPath(),
      argumentPath: e.getArgumentPath(),
      argument: { name: e.getArgumentName(), typeNames: ["Date"] },
      underlyingError: "Provided Date object is invalid",
    });
  }
  if (so(t)) return { $type: "Param", value: t.name };
  if (et(t))
    return {
      $type: "FieldRef",
      value: { _ref: t.name, _container: t.modelName },
    };
  if (Array.isArray(t)) return Ol(t, e);
  if (ArrayBuffer.isView(t)) {
    let { buffer: r, byteOffset: n, byteLength: i } = t;
    return { $type: "Bytes", value: h.from(r, n, i).toString("base64") };
  }
  if (kl(t)) return t.values;
  if (Ke(t)) return { $type: "Decimal", value: t.toFixed() };
  if (t instanceof ve) {
    if (t !== Ar.instances[t._getName()])
      throw new Error("Invalid ObjectEnumValue");
    return { $type: "Enum", value: t._getName() };
  }
  if (_l(t)) return t.toJSON();
  if (typeof t == "object") return po(t, e);
  e.throwValidationError({
    kind: "InvalidArgumentValue",
    selectionPath: e.getSelectionPath(),
    argumentPath: e.getArgumentPath(),
    argument: { name: e.getArgumentName(), typeNames: [] },
    underlyingError: `We could not serialize ${Object.prototype.toString.call(t)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`,
  });
}
function po(t, e) {
  if (t.$type) return { $type: "Raw", value: t };
  let r = {};
  for (let n in t) {
    let i = t[n],
      o = e.nestArgument(n);
    he(i) ||
      (i !== void 0
        ? (r[n] = co(i, o))
        : e.isPreviewFeatureOn("strictUndefinedChecks") &&
          e.throwValidationError({
            kind: "InvalidArgumentValue",
            argumentPath: o.getArgumentPath(),
            selectionPath: e.getSelectionPath(),
            argument: { name: e.getArgumentName(), typeNames: [] },
            underlyingError: uo,
          }));
  }
  return r;
}
function Ol(t, e) {
  let r = [];
  for (let n = 0; n < t.length; n++) {
    let i = e.nestArgument(String(n)),
      o = t[n];
    if (o === void 0 || he(o)) {
      let s = o === void 0 ? "undefined" : "Prisma.skip";
      e.throwValidationError({
        kind: "InvalidArgumentValue",
        selectionPath: i.getSelectionPath(),
        argumentPath: i.getArgumentPath(),
        argument: { name: `${e.getArgumentName()}[${n}]`, typeNames: [] },
        underlyingError: `Can not use \`${s}\` value within array. Use \`null\` or filter out \`${s}\` values`,
      });
    }
    r.push(co(o, i));
  }
  return r;
}
function kl(t) {
  return typeof t == "object" && t !== null && t.__prismaRawParameters__ === !0;
}
function _l(t) {
  return typeof t == "object" && t !== null && typeof t.toJSON == "function";
}
function Tn(t, e) {
  t === void 0 &&
    e.isPreviewFeatureOn("strictUndefinedChecks") &&
    e.throwValidationError({
      kind: "InvalidSelectionValue",
      selectionPath: e.getSelectionPath(),
      underlyingError: uo,
    });
}
var Pn = class t {
  constructor(e) {
    this.params = e;
    this.params.modelName &&
      (this.modelOrType =
        this.params.runtimeDataModel.models[this.params.modelName] ??
        this.params.runtimeDataModel.types[this.params.modelName]);
  }
  modelOrType;
  throwValidationError(e) {
    Ir({
      errors: [e],
      originalMethod: this.params.originalMethod,
      args: this.params.rootArgs ?? {},
      callsite: this.params.callsite,
      errorFormat: this.params.errorFormat,
      clientVersion: this.params.clientVersion,
      globalOmit: this.params.globalOmit,
    });
  }
  getSelectionPath() {
    return this.params.selectionPath;
  }
  getArgumentPath() {
    return this.params.argumentPath;
  }
  getArgumentName() {
    return this.params.argumentPath[this.params.argumentPath.length - 1];
  }
  getOutputTypeDescription() {
    if (!(!this.params.modelName || !this.modelOrType))
      return {
        name: this.params.modelName,
        fields: this.modelOrType.fields.map((e) => ({
          name: e.name,
          typeName: "boolean",
          isRelation: e.kind === "object",
        })),
      };
  }
  isRawAction() {
    return [
      "executeRaw",
      "queryRaw",
      "runCommandRaw",
      "findRaw",
      "aggregateRaw",
    ].includes(this.params.action);
  }
  isPreviewFeatureOn(e) {
    return this.params.previewFeatures.includes(e);
  }
  getComputedFields() {
    if (this.params.modelName)
      return this.params.extensions.getAllComputedFields(this.params.modelName);
  }
  findField(e) {
    return this.modelOrType?.fields.find((r) => r.name === e);
  }
  nestSelection(e) {
    let r = this.findField(e),
      n = r?.kind === "object" ? r.type : void 0;
    return new t({
      ...this.params,
      modelName: n,
      selectionPath: this.params.selectionPath.concat(e),
    });
  }
  getGlobalOmit() {
    return this.params.modelName && this.shouldApplyGlobalOmit()
      ? (this.params.globalOmit?.[Ce(this.params.modelName)] ?? {})
      : {};
  }
  shouldApplyGlobalOmit() {
    switch (this.params.action) {
      case "findFirst":
      case "findFirstOrThrow":
      case "findUniqueOrThrow":
      case "findMany":
      case "upsert":
      case "findUnique":
      case "createManyAndReturn":
      case "create":
      case "update":
      case "updateManyAndReturn":
      case "delete":
        return !0;
      case "executeRaw":
      case "aggregateRaw":
      case "runCommandRaw":
      case "findRaw":
      case "createMany":
      case "deleteMany":
      case "groupBy":
      case "updateMany":
      case "count":
      case "aggregate":
      case "queryRaw":
        return !1;
      default:
        Fe(this.params.action, "Unknown action");
    }
  }
  nestArgument(e) {
    return new t({
      ...this.params,
      argumentPath: this.params.argumentPath.concat(e),
    });
  }
};
u();
c();
p();
m();
d();
l();
function mo(t) {
  if (!t._hasPreviewFlag("metrics"))
    throw new Y(
      "`metrics` preview feature must be enabled in order to access metrics API",
      { clientVersion: t._clientVersion },
    );
}
var nt = class {
  _client;
  constructor(e) {
    this._client = e;
  }
  prometheus(e) {
    return (
      mo(this._client),
      this._client._engine.metrics({ format: "prometheus", ...e })
    );
  }
  json(e) {
    return (
      mo(this._client),
      this._client._engine.metrics({ format: "json", ...e })
    );
  }
};
u();
c();
p();
m();
d();
l();
function fo(t, e) {
  let r = vt(() => Ml(e));
  Object.defineProperty(t, "dmmf", { get: () => r.get() });
}
function Ml(t) {
  throw new Error(
    "Prisma.dmmf is not available when running in edge runtimes.",
  );
}
function vn(t) {
  return Object.entries(t).map(([e, r]) => ({ name: e, ...r }));
}
u();
c();
p();
m();
d();
l();
var Rn = new WeakMap(),
  Mr = "$$PrismaTypedSql",
  Ft = class {
    constructor(e, r) {
      (Rn.set(this, { sql: e, values: r }),
        Object.defineProperty(this, Mr, { value: Mr }));
    }
    get sql() {
      return Rn.get(this).sql;
    }
    get values() {
      return Rn.get(this).values;
    }
  };
function go(t) {
  return (...e) => new Ft(t, e);
}
function Lr(t) {
  return t != null && t[Mr] === Mr;
}
u();
c();
p();
m();
d();
l();
var Ls = bt(un());
u();
c();
p();
m();
d();
l();
yo();
Ti();
Si();
u();
c();
p();
m();
d();
l();
var ne = class t {
  constructor(e, r) {
    if (e.length - 1 !== r.length)
      throw e.length === 0
        ? new TypeError("Expected at least 1 string")
        : new TypeError(
            `Expected ${e.length} strings to have ${e.length - 1} values`,
          );
    let n = r.reduce((s, a) => s + (a instanceof t ? a.values.length : 1), 0);
    ((this.values = new Array(n)),
      (this.strings = new Array(n + 1)),
      (this.strings[0] = e[0]));
    let i = 0,
      o = 0;
    for (; i < r.length; ) {
      let s = r[i++],
        a = e[i];
      if (s instanceof t) {
        this.strings[o] += s.strings[0];
        let f = 0;
        for (; f < s.values.length; )
          ((this.values[o++] = s.values[f++]),
            (this.strings[o] = s.strings[f]));
        this.strings[o] += a;
      } else ((this.values[o++] = s), (this.strings[o] = a));
    }
  }
  get sql() {
    let e = this.strings.length,
      r = 1,
      n = this.strings[0];
    for (; r < e; ) n += `?${this.strings[r++]}`;
    return n;
  }
  get statement() {
    let e = this.strings.length,
      r = 1,
      n = this.strings[0];
    for (; r < e; ) n += `:${r}${this.strings[r++]}`;
    return n;
  }
  get text() {
    let e = this.strings.length,
      r = 1,
      n = this.strings[0];
    for (; r < e; ) n += `$${r}${this.strings[r++]}`;
    return n;
  }
  inspect() {
    return {
      sql: this.sql,
      statement: this.statement,
      text: this.text,
      values: this.values,
    };
  }
};
function ho(t, e = ",", r = "", n = "") {
  if (t.length === 0)
    throw new TypeError(
      "Expected `join([])` to be called with an array of multiple elements, but got an empty array",
    );
  return new ne([r, ...Array(t.length - 1).fill(e), n], t);
}
function An(t) {
  return new ne([t], []);
}
var bo = An("");
function Cn(t, ...e) {
  return new ne(t, e);
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function Nt(t) {
  return {
    getKeys() {
      return Object.keys(t);
    },
    getPropertyValue(e) {
      return t[e];
    },
  };
}
u();
c();
p();
m();
d();
l();
function Z(t, e) {
  return {
    getKeys() {
      return [t];
    },
    getPropertyValue() {
      return e();
    },
  };
}
u();
c();
p();
m();
d();
l();
function Ne(t) {
  let e = new fe();
  return {
    getKeys() {
      return t.getKeys();
    },
    getPropertyValue(r) {
      return e.getOrCreate(r, () => t.getPropertyValue(r));
    },
    getPropertyDescriptor(r) {
      return t.getPropertyDescriptor?.(r);
    },
  };
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Nr = { enumerable: !0, configurable: !0, writable: !0 };
function Ur(t) {
  let e = new Set(t);
  return {
    getPrototypeOf: () => Object.prototype,
    getOwnPropertyDescriptor: () => Nr,
    has: (r, n) => e.has(n),
    set: (r, n, i) => e.add(n) && Reflect.set(r, n, i),
    ownKeys: () => [...e],
  };
}
var Eo = Symbol.for("nodejs.util.inspect.custom");
function ce(t, e) {
  let r = Ll(e),
    n = new Set(),
    i = new Proxy(t, {
      get(o, s) {
        if (n.has(s)) return o[s];
        let a = r.get(s);
        return a ? a.getPropertyValue(s) : o[s];
      },
      has(o, s) {
        if (n.has(s)) return !0;
        let a = r.get(s);
        return a ? (a.has?.(s) ?? !0) : Reflect.has(o, s);
      },
      ownKeys(o) {
        let s = wo(Reflect.ownKeys(o), r),
          a = wo(Array.from(r.keys()), r);
        return [...new Set([...s, ...a, ...n])];
      },
      set(o, s, a) {
        return r.get(s)?.getPropertyDescriptor?.(s)?.writable === !1
          ? !1
          : (n.add(s), Reflect.set(o, s, a));
      },
      getOwnPropertyDescriptor(o, s) {
        let a = Reflect.getOwnPropertyDescriptor(o, s);
        if (a && !a.configurable) return a;
        let f = r.get(s);
        return f
          ? f.getPropertyDescriptor
            ? { ...Nr, ...f?.getPropertyDescriptor(s) }
            : Nr
          : a;
      },
      defineProperty(o, s, a) {
        return (n.add(s), Reflect.defineProperty(o, s, a));
      },
      getPrototypeOf: () => Object.prototype,
    });
  return (
    (i[Eo] = function () {
      let o = { ...this };
      return (delete o[Eo], o);
    }),
    i
  );
}
function Ll(t) {
  let e = new Map();
  for (let r of t) {
    let n = r.getKeys();
    for (let i of n) e.set(i, r);
  }
  return e;
}
function wo(t, e) {
  return t.filter((r) => e.get(r)?.has?.(r) ?? !0);
}
u();
c();
p();
m();
d();
l();
function it(t) {
  return {
    getKeys() {
      return t;
    },
    has() {
      return !1;
    },
    getPropertyValue() {},
  };
}
u();
c();
p();
m();
d();
l();
function ot(t, e) {
  return {
    batch: t,
    transaction:
      e?.kind === "batch"
        ? { isolationLevel: e.options.isolationLevel }
        : void 0,
  };
}
u();
c();
p();
m();
d();
l();
function xo(t) {
  if (t === void 0) return "";
  let e = tt(t);
  return new He(0, { colors: Tr }).write(e).toString();
}
u();
c();
p();
m();
d();
l();
var Fl = "P2037";
function st({ error: t, user_facing_error: e }, r, n) {
  return e.error_code
    ? new X(Nl(e, n), {
        code: e.error_code,
        clientVersion: r,
        meta: e.meta,
        batchRequestIdx: e.batch_request_idx,
      })
    : new Q(t, { clientVersion: r, batchRequestIdx: e.batch_request_idx });
}
function Nl(t, e) {
  let r = t.message;
  return (
    (e === "postgresql" || e === "postgres" || e === "mysql") &&
      t.error_code === Fl &&
      (r += `
Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),
    r
  );
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Sn = class {
  getLocation() {
    return null;
  }
};
function Ie(t) {
  return typeof $EnabledCallSite == "function" && t !== "minimal"
    ? new $EnabledCallSite()
    : new Sn();
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Po = { _avg: !0, _count: !0, _sum: !0, _min: !0, _max: !0 };
function at(t = {}) {
  let e = ql(t);
  return Object.entries(e).reduce(
    (n, [i, o]) => (
      Po[i] !== void 0 ? (n.select[i] = { select: o }) : (n[i] = o),
      n
    ),
    { select: {} },
  );
}
function ql(t = {}) {
  return typeof t._count == "boolean"
    ? { ...t, _count: { _all: t._count } }
    : t;
}
function qr(t = {}) {
  return (e) => (typeof t._count == "boolean" && (e._count = e._count._all), e);
}
function To(t, e) {
  let r = qr(t);
  return e({ action: "aggregate", unpacker: r, argsMapper: at })(t);
}
u();
c();
p();
m();
d();
l();
function Vl(t = {}) {
  let { select: e, ...r } = t;
  return typeof e == "object"
    ? at({ ...r, _count: e })
    : at({ ...r, _count: { _all: !0 } });
}
function Bl(t = {}) {
  return typeof t.select == "object"
    ? (e) => qr(t)(e)._count
    : (e) => qr(t)(e)._count._all;
}
function vo(t, e) {
  return e({ action: "count", unpacker: Bl(t), argsMapper: Vl })(t);
}
u();
c();
p();
m();
d();
l();
function $l(t = {}) {
  let e = at(t);
  if (Array.isArray(e.by))
    for (let r of e.by) typeof r == "string" && (e.select[r] = !0);
  else typeof e.by == "string" && (e.select[e.by] = !0);
  return e;
}
function jl(t = {}) {
  return (e) => (
    typeof t?._count == "boolean" &&
      e.forEach((r) => {
        r._count = r._count._all;
      }),
    e
  );
}
function Ro(t, e) {
  return e({ action: "groupBy", unpacker: jl(t), argsMapper: $l })(t);
}
function Ao(t, e, r) {
  if (e === "aggregate") return (n) => To(n, r);
  if (e === "count") return (n) => vo(n, r);
  if (e === "groupBy") return (n) => Ro(n, r);
}
u();
c();
p();
m();
d();
l();
function Co(t, e) {
  let r = e.fields.filter((i) => !i.relationName),
    n = Ni(r, "name");
  return new Proxy(
    {},
    {
      get(i, o) {
        if (o in i || typeof o == "symbol") return i[o];
        let s = n[o];
        if (s) return new It(t, o, s.type, s.isList, s.kind === "enum");
      },
      ...Ur(Object.keys(n)),
    },
  );
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var So = (t) => (Array.isArray(t) ? t : t.split(".")),
  In = (t, e) => So(e).reduce((r, n) => r && r[n], t),
  Io = (t, e, r) =>
    So(e).reduceRight(
      (n, i, o, s) => Object.assign({}, In(t, s.slice(0, o)), { [i]: n }),
      r,
    );
function Ql(t, e) {
  return t === void 0 || e === void 0 ? [] : [...e, "select", t];
}
function Gl(t, e, r) {
  return e === void 0 ? (t ?? {}) : Io(e, r, t || !0);
}
function Dn(t, e, r, n, i, o) {
  let a = t._runtimeDataModel.models[e].fields.reduce(
    (f, v) => ({ ...f, [v.name]: v }),
    {},
  );
  return (f) => {
    let v = Ie(t._errorFormat),
      R = Ql(n, i),
      A = Gl(f, o, R),
      I = r({ dataPath: R, callsite: v })(A),
      C = Jl(t, e);
    return new Proxy(I, {
      get(L, D) {
        if (!C.includes(D)) return L[D];
        let Ee = [a[D].type, r, D],
          ee = [R, A];
        return Dn(t, ...Ee, ...ee);
      },
      ...Ur([...C, ...Object.getOwnPropertyNames(I)]),
    });
  };
}
function Jl(t, e) {
  return t._runtimeDataModel.models[e].fields
    .filter((r) => r.kind === "object")
    .map((r) => r.name);
}
var Wl = [
    "findUnique",
    "findUniqueOrThrow",
    "findFirst",
    "findFirstOrThrow",
    "create",
    "update",
    "upsert",
    "delete",
  ],
  Kl = ["aggregate", "count", "groupBy"];
function On(t, e) {
  let r = t._extensions.getAllModelExtensions(e) ?? {},
    n = [
      Hl(t, e),
      Yl(t, e),
      Nt(r),
      Z("name", () => e),
      Z("$name", () => e),
      Z("$parent", () => t._appliedParent),
    ];
  return ce({}, n);
}
function Hl(t, e) {
  let r = ye(e),
    n = Object.keys(Rt).concat("count");
  return {
    getKeys() {
      return n;
    },
    getPropertyValue(i) {
      let o = i,
        s = (a) => (f) => {
          let v = Ie(t._errorFormat);
          return t._createPrismaPromise(
            (R) => {
              let A = {
                args: f,
                dataPath: [],
                action: o,
                model: e,
                clientMethod: `${r}.${i}`,
                jsModelName: r,
                transaction: R,
                callsite: v,
              };
              return t._request({ ...A, ...a });
            },
            { action: o, args: f, model: e },
          );
        };
      return Wl.includes(o) ? Dn(t, e, s) : zl(i) ? Ao(t, i, s) : s({});
    },
  };
}
function zl(t) {
  return Kl.includes(t);
}
function Yl(t, e) {
  return Ne(
    Z("fields", () => {
      let r = t._runtimeDataModel.models[e];
      return Co(e, r);
    }),
  );
}
u();
c();
p();
m();
d();
l();
function Do(t) {
  return t.replace(/^./, (e) => e.toUpperCase());
}
var kn = Symbol();
function Ut(t) {
  let e = [Xl(t), Zl(t), Z(kn, () => t), Z("$parent", () => t._appliedParent)],
    r = t._extensions.getAllClientExtensions();
  return (r && e.push(Nt(r)), ce(t, e));
}
function Xl(t) {
  let e = Object.getPrototypeOf(t._originalClient),
    r = [...new Set(Object.getOwnPropertyNames(e))];
  return {
    getKeys() {
      return r;
    },
    getPropertyValue(n) {
      return t[n];
    },
  };
}
function Zl(t) {
  let e = Object.keys(t._runtimeDataModel.models),
    r = e.map(ye),
    n = [...new Set(e.concat(r))];
  return Ne({
    getKeys() {
      return n;
    },
    getPropertyValue(i) {
      let o = Do(i);
      if (t._runtimeDataModel.models[o] !== void 0) return On(t, o);
      if (t._runtimeDataModel.models[i] !== void 0) return On(t, i);
    },
    getPropertyDescriptor(i) {
      if (!r.includes(i)) return { enumerable: !1 };
    },
  });
}
function Oo(t) {
  return t[kn] ? t[kn] : t;
}
function ko(t) {
  if (typeof t == "function") return t(this);
  if (t.client?.__AccelerateEngine) {
    let r = t.client.__AccelerateEngine;
    this._originalClient._engine = new r(
      this._originalClient._accelerateEngineConfig,
    );
  }
  let e = Object.create(this._originalClient, {
    _extensions: { value: this._extensions.append(t) },
    _appliedParent: { value: this, configurable: !0 },
    $on: { value: void 0 },
  });
  return Ut(e);
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function _o({ result: t, modelName: e, select: r, omit: n, extensions: i }) {
  let o = i.getAllComputedFields(e);
  if (!o) return t;
  let s = [],
    a = [];
  for (let f of Object.values(o)) {
    if (n) {
      if (n[f.name]) continue;
      let v = f.needs.filter((R) => n[R]);
      v.length > 0 && a.push(it(v));
    } else if (r) {
      if (!r[f.name]) continue;
      let v = f.needs.filter((R) => !r[R]);
      v.length > 0 && a.push(it(v));
    }
    eu(t, f.needs) && s.push(tu(f, ce(t, s)));
  }
  return s.length > 0 || a.length > 0 ? ce(t, [...s, ...a]) : t;
}
function eu(t, e) {
  return e.every((r) => fn(t, r));
}
function tu(t, e) {
  return Ne(Z(t.name, () => t.compute(e)));
}
u();
c();
p();
m();
d();
l();
function Vr({
  visitor: t,
  result: e,
  args: r,
  runtimeDataModel: n,
  modelName: i,
}) {
  if (Array.isArray(e)) {
    for (let s = 0; s < e.length; s++)
      e[s] = Vr({
        result: e[s],
        args: r,
        modelName: i,
        runtimeDataModel: n,
        visitor: t,
      });
    return e;
  }
  let o = t(e, i, r) ?? e;
  return (
    r.include &&
      Mo({
        includeOrSelect: r.include,
        result: o,
        parentModelName: i,
        runtimeDataModel: n,
        visitor: t,
      }),
    r.select &&
      Mo({
        includeOrSelect: r.select,
        result: o,
        parentModelName: i,
        runtimeDataModel: n,
        visitor: t,
      }),
    o
  );
}
function Mo({
  includeOrSelect: t,
  result: e,
  parentModelName: r,
  runtimeDataModel: n,
  visitor: i,
}) {
  for (let [o, s] of Object.entries(t)) {
    if (!s || e[o] == null || he(s)) continue;
    let f = n.models[r].fields.find((R) => R.name === o);
    if (!f || f.kind !== "object" || !f.relationName) continue;
    let v = typeof s == "object" ? s : {};
    e[o] = Vr({
      visitor: i,
      result: e[o],
      args: v,
      modelName: f.type,
      runtimeDataModel: n,
    });
  }
}
function Lo({
  result: t,
  modelName: e,
  args: r,
  extensions: n,
  runtimeDataModel: i,
  globalOmit: o,
}) {
  return n.isEmpty() || t == null || typeof t != "object" || !i.models[e]
    ? t
    : Vr({
        result: t,
        args: r ?? {},
        modelName: e,
        runtimeDataModel: i,
        visitor: (a, f, v) => {
          let R = ye(f);
          return _o({
            result: a,
            modelName: R,
            select: v.select,
            omit: v.select ? void 0 : { ...o?.[R], ...v.omit },
            extensions: n,
          });
        },
      });
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
l();
u();
c();
p();
m();
d();
l();
var ru = ["$connect", "$disconnect", "$on", "$transaction", "$extends"],
  Fo = ru;
function No(t) {
  if (t instanceof ne) return nu(t);
  if (Lr(t)) return iu(t);
  if (Array.isArray(t)) {
    let r = [t[0]];
    for (let n = 1; n < t.length; n++) r[n] = qt(t[n]);
    return r;
  }
  let e = {};
  for (let r in t) e[r] = qt(t[r]);
  return e;
}
function nu(t) {
  return new ne(t.strings, t.values);
}
function iu(t) {
  return new Ft(t.sql, t.values);
}
function qt(t) {
  if (typeof t != "object" || t == null || t instanceof ve || et(t)) return t;
  if (Ke(t)) return new xe(t.toFixed());
  if (We(t)) return new Date(+t);
  if (ArrayBuffer.isView(t)) return t.slice(0);
  if (Array.isArray(t)) {
    let e = t.length,
      r;
    for (r = Array(e); e--; ) r[e] = qt(t[e]);
    return r;
  }
  if (typeof t == "object") {
    let e = {};
    for (let r in t)
      r === "__proto__"
        ? Object.defineProperty(e, r, {
            value: qt(t[r]),
            configurable: !0,
            enumerable: !0,
            writable: !0,
          })
        : (e[r] = qt(t[r]));
    return e;
  }
  Fe(t, "Unknown value");
}
function qo(t, e, r, n = 0) {
  return t._createPrismaPromise((i) => {
    let o = e.customDataProxyFetch;
    return (
      "transaction" in e &&
        i !== void 0 &&
        (e.transaction?.kind === "batch" && e.transaction.lock.then(),
        (e.transaction = i)),
      n === r.length
        ? t._executeRequest(e)
        : r[n]({
            model: e.model,
            operation: e.model ? e.action : e.clientMethod,
            args: No(e.args ?? {}),
            __internalParams: e,
            query: (s, a = e) => {
              let f = a.customDataProxyFetch;
              return (
                (a.customDataProxyFetch = jo(o, f)),
                (a.args = s),
                qo(t, a, r, n + 1)
              );
            },
          })
    );
  });
}
function Vo(t, e) {
  let { jsModelName: r, action: n, clientMethod: i } = e,
    o = r ? n : i;
  if (t._extensions.isEmpty()) return t._executeRequest(e);
  let s = t._extensions.getAllQueryCallbacks(r ?? "$none", o);
  return qo(t, e, s);
}
function Bo(t) {
  return (e) => {
    let r = { requests: e },
      n = e[0].extensions.getAllBatchQueryCallbacks();
    return n.length ? $o(r, n, 0, t) : t(r);
  };
}
function $o(t, e, r, n) {
  if (r === e.length) return n(t);
  let i = t.customDataProxyFetch,
    o = t.requests[0].transaction;
  return e[r]({
    args: {
      queries: t.requests.map((s) => ({
        model: s.modelName,
        operation: s.action,
        args: s.args,
      })),
      transaction: o
        ? { isolationLevel: o.kind === "batch" ? o.isolationLevel : void 0 }
        : void 0,
    },
    __internalParams: t,
    query(s, a = t) {
      let f = a.customDataProxyFetch;
      return ((a.customDataProxyFetch = jo(i, f)), $o(a, e, r + 1, n));
    },
  });
}
var Uo = (t) => t;
function jo(t = Uo, e = Uo) {
  return (r) => t(e(r));
}
u();
c();
p();
m();
d();
l();
var Qo = j("prisma:client"),
  Go = { Vercel: "vercel", "Netlify CI": "netlify" };
function Jo({ postinstall: t, ciName: e, clientVersion: r, generator: n }) {
  if (
    (Qo("checkPlatformCaching:postinstall", t),
    Qo("checkPlatformCaching:ciName", e),
    t === !0 &&
      !(
        n?.output && typeof (n.output.fromEnvVar ?? n.output.value) == "string"
      ) &&
      e &&
      e in Go)
  ) {
    let i = `Prisma has detected that this project was built on ${e}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process.

Learn how: https://pris.ly/d/${Go[e]}-build`;
    throw (console.error(i), new M(i, r));
  }
}
u();
c();
p();
m();
d();
l();
function Wo(t, e) {
  return t
    ? t.datasources
      ? t.datasources
      : t.datasourceUrl
        ? { [e[0]]: { url: t.datasourceUrl } }
        : {}
    : {};
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
l();
u();
c();
p();
m();
d();
l();
l();
function Ko(t, e) {
  throw new Error(e);
}
function ou(t) {
  return t !== null && typeof t == "object" && typeof t.$type == "string";
}
function su(t, e) {
  let r = {};
  for (let n of Object.keys(t)) r[n] = e(t[n], n);
  return r;
}
function lt(t) {
  return t === null
    ? t
    : Array.isArray(t)
      ? t.map(lt)
      : typeof t == "object"
        ? ou(t)
          ? au(t)
          : t.constructor !== null && t.constructor.name !== "Object"
            ? t
            : su(t, lt)
        : t;
}
function au({ $type: t, value: e }) {
  switch (t) {
    case "BigInt":
      return BigInt(e);
    case "Bytes": {
      let { buffer: r, byteOffset: n, byteLength: i } = h.from(e, "base64");
      return new Uint8Array(r, n, i);
    }
    case "DateTime":
      return new Date(e);
    case "Decimal":
      return new P(e);
    case "Json":
      return JSON.parse(e);
    default:
      Ko(e, "Unknown tagged value");
  }
}
var Ho = "6.19.3";
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var uu = () => globalThis.process?.release?.name === "node",
  cu = () => !!globalThis.Bun || !!globalThis.process?.versions?.bun,
  pu = () => !!globalThis.Deno,
  mu = () => typeof globalThis.Netlify == "object",
  du = () => typeof globalThis.EdgeRuntime == "object",
  fu = () => globalThis.navigator?.userAgent === "Cloudflare-Workers";
function gu() {
  return (
    [
      [mu, "netlify"],
      [du, "edge-light"],
      [fu, "workerd"],
      [pu, "deno"],
      [cu, "bun"],
      [uu, "node"],
    ]
      .flatMap((r) => (r[0]() ? [r[1]] : []))
      .at(0) ?? ""
  );
}
var yu = {
  node: "Node.js",
  workerd: "Cloudflare Workers",
  deno: "Deno and Deno Deploy",
  netlify: "Netlify Edge Functions",
  "edge-light":
    "Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)",
};
function ut() {
  let t = gu();
  return {
    id: t,
    prettyName: yu[t] || t,
    isEdge: ["workerd", "deno", "netlify", "edge-light"].includes(t),
  };
}
function ct({
  inlineDatasources: t,
  overrideDatasources: e,
  env: r,
  clientVersion: n,
}) {
  let i,
    o = Object.keys(t)[0],
    s = t[o]?.url,
    a = e[o]?.url;
  if (
    (o === void 0
      ? (i = void 0)
      : a
        ? (i = a)
        : s?.value
          ? (i = s.value)
          : s?.fromEnvVar && (i = r[s.fromEnvVar]),
    s?.fromEnvVar !== void 0 && i === void 0)
  )
    throw ut().id === "workerd"
      ? new M(
          `error: Environment variable not found: ${s.fromEnvVar}.

In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`.
To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,
          n,
        )
      : new M(`error: Environment variable not found: ${s.fromEnvVar}.`, n);
  if (i === void 0)
    throw new M(
      "error: Missing URL environment variable, value, or override.",
      n,
    );
  return i;
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Br = class extends Error {
  clientVersion;
  cause;
  constructor(e, r) {
    (super(e), (this.clientVersion = r.clientVersion), (this.cause = r.cause));
  }
  get [Symbol.toStringTag]() {
    return this.name;
  }
};
var ie = class extends Br {
  isRetryable;
  constructor(e, r) {
    (super(e, r), (this.isRetryable = r.isRetryable ?? !0));
  }
};
u();
c();
p();
m();
d();
l();
function _(t, e) {
  return { ...t, isRetryable: e };
}
var Ue = class extends ie {
  name = "InvalidDatasourceError";
  code = "P6001";
  constructor(e, r) {
    super(e, _(r, !1));
  }
};
O(Ue, "InvalidDatasourceError");
function zo(t) {
  let e = { clientVersion: t.clientVersion },
    r = Object.keys(t.inlineDatasources)[0],
    n = ct({
      inlineDatasources: t.inlineDatasources,
      overrideDatasources: t.overrideDatasources,
      clientVersion: t.clientVersion,
      env: { ...t.env, ...(typeof g < "u" ? g.env : {}) },
    }),
    i;
  try {
    i = new URL(n);
  } catch {
    throw new Ue(
      `Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,
      e,
    );
  }
  let { protocol: o, searchParams: s } = i;
  if (o !== "prisma:" && o !== fr)
    throw new Ue(
      `Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,
      e,
    );
  let a = s.get("api_key");
  if (a === null || a.length < 1)
    throw new Ue(
      `Error validating datasource \`${r}\`: the URL must contain a valid API key`,
      e,
    );
  let f = cn(i) ? "http:" : "https:";
  g.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR &&
    i.searchParams.has("use_http") &&
    (f = "http:");
  let v = new URL(i.href.replace(o, f));
  return { apiKey: a, url: v };
}
u();
c();
p();
m();
d();
l();
var Yo = bt(Di()),
  $r = class {
    apiKey;
    tracingHelper;
    logLevel;
    logQueries;
    engineHash;
    constructor({
      apiKey: e,
      tracingHelper: r,
      logLevel: n,
      logQueries: i,
      engineHash: o,
    }) {
      ((this.apiKey = e),
        (this.tracingHelper = r),
        (this.logLevel = n),
        (this.logQueries = i),
        (this.engineHash = o));
    }
    build({ traceparent: e, transactionId: r } = {}) {
      let n = {
        Accept: "application/json",
        Authorization: `Bearer ${this.apiKey}`,
        "Content-Type": "application/json",
        "Prisma-Engine-Hash": this.engineHash,
        "Prisma-Engine-Version": Yo.enginesVersion,
      };
      (this.tracingHelper.isEnabled() &&
        (n.traceparent = e ?? this.tracingHelper.getTraceParent()),
        r && (n["X-Transaction-Id"] = r));
      let i = this.#e();
      return (i.length > 0 && (n["X-Capture-Telemetry"] = i.join(", ")), n);
    }
    #e() {
      let e = [];
      return (
        this.tracingHelper.isEnabled() && e.push("tracing"),
        this.logLevel && e.push(this.logLevel),
        this.logQueries && e.push("query"),
        e
      );
    }
  };
u();
c();
p();
m();
d();
l();
function hu(t) {
  return t[0] * 1e3 + t[1] / 1e6;
}
function _n(t) {
  return new Date(hu(t));
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var pt = class extends ie {
  name = "ForcedRetryError";
  code = "P5001";
  constructor(e) {
    super("This request must be retried", _(e, !0));
  }
};
O(pt, "ForcedRetryError");
u();
c();
p();
m();
d();
l();
var qe = class extends ie {
  name = "NotImplementedYetError";
  code = "P5004";
  constructor(e, r) {
    super(e, _(r, !1));
  }
};
O(qe, "NotImplementedYetError");
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var V = class extends ie {
  response;
  constructor(e, r) {
    (super(e, r), (this.response = r.response));
    let n = this.response.headers.get("prisma-request-id");
    if (n) {
      let i = `(The request id was: ${n})`;
      this.message = this.message + " " + i;
    }
  }
};
var Ve = class extends V {
  name = "SchemaMissingError";
  code = "P5005";
  constructor(e) {
    super("Schema needs to be uploaded", _(e, !0));
  }
};
O(Ve, "SchemaMissingError");
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Mn = "This request could not be understood by the server",
  Vt = class extends V {
    name = "BadRequestError";
    code = "P5000";
    constructor(e, r, n) {
      (super(r || Mn, _(e, !1)), n && (this.code = n));
    }
  };
O(Vt, "BadRequestError");
u();
c();
p();
m();
d();
l();
var Bt = class extends V {
  name = "HealthcheckTimeoutError";
  code = "P5013";
  logs;
  constructor(e, r) {
    (super("Engine not started: healthcheck timeout", _(e, !0)),
      (this.logs = r));
  }
};
O(Bt, "HealthcheckTimeoutError");
u();
c();
p();
m();
d();
l();
var $t = class extends V {
  name = "EngineStartupError";
  code = "P5014";
  logs;
  constructor(e, r, n) {
    (super(r, _(e, !0)), (this.logs = n));
  }
};
O($t, "EngineStartupError");
u();
c();
p();
m();
d();
l();
var jt = class extends V {
  name = "EngineVersionNotSupportedError";
  code = "P5012";
  constructor(e) {
    super("Engine version is not supported", _(e, !1));
  }
};
O(jt, "EngineVersionNotSupportedError");
u();
c();
p();
m();
d();
l();
var Ln = "Request timed out",
  Qt = class extends V {
    name = "GatewayTimeoutError";
    code = "P5009";
    constructor(e, r = Ln) {
      super(r, _(e, !1));
    }
  };
O(Qt, "GatewayTimeoutError");
u();
c();
p();
m();
d();
l();
var bu = "Interactive transaction error",
  Gt = class extends V {
    name = "InteractiveTransactionError";
    code = "P5015";
    constructor(e, r = bu) {
      super(r, _(e, !1));
    }
  };
O(Gt, "InteractiveTransactionError");
u();
c();
p();
m();
d();
l();
var Eu = "Request parameters are invalid",
  Jt = class extends V {
    name = "InvalidRequestError";
    code = "P5011";
    constructor(e, r = Eu) {
      super(r, _(e, !1));
    }
  };
O(Jt, "InvalidRequestError");
u();
c();
p();
m();
d();
l();
var Fn = "Requested resource does not exist",
  Wt = class extends V {
    name = "NotFoundError";
    code = "P5003";
    constructor(e, r = Fn) {
      super(r, _(e, !1));
    }
  };
O(Wt, "NotFoundError");
u();
c();
p();
m();
d();
l();
var Nn = "Unknown server error",
  mt = class extends V {
    name = "ServerError";
    code = "P5006";
    logs;
    constructor(e, r, n) {
      (super(r || Nn, _(e, !0)), (this.logs = n));
    }
  };
O(mt, "ServerError");
u();
c();
p();
m();
d();
l();
var Un = "Unauthorized, check your connection string",
  Kt = class extends V {
    name = "UnauthorizedError";
    code = "P5007";
    constructor(e, r = Un) {
      super(r, _(e, !1));
    }
  };
O(Kt, "UnauthorizedError");
u();
c();
p();
m();
d();
l();
var qn = "Usage exceeded, retry again later",
  Ht = class extends V {
    name = "UsageExceededError";
    code = "P5008";
    constructor(e, r = qn) {
      super(r, _(e, !0));
    }
  };
O(Ht, "UsageExceededError");
async function wu(t) {
  let e;
  try {
    e = await t.text();
  } catch {
    return { type: "EmptyError" };
  }
  try {
    let r = JSON.parse(e);
    if (typeof r == "string")
      switch (r) {
        case "InternalDataProxyError":
          return { type: "DataProxyError", body: r };
        default:
          return { type: "UnknownTextError", body: r };
      }
    if (typeof r == "object" && r !== null) {
      if ("is_panic" in r && "message" in r && "error_code" in r)
        return { type: "QueryEngineError", body: r };
      if (
        "EngineNotStarted" in r ||
        "InteractiveTransactionMisrouted" in r ||
        "InvalidRequestError" in r
      ) {
        let n = Object.values(r)[0].reason;
        return typeof n == "string" &&
          !["SchemaMissing", "EngineVersionNotSupported"].includes(n)
          ? { type: "UnknownJsonError", body: r }
          : { type: "DataProxyError", body: r };
      }
    }
    return { type: "UnknownJsonError", body: r };
  } catch {
    return e === ""
      ? { type: "EmptyError" }
      : { type: "UnknownTextError", body: e };
  }
}
async function zt(t, e) {
  if (t.ok) return;
  let r = { clientVersion: e, response: t },
    n = await wu(t);
  if (n.type === "QueryEngineError")
    throw new X(n.body.message, { code: n.body.error_code, clientVersion: e });
  if (n.type === "DataProxyError") {
    if (n.body === "InternalDataProxyError")
      throw new mt(r, "Internal Data Proxy error");
    if ("EngineNotStarted" in n.body) {
      if (n.body.EngineNotStarted.reason === "SchemaMissing") return new Ve(r);
      if (n.body.EngineNotStarted.reason === "EngineVersionNotSupported")
        throw new jt(r);
      if ("EngineStartupError" in n.body.EngineNotStarted.reason) {
        let { msg: i, logs: o } =
          n.body.EngineNotStarted.reason.EngineStartupError;
        throw new $t(r, i, o);
      }
      if ("KnownEngineStartupError" in n.body.EngineNotStarted.reason) {
        let { msg: i, error_code: o } =
          n.body.EngineNotStarted.reason.KnownEngineStartupError;
        throw new M(i, e, o);
      }
      if ("HealthcheckTimeout" in n.body.EngineNotStarted.reason) {
        let { logs: i } = n.body.EngineNotStarted.reason.HealthcheckTimeout;
        throw new Bt(r, i);
      }
    }
    if ("InteractiveTransactionMisrouted" in n.body) {
      let i = {
        IDParseError: "Could not parse interactive transaction ID",
        NoQueryEngineFoundError:
          "Could not find Query Engine for the specified host and transaction ID",
        TransactionStartError: "Could not start interactive transaction",
      };
      throw new Gt(r, i[n.body.InteractiveTransactionMisrouted.reason]);
    }
    if ("InvalidRequestError" in n.body)
      throw new Jt(r, n.body.InvalidRequestError.reason);
  }
  if (t.status === 401 || t.status === 403) throw new Kt(r, dt(Un, n));
  if (t.status === 404) return new Wt(r, dt(Fn, n));
  if (t.status === 429) throw new Ht(r, dt(qn, n));
  if (t.status === 504) throw new Qt(r, dt(Ln, n));
  if (t.status >= 500) throw new mt(r, dt(Nn, n));
  if (t.status >= 400) throw new Vt(r, dt(Mn, n));
}
function dt(t, e) {
  return e.type === "EmptyError" ? t : `${t}: ${JSON.stringify(e)}`;
}
u();
c();
p();
m();
d();
l();
function Xo(t) {
  let e = Math.pow(2, t) * 50,
    r = Math.ceil(Math.random() * e) - Math.ceil(e / 2),
    n = e + r;
  return new Promise((i) => setTimeout(() => i(n), n));
}
u();
c();
p();
m();
d();
l();
var Re = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function Zo(t) {
  let e = new TextEncoder().encode(t),
    r = "",
    n = e.byteLength,
    i = n % 3,
    o = n - i,
    s,
    a,
    f,
    v,
    R;
  for (let A = 0; A < o; A = A + 3)
    ((R = (e[A] << 16) | (e[A + 1] << 8) | e[A + 2]),
      (s = (R & 16515072) >> 18),
      (a = (R & 258048) >> 12),
      (f = (R & 4032) >> 6),
      (v = R & 63),
      (r += Re[s] + Re[a] + Re[f] + Re[v]));
  return (
    i == 1
      ? ((R = e[o]),
        (s = (R & 252) >> 2),
        (a = (R & 3) << 4),
        (r += Re[s] + Re[a] + "=="))
      : i == 2 &&
        ((R = (e[o] << 8) | e[o + 1]),
        (s = (R & 64512) >> 10),
        (a = (R & 1008) >> 4),
        (f = (R & 15) << 2),
        (r += Re[s] + Re[a] + Re[f] + "=")),
    r
  );
}
u();
c();
p();
m();
d();
l();
function es(t) {
  if (
    !!t.generator?.previewFeatures.some((r) =>
      r.toLowerCase().includes("metrics"),
    )
  )
    throw new M(
      "The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",
      t.clientVersion,
    );
}
u();
c();
p();
m();
d();
l();
var ts = {
  "@prisma/debug": "workspace:*",
  "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
  "@prisma/fetch-engine": "workspace:*",
  "@prisma/get-platform": "workspace:*",
};
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var Yt = class extends ie {
  name = "RequestError";
  code = "P5010";
  constructor(e, r) {
    super(
      `Cannot fetch data from service:
${e}`,
      _(r, !0),
    );
  }
};
O(Yt, "RequestError");
async function Be(t, e, r = (n) => n) {
  let { clientVersion: n, ...i } = e,
    o = r(fetch);
  try {
    return await o(t, i);
  } catch (s) {
    let a = s.message ?? "Unknown error";
    throw new Yt(a, { clientVersion: n, cause: s });
  }
}
var Pu = /^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,
  rs = j("prisma:client:dataproxyEngine");
async function Tu(t, e) {
  let r = ts["@prisma/engines-version"],
    n = e.clientVersion ?? "unknown";
  if (
    g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION ||
    globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION
  )
    return (
      g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION ||
      globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION
    );
  if (t.includes("accelerate") && n !== "0.0.0" && n !== "in-memory") return n;
  let [i, o] = n?.split("-") ?? [];
  if (o === void 0 && Pu.test(i)) return i;
  if (o !== void 0 || n === "0.0.0" || n === "in-memory") {
    let [s] = r.split("-") ?? [],
      [a, f, v] = s.split("."),
      R = vu(`<=${a}.${f}.${v}`),
      A = await Be(R, { clientVersion: n });
    if (!A.ok)
      throw new Error(
        `Failed to fetch stable Prisma version, unpkg.com status ${A.status} ${A.statusText}, response body: ${(await A.text()) || "<empty body>"}`,
      );
    let I = await A.text();
    rs("length of body fetched from unpkg.com", I.length);
    let C;
    try {
      C = JSON.parse(I);
    } catch (L) {
      throw (
        console.error("JSON.parse error: body fetched from unpkg.com: ", I),
        L
      );
    }
    return C.version;
  }
  throw new qe(
    "Only `major.minor.patch` versions are supported by Accelerate.",
    { clientVersion: n },
  );
}
async function ns(t, e) {
  let r = await Tu(t, e);
  return (rs("version", r), r);
}
function vu(t) {
  return encodeURI(`https://unpkg.com/prisma@${t}/package.json`);
}
var is = 3,
  Xt = j("prisma:client:dataproxyEngine"),
  Zt = class {
    name = "DataProxyEngine";
    inlineSchema;
    inlineSchemaHash;
    inlineDatasources;
    config;
    logEmitter;
    env;
    clientVersion;
    engineHash;
    tracingHelper;
    remoteClientVersion;
    host;
    headerBuilder;
    startPromise;
    protocol;
    constructor(e) {
      (es(e),
        (this.config = e),
        (this.env = e.env),
        (this.inlineSchema = Zo(e.inlineSchema)),
        (this.inlineDatasources = e.inlineDatasources),
        (this.inlineSchemaHash = e.inlineSchemaHash),
        (this.clientVersion = e.clientVersion),
        (this.engineHash = e.engineVersion),
        (this.logEmitter = e.logEmitter),
        (this.tracingHelper = e.tracingHelper));
    }
    apiKey() {
      return this.headerBuilder.apiKey;
    }
    version() {
      return this.engineHash;
    }
    async start() {
      (this.startPromise !== void 0 && (await this.startPromise),
        (this.startPromise = (async () => {
          let { apiKey: e, url: r } = this.getURLAndAPIKey();
          ((this.host = r.host),
            (this.protocol = r.protocol),
            (this.headerBuilder = new $r({
              apiKey: e,
              tracingHelper: this.tracingHelper,
              logLevel: this.config.logLevel ?? "error",
              logQueries: this.config.logQueries,
              engineHash: this.engineHash,
            })),
            (this.remoteClientVersion = await ns(this.host, this.config)),
            Xt("host", this.host),
            Xt("protocol", this.protocol));
        })()),
        await this.startPromise);
    }
    async stop() {}
    propagateResponseExtensions(e) {
      (e?.logs?.length &&
        e.logs.forEach((r) => {
          switch (r.level) {
            case "debug":
            case "trace":
              Xt(r);
              break;
            case "error":
            case "warn":
            case "info": {
              this.logEmitter.emit(r.level, {
                timestamp: _n(r.timestamp),
                message: r.attributes.message ?? "",
                target: r.target ?? "BinaryEngine",
              });
              break;
            }
            case "query": {
              this.logEmitter.emit("query", {
                query: r.attributes.query ?? "",
                timestamp: _n(r.timestamp),
                duration: r.attributes.duration_ms ?? 0,
                params: r.attributes.params ?? "",
                target: r.target ?? "BinaryEngine",
              });
              break;
            }
            default:
              r.level;
          }
        }),
        e?.traces?.length && this.tracingHelper.dispatchEngineSpans(e.traces));
    }
    onBeforeExit() {
      throw new Error(
        '"beforeExit" hook is not applicable to the remote query engine',
      );
    }
    async url(e) {
      return (
        await this.start(),
        `${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${e}`
      );
    }
    async uploadSchema() {
      let e = { name: "schemaUpload", internal: !0 };
      return this.tracingHelper.runInChildSpan(e, async () => {
        let r = await Be(await this.url("schema"), {
          method: "PUT",
          headers: this.headerBuilder.build(),
          body: this.inlineSchema,
          clientVersion: this.clientVersion,
        });
        r.ok || Xt("schema response status", r.status);
        let n = await zt(r, this.clientVersion);
        if (n)
          throw (
            this.logEmitter.emit("warn", {
              message: `Error while uploading schema: ${n.message}`,
              timestamp: new Date(),
              target: "",
            }),
            n
          );
        this.logEmitter.emit("info", {
          message: `Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,
          timestamp: new Date(),
          target: "",
        });
      });
    }
    request(
      e,
      { traceparent: r, interactiveTransaction: n, customDataProxyFetch: i },
    ) {
      return this.requestInternal({
        body: e,
        traceparent: r,
        interactiveTransaction: n,
        customDataProxyFetch: i,
      });
    }
    async requestBatch(
      e,
      { traceparent: r, transaction: n, customDataProxyFetch: i },
    ) {
      let o = n?.kind === "itx" ? n.options : void 0,
        s = ot(e, n);
      return (
        await this.requestInternal({
          body: s,
          customDataProxyFetch: i,
          interactiveTransaction: o,
          traceparent: r,
        })
      ).map(
        (f) => (
          f.extensions && this.propagateResponseExtensions(f.extensions),
          "errors" in f ? this.convertProtocolErrorsToClientError(f.errors) : f
        ),
      );
    }
    requestInternal({
      body: e,
      traceparent: r,
      customDataProxyFetch: n,
      interactiveTransaction: i,
    }) {
      return this.withRetry({
        actionGerund: "querying",
        callback: async ({ logHttpCall: o }) => {
          let s = i
            ? `${i.payload.endpoint}/graphql`
            : await this.url("graphql");
          o(s);
          let a = await Be(
            s,
            {
              method: "POST",
              headers: this.headerBuilder.build({
                traceparent: r,
                transactionId: i?.id,
              }),
              body: JSON.stringify(e),
              clientVersion: this.clientVersion,
            },
            n,
          );
          (a.ok || Xt("graphql response status", a.status),
            await this.handleError(await zt(a, this.clientVersion)));
          let f = await a.json();
          if (
            (f.extensions && this.propagateResponseExtensions(f.extensions),
            "errors" in f)
          )
            throw this.convertProtocolErrorsToClientError(f.errors);
          return "batchResult" in f ? f.batchResult : f;
        },
      });
    }
    async transaction(e, r, n) {
      let i = {
        start: "starting",
        commit: "committing",
        rollback: "rolling back",
      };
      return this.withRetry({
        actionGerund: `${i[e]} transaction`,
        callback: async ({ logHttpCall: o }) => {
          if (e === "start") {
            let s = JSON.stringify({
                max_wait: n.maxWait,
                timeout: n.timeout,
                isolation_level: n.isolationLevel,
              }),
              a = await this.url("transaction/start");
            o(a);
            let f = await Be(a, {
              method: "POST",
              headers: this.headerBuilder.build({ traceparent: r.traceparent }),
              body: s,
              clientVersion: this.clientVersion,
            });
            await this.handleError(await zt(f, this.clientVersion));
            let v = await f.json(),
              { extensions: R } = v;
            R && this.propagateResponseExtensions(R);
            let A = v.id,
              I = v["data-proxy"].endpoint;
            return { id: A, payload: { endpoint: I } };
          } else {
            let s = `${n.payload.endpoint}/${e}`;
            o(s);
            let a = await Be(s, {
              method: "POST",
              headers: this.headerBuilder.build({ traceparent: r.traceparent }),
              clientVersion: this.clientVersion,
            });
            await this.handleError(await zt(a, this.clientVersion));
            let f = await a.json(),
              { extensions: v } = f;
            v && this.propagateResponseExtensions(v);
            return;
          }
        },
      });
    }
    getURLAndAPIKey() {
      return zo({
        clientVersion: this.clientVersion,
        env: this.env,
        inlineDatasources: this.inlineDatasources,
        overrideDatasources: this.config.overrideDatasources,
      });
    }
    metrics() {
      throw new qe("Metrics are not yet supported for Accelerate", {
        clientVersion: this.clientVersion,
      });
    }
    async withRetry(e) {
      for (let r = 0; ; r++) {
        let n = (i) => {
          this.logEmitter.emit("info", {
            message: `Calling ${i} (n=${r})`,
            timestamp: new Date(),
            target: "",
          });
        };
        try {
          return await e.callback({ logHttpCall: n });
        } catch (i) {
          if (!(i instanceof ie) || !i.isRetryable) throw i;
          if (r >= is) throw i instanceof pt ? i.cause : i;
          this.logEmitter.emit("warn", {
            message: `Attempt ${r + 1}/${is} failed for ${e.actionGerund}: ${i.message ?? "(unknown)"}`,
            timestamp: new Date(),
            target: "",
          });
          let o = await Xo(r);
          this.logEmitter.emit("warn", {
            message: `Retrying after ${o}ms`,
            timestamp: new Date(),
            target: "",
          });
        }
      }
    }
    async handleError(e) {
      if (e instanceof Ve)
        throw (
          await this.uploadSchema(),
          new pt({ clientVersion: this.clientVersion, cause: e })
        );
      if (e) throw e;
    }
    convertProtocolErrorsToClientError(e) {
      return e.length === 1
        ? st(e[0], this.config.clientVersion, this.config.activeProvider)
        : new Q(JSON.stringify(e), {
            clientVersion: this.config.clientVersion,
          });
    }
    applyPendingMigrations() {
      throw new Error("Method not implemented.");
    }
  };
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function os(t) {
  if (t?.kind === "itx") return t.options.id;
}
u();
c();
p();
m();
d();
l();
var Vn,
  ss = {
    async loadLibrary(t) {
      let { clientVersion: e, adapter: r, engineWasm: n } = t;
      if (r === void 0)
        throw new M(
          `The \`adapter\` option for \`PrismaClient\` is required in this context (${ut().prettyName})`,
          e,
        );
      if (n === void 0)
        throw new M("WASM engine was unexpectedly `undefined`", e);
      Vn === void 0 &&
        (Vn = (async () => {
          let o = await n.getRuntime(),
            s = await n.getQueryEngineWasmModule();
          if (s == null)
            throw new M(
              "The loaded wasm module was unexpectedly `undefined` or `null` once loaded",
              e,
            );
          let a = { "./query_engine_bg.js": o },
            f = new WebAssembly.Instance(s, a),
            v = f.exports.__wbindgen_start;
          return (o.__wbg_set_wasm(f.exports), v(), o.QueryEngine);
        })());
      let i = await Vn;
      return {
        debugPanic() {
          return Promise.reject("{}");
        },
        dmmf() {
          return Promise.resolve("{}");
        },
        version() {
          return { commit: "unknown", version: "unknown" };
        },
        QueryEngine: i,
      };
    },
  };
var Ru = "P2036",
  be = j("prisma:client:libraryEngine");
function Au(t) {
  return t.item_type === "query" && "query" in t;
}
function Cu(t) {
  return "level" in t ? t.level === "error" && t.message === "PANIC" : !1;
}
var VL = [...on, "native"],
  Su = 0xffffffffffffffffn,
  Bn = 1n;
function Iu() {
  let t = Bn++;
  return (Bn > Su && (Bn = 1n), t);
}
var er = class {
  name = "LibraryEngine";
  engine;
  libraryInstantiationPromise;
  libraryStartingPromise;
  libraryStoppingPromise;
  libraryStarted;
  executingQueryPromise;
  config;
  QueryEngineConstructor;
  libraryLoader;
  library;
  logEmitter;
  libQueryEnginePath;
  binaryTarget;
  datasourceOverrides;
  datamodel;
  logQueries;
  logLevel;
  lastQuery;
  loggerRustPanic;
  tracingHelper;
  adapterPromise;
  versionInfo;
  constructor(e, r) {
    ((this.libraryLoader = r ?? ss),
      (this.config = e),
      (this.libraryStarted = !1),
      (this.logQueries = e.logQueries ?? !1),
      (this.logLevel = e.logLevel ?? "error"),
      (this.logEmitter = e.logEmitter),
      (this.datamodel = e.inlineSchema),
      (this.tracingHelper = e.tracingHelper),
      e.enableDebugLogs && (this.logLevel = "debug"));
    let n = Object.keys(e.overrideDatasources)[0],
      i = e.overrideDatasources[n]?.url;
    (n !== void 0 && i !== void 0 && (this.datasourceOverrides = { [n]: i }),
      (this.libraryInstantiationPromise = this.instantiateLibrary()));
  }
  wrapEngine(e) {
    return {
      applyPendingMigrations: e.applyPendingMigrations?.bind(e),
      commitTransaction: this.withRequestId(e.commitTransaction.bind(e)),
      connect: this.withRequestId(e.connect.bind(e)),
      disconnect: this.withRequestId(e.disconnect.bind(e)),
      metrics: e.metrics?.bind(e),
      query: this.withRequestId(e.query.bind(e)),
      rollbackTransaction: this.withRequestId(e.rollbackTransaction.bind(e)),
      sdlSchema: e.sdlSchema?.bind(e),
      startTransaction: this.withRequestId(e.startTransaction.bind(e)),
      trace: e.trace.bind(e),
      free: e.free?.bind(e),
    };
  }
  withRequestId(e) {
    return async (...r) => {
      let n = Iu().toString();
      try {
        return await e(...r, n);
      } finally {
        if (this.tracingHelper.isEnabled()) {
          let i = await this.engine?.trace(n);
          if (i) {
            let o = JSON.parse(i);
            this.tracingHelper.dispatchEngineSpans(o.spans);
          }
        }
      }
    };
  }
  async applyPendingMigrations() {
    throw new Error(
      "Cannot call this method from this type of engine instance",
    );
  }
  async transaction(e, r, n) {
    await this.start();
    let i = await this.adapterPromise,
      o = JSON.stringify(r),
      s;
    if (e === "start") {
      let f = JSON.stringify({
        max_wait: n.maxWait,
        timeout: n.timeout,
        isolation_level: n.isolationLevel,
      });
      s = await this.engine?.startTransaction(f, o);
    } else
      e === "commit"
        ? (s = await this.engine?.commitTransaction(n.id, o))
        : e === "rollback" &&
          (s = await this.engine?.rollbackTransaction(n.id, o));
    let a = this.parseEngineResponse(s);
    if (Du(a)) {
      let f = this.getExternalAdapterError(a, i?.errorRegistry);
      throw f
        ? f.error
        : new X(a.message, {
            code: a.error_code,
            clientVersion: this.config.clientVersion,
            meta: a.meta,
          });
    } else if (typeof a.message == "string")
      throw new Q(a.message, { clientVersion: this.config.clientVersion });
    return a;
  }
  async instantiateLibrary() {
    if ((be("internalSetup"), this.libraryInstantiationPromise))
      return this.libraryInstantiationPromise;
    ((this.binaryTarget = await this.getCurrentBinaryTarget()),
      await this.tracingHelper.runInChildSpan("load_engine", () =>
        this.loadEngine(),
      ),
      this.version());
  }
  async getCurrentBinaryTarget() {}
  parseEngineResponse(e) {
    if (!e)
      throw new Q("Response from the Engine was empty", {
        clientVersion: this.config.clientVersion,
      });
    try {
      return JSON.parse(e);
    } catch {
      throw new Q("Unable to JSON.parse response from engine", {
        clientVersion: this.config.clientVersion,
      });
    }
  }
  async loadEngine() {
    if (!this.engine) {
      this.QueryEngineConstructor ||
        ((this.library = await this.libraryLoader.loadLibrary(this.config)),
        (this.QueryEngineConstructor = this.library.QueryEngine));
      try {
        let e = new b(this);
        this.adapterPromise ||
          (this.adapterPromise = this.config.adapter?.connect()?.then(mr));
        let r = await this.adapterPromise;
        (r && be("Using driver adapter: %O", r),
          (this.engine = this.wrapEngine(
            new this.QueryEngineConstructor(
              {
                datamodel: this.datamodel,
                env: g.env,
                logQueries: this.config.logQueries ?? !1,
                ignoreEnvVarErrors: !0,
                datasourceOverrides: this.datasourceOverrides ?? {},
                logLevel: this.logLevel,
                configDir: this.config.cwd,
                engineProtocol: "json",
                enableTracing: this.tracingHelper.isEnabled(),
              },
              (n) => {
                e.deref()?.logger(n);
              },
              r,
            ),
          )));
      } catch (e) {
        let r = e,
          n = this.parseInitError(r.message);
        throw typeof n == "string"
          ? r
          : new M(n.message, this.config.clientVersion, n.error_code);
      }
    }
  }
  logger(e) {
    let r = this.parseEngineResponse(e);
    r &&
      ((r.level = r?.level.toLowerCase() ?? "unknown"),
      Au(r)
        ? this.logEmitter.emit("query", {
            timestamp: new Date(),
            query: r.query,
            params: r.params,
            duration: Number(r.duration_ms),
            target: r.module_path,
          })
        : (Cu(r),
          this.logEmitter.emit(r.level, {
            timestamp: new Date(),
            message: r.message,
            target: r.module_path,
          })));
  }
  parseInitError(e) {
    try {
      return JSON.parse(e);
    } catch {}
    return e;
  }
  parseRequestError(e) {
    try {
      return JSON.parse(e);
    } catch {}
    return e;
  }
  onBeforeExit() {
    throw new Error(
      '"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.',
    );
  }
  async start() {
    if (
      (this.libraryInstantiationPromise ||
        (this.libraryInstantiationPromise = this.instantiateLibrary()),
      await this.libraryInstantiationPromise,
      await this.libraryStoppingPromise,
      this.libraryStartingPromise)
    )
      return (
        be(
          `library already starting, this.libraryStarted: ${this.libraryStarted}`,
        ),
        this.libraryStartingPromise
      );
    if (this.libraryStarted) return;
    let e = async () => {
      be("library starting");
      try {
        let r = { traceparent: this.tracingHelper.getTraceParent() };
        (await this.engine?.connect(JSON.stringify(r)),
          (this.libraryStarted = !0),
          this.adapterPromise ||
            (this.adapterPromise = this.config.adapter?.connect()?.then(mr)),
          await this.adapterPromise,
          be("library started"));
      } catch (r) {
        let n = this.parseInitError(r.message);
        throw typeof n == "string"
          ? r
          : new M(n.message, this.config.clientVersion, n.error_code);
      } finally {
        this.libraryStartingPromise = void 0;
      }
    };
    return (
      (this.libraryStartingPromise = this.tracingHelper.runInChildSpan(
        "connect",
        e,
      )),
      this.libraryStartingPromise
    );
  }
  async stop() {
    if (
      (await this.libraryInstantiationPromise,
      await this.libraryStartingPromise,
      await this.executingQueryPromise,
      this.libraryStoppingPromise)
    )
      return (be("library is already stopping"), this.libraryStoppingPromise);
    if (!this.libraryStarted) {
      (await (await this.adapterPromise)?.dispose(),
        (this.adapterPromise = void 0));
      return;
    }
    let e = async () => {
      (await new Promise((n) => setImmediate(n)), be("library stopping"));
      let r = { traceparent: this.tracingHelper.getTraceParent() };
      (await this.engine?.disconnect(JSON.stringify(r)),
        this.engine?.free && this.engine.free(),
        (this.engine = void 0),
        (this.libraryStarted = !1),
        (this.libraryStoppingPromise = void 0),
        (this.libraryInstantiationPromise = void 0),
        await (await this.adapterPromise)?.dispose(),
        (this.adapterPromise = void 0),
        be("library stopped"));
    };
    return (
      (this.libraryStoppingPromise = this.tracingHelper.runInChildSpan(
        "disconnect",
        e,
      )),
      this.libraryStoppingPromise
    );
  }
  version() {
    return (
      (this.versionInfo = this.library?.version()),
      this.versionInfo?.version ?? "unknown"
    );
  }
  debugPanic(e) {
    return this.library?.debugPanic(e);
  }
  async request(e, { traceparent: r, interactiveTransaction: n }) {
    be(`sending request, this.libraryStarted: ${this.libraryStarted}`);
    let i = JSON.stringify({ traceparent: r }),
      o = JSON.stringify(e);
    try {
      await this.start();
      let s = await this.adapterPromise;
      ((this.executingQueryPromise = this.engine?.query(o, i, n?.id)),
        (this.lastQuery = o));
      let a = this.parseEngineResponse(await this.executingQueryPromise);
      if (a.errors)
        throw a.errors.length === 1
          ? this.buildQueryError(a.errors[0], s?.errorRegistry)
          : new Q(JSON.stringify(a.errors), {
              clientVersion: this.config.clientVersion,
            });
      if (this.loggerRustPanic) throw this.loggerRustPanic;
      return { data: a };
    } catch (s) {
      if (s instanceof M) throw s;
      s.code === "GenericFailure" && s.message?.startsWith("PANIC:");
      let a = this.parseRequestError(s.message);
      throw typeof a == "string"
        ? s
        : new Q(
            `${a.message}
${a.backtrace}`,
            { clientVersion: this.config.clientVersion },
          );
    }
  }
  async requestBatch(e, { transaction: r, traceparent: n }) {
    be("requestBatch");
    let i = ot(e, r);
    await this.start();
    let o = await this.adapterPromise;
    ((this.lastQuery = JSON.stringify(i)),
      (this.executingQueryPromise = this.engine?.query(
        this.lastQuery,
        JSON.stringify({ traceparent: n }),
        os(r),
      )));
    let s = await this.executingQueryPromise,
      a = this.parseEngineResponse(s);
    if (a.errors)
      throw a.errors.length === 1
        ? this.buildQueryError(a.errors[0], o?.errorRegistry)
        : new Q(JSON.stringify(a.errors), {
            clientVersion: this.config.clientVersion,
          });
    let { batchResult: f, errors: v } = a;
    if (Array.isArray(f))
      return f.map((R) =>
        R.errors && R.errors.length > 0
          ? (this.loggerRustPanic ??
            this.buildQueryError(R.errors[0], o?.errorRegistry))
          : { data: R },
      );
    throw v && v.length === 1
      ? new Error(v[0].error)
      : new Error(JSON.stringify(a));
  }
  buildQueryError(e, r) {
    e.user_facing_error.is_panic;
    let n = this.getExternalAdapterError(e.user_facing_error, r);
    return n
      ? n.error
      : st(e, this.config.clientVersion, this.config.activeProvider);
  }
  getExternalAdapterError(e, r) {
    if (e.error_code === Ru && r) {
      let n = e.meta?.id;
      yr(
        typeof n == "number",
        "Malformed external JS error received from the engine",
      );
      let i = r.consumeError(n);
      return (yr(i, "External error with reported id was not registered"), i);
    }
  }
  async metrics(e) {
    await this.start();
    let r = await this.engine.metrics(JSON.stringify(e));
    return e.format === "prometheus" ? r : this.parseEngineResponse(r);
  }
};
function Du(t) {
  return typeof t == "object" && t !== null && t.error_code !== void 0;
}
u();
c();
p();
m();
d();
l();
function as({ url: t, adapter: e, copyEngine: r, targetBuildType: n }) {
  let i = [],
    o = [],
    s = (D) => {
      i.push({ _tag: "warning", value: D });
    },
    a = (D) => {
      let k = D.join(`
`);
      o.push({ _tag: "error", value: k });
    },
    f = !!t?.startsWith("prisma://"),
    v = gr(t),
    R = !!e,
    A = f || v;
  !R &&
    r &&
    A &&
    n !== "client" &&
    n !== "wasm-compiler-edge" &&
    s([
      "recommend--no-engine",
      "In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)",
    ]);
  let I = A || !r;
  R &&
    (I || n === "edge") &&
    (n === "edge"
      ? a([
          "Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.",
          "Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor.",
        ])
      : A
        ? a([
            "You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.",
            "Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter.",
          ])
        : r ||
          a([
            "Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.",
            "Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter.",
          ]));
  let C = { accelerate: I, ppg: v, driverAdapters: R };
  function L(D) {
    return D.length > 0;
  }
  return L(o)
    ? { ok: !1, diagnostics: { warnings: i, errors: o }, isUsing: C }
    : { ok: !0, diagnostics: { warnings: i }, isUsing: C };
}
function ls({ copyEngine: t = !0 }, e) {
  let r;
  try {
    r = ct({
      inlineDatasources: e.inlineDatasources,
      overrideDatasources: e.overrideDatasources,
      env: { ...e.env, ...g.env },
      clientVersion: e.clientVersion,
    });
  } catch {}
  let {
    ok: n,
    isUsing: i,
    diagnostics: o,
  } = as({
    url: r,
    adapter: e.adapter,
    copyEngine: t,
    targetBuildType: "wasm-engine-edge",
  });
  for (let A of o.warnings) Tt(...A.value);
  if (!n) {
    let A = o.errors[0];
    throw new Y(A.value, { clientVersion: e.clientVersion });
  }
  let s = Je(e.generator),
    a = s === "library",
    f = s === "binary",
    v = s === "client",
    R = (i.accelerate || i.ppg) && !i.driverAdapters;
  return i.accelerate
    ? new Zt(e)
    : i.driverAdapters
      ? new er(e)
      : new $n({ clientVersion: e.clientVersion });
}
var $n = class {
  constructor(e) {
    return new Proxy(this, {
      get(r, n) {
        let i = `In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters`;
        throw new Y(i, e);
      },
    });
  }
};
u();
c();
p();
m();
d();
l();
function us({ generator: t }) {
  return t?.previewFeatures ?? [];
}
u();
c();
p();
m();
d();
l();
var cs = (t) => ({ command: t });
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
var ps = (t) => t.strings.reduce((e, r, n) => `${e}@P${n}${r}`);
u();
c();
p();
m();
d();
l();
l();
function ft(t) {
  try {
    return ms(t, "fast");
  } catch {
    return ms(t, "slow");
  }
}
function ms(t, e) {
  return JSON.stringify(t.map((r) => fs(r, e)));
}
function fs(t, e) {
  if (Array.isArray(t)) return t.map((r) => fs(r, e));
  if (typeof t == "bigint")
    return { prisma__type: "bigint", prisma__value: t.toString() };
  if (We(t)) return { prisma__type: "date", prisma__value: t.toJSON() };
  if (xe.isDecimal(t))
    return { prisma__type: "decimal", prisma__value: t.toJSON() };
  if (h.isBuffer(t))
    return { prisma__type: "bytes", prisma__value: t.toString("base64") };
  if (Ou(t))
    return {
      prisma__type: "bytes",
      prisma__value: h.from(t).toString("base64"),
    };
  if (ArrayBuffer.isView(t)) {
    let { buffer: r, byteOffset: n, byteLength: i } = t;
    return {
      prisma__type: "bytes",
      prisma__value: h.from(r, n, i).toString("base64"),
    };
  }
  return typeof t == "object" && e === "slow" ? gs(t) : t;
}
function Ou(t) {
  return t instanceof ArrayBuffer || t instanceof SharedArrayBuffer
    ? !0
    : typeof t == "object" && t !== null
      ? t[Symbol.toStringTag] === "ArrayBuffer" ||
        t[Symbol.toStringTag] === "SharedArrayBuffer"
      : !1;
}
function gs(t) {
  if (typeof t != "object" || t === null) return t;
  if (typeof t.toJSON == "function") return t.toJSON();
  if (Array.isArray(t)) return t.map(ds);
  let e = {};
  for (let r of Object.keys(t)) e[r] = ds(t[r]);
  return e;
}
function ds(t) {
  return typeof t == "bigint" ? t.toString() : gs(t);
}
var ku = /^(\s*alter\s)/i,
  ys = j("prisma:client");
function jn(t, e, r, n) {
  if (
    !(t !== "postgresql" && t !== "cockroachdb") &&
    r.length > 0 &&
    ku.exec(e)
  )
    throw new Error(`Running ALTER using ${n} is not supported
Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization.

Example:
  await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`)

More Information: https://pris.ly/d/execute-raw
`);
}
var Qn =
    ({ clientMethod: t, activeProvider: e }) =>
    (r) => {
      let n = "",
        i;
      if (Lr(r))
        ((n = r.sql),
          (i = { values: ft(r.values), __prismaRawParameters__: !0 }));
      else if (Array.isArray(r)) {
        let [o, ...s] = r;
        ((n = o), (i = { values: ft(s || []), __prismaRawParameters__: !0 }));
      } else
        switch (e) {
          case "sqlite":
          case "mysql": {
            ((n = r.sql),
              (i = { values: ft(r.values), __prismaRawParameters__: !0 }));
            break;
          }
          case "cockroachdb":
          case "postgresql":
          case "postgres": {
            ((n = r.text),
              (i = { values: ft(r.values), __prismaRawParameters__: !0 }));
            break;
          }
          case "sqlserver": {
            ((n = ps(r)),
              (i = { values: ft(r.values), __prismaRawParameters__: !0 }));
            break;
          }
          default:
            throw new Error(`The ${e} provider does not support ${t}`);
        }
      return (
        i?.values
          ? ys(`prisma.${t}(${n}, ${i.values})`)
          : ys(`prisma.${t}(${n})`),
        { query: n, parameters: i }
      );
    },
  hs = {
    requestArgsToMiddlewareArgs(t) {
      return [t.strings, ...t.values];
    },
    middlewareArgsToRequestArgs(t) {
      let [e, ...r] = t;
      return new ne(e, r);
    },
  },
  bs = {
    requestArgsToMiddlewareArgs(t) {
      return [t];
    },
    middlewareArgsToRequestArgs(t) {
      return t[0];
    },
  };
u();
c();
p();
m();
d();
l();
function Gn(t) {
  return function (r, n) {
    let i,
      o = (s = t) => {
        try {
          return s === void 0 || s?.kind === "itx"
            ? (i ??= Es(r(s)))
            : Es(r(s));
        } catch (a) {
          return Promise.reject(a);
        }
      };
    return {
      get spec() {
        return n;
      },
      then(s, a) {
        return o().then(s, a);
      },
      catch(s) {
        return o().catch(s);
      },
      finally(s) {
        return o().finally(s);
      },
      requestTransaction(s) {
        let a = o(s);
        return a.requestTransaction ? a.requestTransaction(s) : a;
      },
      [Symbol.toStringTag]: "PrismaPromise",
    };
  };
}
function Es(t) {
  return typeof t.then == "function" ? t : Promise.resolve(t);
}
u();
c();
p();
m();
d();
l();
var _u = sn.split(".")[0],
  Mu = {
    isEnabled() {
      return !1;
    },
    getTraceParent() {
      return "00-10-10-00";
    },
    dispatchEngineSpans() {},
    getActiveContext() {},
    runInChildSpan(t, e) {
      return e();
    },
  },
  Jn = class {
    isEnabled() {
      return this.getGlobalTracingHelper().isEnabled();
    }
    getTraceParent(e) {
      return this.getGlobalTracingHelper().getTraceParent(e);
    }
    dispatchEngineSpans(e) {
      return this.getGlobalTracingHelper().dispatchEngineSpans(e);
    }
    getActiveContext() {
      return this.getGlobalTracingHelper().getActiveContext();
    }
    runInChildSpan(e, r) {
      return this.getGlobalTracingHelper().runInChildSpan(e, r);
    }
    getGlobalTracingHelper() {
      let e = globalThis[`V${_u}_PRISMA_INSTRUMENTATION`],
        r = globalThis.PRISMA_INSTRUMENTATION;
      return e?.helper ?? r?.helper ?? Mu;
    }
  };
function ws() {
  return new Jn();
}
u();
c();
p();
m();
d();
l();
function xs(t, e = () => {}) {
  let r,
    n = new Promise((i) => (r = i));
  return {
    then(i) {
      return (--t === 0 && r(e()), i?.(n));
    },
  };
}
u();
c();
p();
m();
d();
l();
function Ps(t) {
  return typeof t == "string"
    ? t
    : t.reduce(
        (e, r) => {
          let n = typeof r == "string" ? r : r.level;
          return n === "query"
            ? e
            : e && (r === "info" || e === "info")
              ? "info"
              : n;
        },
        void 0,
      );
}
u();
c();
p();
m();
d();
l();
u();
c();
p();
m();
d();
l();
function jr(t) {
  return typeof t.batchRequestIdx == "number";
}
u();
c();
p();
m();
d();
l();
function Ts(t) {
  if (t.action !== "findUnique" && t.action !== "findUniqueOrThrow") return;
  let e = [];
  return (
    t.modelName && e.push(t.modelName),
    t.query.arguments && e.push(Wn(t.query.arguments)),
    e.push(Wn(t.query.selection)),
    e.join("")
  );
}
function Wn(t) {
  return `(${Object.keys(t)
    .sort()
    .map((r) => {
      let n = t[r];
      return typeof n == "object" && n !== null ? `(${r} ${Wn(n)})` : r;
    })
    .join(" ")})`;
}
u();
c();
p();
m();
d();
l();
var Lu = {
  aggregate: !1,
  aggregateRaw: !1,
  createMany: !0,
  createManyAndReturn: !0,
  createOne: !0,
  deleteMany: !0,
  deleteOne: !0,
  executeRaw: !0,
  findFirst: !1,
  findFirstOrThrow: !1,
  findMany: !1,
  findRaw: !1,
  findUnique: !1,
  findUniqueOrThrow: !1,
  groupBy: !1,
  queryRaw: !1,
  runCommandRaw: !0,
  updateMany: !0,
  updateManyAndReturn: !0,
  updateOne: !0,
  upsertOne: !0,
};
function Kn(t) {
  return Lu[t];
}
u();
c();
p();
m();
d();
l();
var Qr = class {
  constructor(e) {
    this.options = e;
    this.batches = {};
  }
  batches;
  tickActive = !1;
  request(e) {
    let r = this.options.batchBy(e);
    return r
      ? (this.batches[r] ||
          ((this.batches[r] = []),
          this.tickActive ||
            ((this.tickActive = !0),
            g.nextTick(() => {
              (this.dispatchBatches(), (this.tickActive = !1));
            }))),
        new Promise((n, i) => {
          this.batches[r].push({ request: e, resolve: n, reject: i });
        }))
      : this.options.singleLoader(e);
  }
  dispatchBatches() {
    for (let e in this.batches) {
      let r = this.batches[e];
      (delete this.batches[e],
        r.length === 1
          ? this.options
              .singleLoader(r[0].request)
              .then((n) => {
                n instanceof Error ? r[0].reject(n) : r[0].resolve(n);
              })
              .catch((n) => {
                r[0].reject(n);
              })
          : (r.sort((n, i) => this.options.batchOrder(n.request, i.request)),
            this.options
              .batchLoader(r.map((n) => n.request))
              .then((n) => {
                if (n instanceof Error)
                  for (let i = 0; i < r.length; i++) r[i].reject(n);
                else
                  for (let i = 0; i < r.length; i++) {
                    let o = n[i];
                    o instanceof Error ? r[i].reject(o) : r[i].resolve(o);
                  }
              })
              .catch((n) => {
                for (let i = 0; i < r.length; i++) r[i].reject(n);
              })));
    }
  }
  get [Symbol.toStringTag]() {
    return "DataLoader";
  }
};
u();
c();
p();
m();
d();
l();
l();
function $e(t, e) {
  if (e === null) return e;
  switch (t) {
    case "bigint":
      return BigInt(e);
    case "bytes": {
      let { buffer: r, byteOffset: n, byteLength: i } = h.from(e, "base64");
      return new Uint8Array(r, n, i);
    }
    case "decimal":
      return new xe(e);
    case "datetime":
    case "date":
      return new Date(e);
    case "time":
      return new Date(`1970-01-01T${e}Z`);
    case "bigint-array":
      return e.map((r) => $e("bigint", r));
    case "bytes-array":
      return e.map((r) => $e("bytes", r));
    case "decimal-array":
      return e.map((r) => $e("decimal", r));
    case "datetime-array":
      return e.map((r) => $e("datetime", r));
    case "date-array":
      return e.map((r) => $e("date", r));
    case "time-array":
      return e.map((r) => $e("time", r));
    default:
      return e;
  }
}
function Gr(t) {
  let e = [],
    r = Fu(t);
  for (let n = 0; n < t.rows.length; n++) {
    let i = t.rows[n],
      o = { ...r };
    for (let s = 0; s < i.length; s++) o[t.columns[s]] = $e(t.types[s], i[s]);
    e.push(o);
  }
  return e;
}
function Fu(t) {
  let e = {};
  for (let r = 0; r < t.columns.length; r++) e[t.columns[r]] = null;
  return e;
}
var Nu = j("prisma:client:request_handler"),
  Jr = class {
    client;
    dataloader;
    logEmitter;
    constructor(e, r) {
      ((this.logEmitter = r),
        (this.client = e),
        (this.dataloader = new Qr({
          batchLoader: Bo(async ({ requests: n, customDataProxyFetch: i }) => {
            let { transaction: o, otelParentCtx: s } = n[0],
              a = n.map((A) => A.protocolQuery),
              f = this.client._tracingHelper.getTraceParent(s),
              v = n.some((A) => Kn(A.protocolQuery.action));
            return (
              await this.client._engine.requestBatch(a, {
                traceparent: f,
                transaction: Uu(o),
                containsWrite: v,
                customDataProxyFetch: i,
              })
            ).map((A, I) => {
              if (A instanceof Error) return A;
              try {
                return this.mapQueryEngineResult(n[I], A);
              } catch (C) {
                return C;
              }
            });
          }),
          singleLoader: async (n) => {
            let i = n.transaction?.kind === "itx" ? vs(n.transaction) : void 0,
              o = await this.client._engine.request(n.protocolQuery, {
                traceparent: this.client._tracingHelper.getTraceParent(),
                interactiveTransaction: i,
                isWrite: Kn(n.protocolQuery.action),
                customDataProxyFetch: n.customDataProxyFetch,
              });
            return this.mapQueryEngineResult(n, o);
          },
          batchBy: (n) =>
            n.transaction?.id
              ? `transaction-${n.transaction.id}`
              : Ts(n.protocolQuery),
          batchOrder(n, i) {
            return n.transaction?.kind === "batch" &&
              i.transaction?.kind === "batch"
              ? n.transaction.index - i.transaction.index
              : 0;
          },
        })));
    }
    async request(e) {
      try {
        return await this.dataloader.request(e);
      } catch (r) {
        let {
          clientMethod: n,
          callsite: i,
          transaction: o,
          args: s,
          modelName: a,
        } = e;
        this.handleAndLogRequestError({
          error: r,
          clientMethod: n,
          callsite: i,
          transaction: o,
          args: s,
          modelName: a,
          globalOmit: e.globalOmit,
        });
      }
    }
    mapQueryEngineResult({ dataPath: e, unpacker: r }, n) {
      let i = n?.data,
        o = this.unpack(i, e, r);
      return g.env.PRISMA_CLIENT_GET_TIME ? { data: o } : o;
    }
    handleAndLogRequestError(e) {
      try {
        this.handleRequestError(e);
      } catch (r) {
        throw (
          this.logEmitter &&
            this.logEmitter.emit("error", {
              message: r.message,
              target: e.clientMethod,
              timestamp: new Date(),
            }),
          r
        );
      }
    }
    handleRequestError({
      error: e,
      clientMethod: r,
      callsite: n,
      transaction: i,
      args: o,
      modelName: s,
      globalOmit: a,
    }) {
      if ((Nu(e), qu(e, i))) throw e;
      if (e instanceof X && Vu(e)) {
        let v = Rs(e.meta);
        Ir({
          args: o,
          errors: [v],
          callsite: n,
          errorFormat: this.client._errorFormat,
          originalMethod: r,
          clientVersion: this.client._clientVersion,
          globalOmit: a,
        });
      }
      let f = e.message;
      if (
        (n &&
          (f = Er({
            callsite: n,
            originalMethod: r,
            isPanic: e.isPanic,
            showColors: this.client._errorFormat === "pretty",
            message: f,
          })),
        (f = this.sanitizeMessage(f)),
        e.code)
      ) {
        let v = s ? { modelName: s, ...e.meta } : e.meta;
        throw new X(f, {
          code: e.code,
          clientVersion: this.client._clientVersion,
          meta: v,
          batchRequestIdx: e.batchRequestIdx,
        });
      } else {
        if (e.isPanic) throw new Te(f, this.client._clientVersion);
        if (e instanceof Q)
          throw new Q(f, {
            clientVersion: this.client._clientVersion,
            batchRequestIdx: e.batchRequestIdx,
          });
        if (e instanceof M) throw new M(f, this.client._clientVersion);
        if (e instanceof Te) throw new Te(f, this.client._clientVersion);
      }
      throw ((e.clientVersion = this.client._clientVersion), e);
    }
    sanitizeMessage(e) {
      return this.client._errorFormat && this.client._errorFormat !== "pretty"
        ? dn(e)
        : e;
    }
    unpack(e, r, n) {
      if (!e || (e.data && (e = e.data), !e)) return e;
      let i = Object.keys(e)[0],
        o = Object.values(e)[0],
        s = r.filter((v) => v !== "select" && v !== "include"),
        a = In(o, s),
        f = i === "queryRaw" ? Gr(a) : lt(a);
      return n ? n(f) : f;
    }
    get [Symbol.toStringTag]() {
      return "RequestHandler";
    }
  };
function Uu(t) {
  if (t) {
    if (t.kind === "batch")
      return { kind: "batch", options: { isolationLevel: t.isolationLevel } };
    if (t.kind === "itx") return { kind: "itx", options: vs(t) };
    Fe(t, "Unknown transaction kind");
  }
}
function vs(t) {
  return { id: t.id, payload: t.payload };
}
function qu(t, e) {
  return jr(t) && e?.kind === "batch" && t.batchRequestIdx !== e.index;
}
function Vu(t) {
  return t.code === "P2009" || t.code === "P2012";
}
function Rs(t) {
  if (t.kind === "Union") return { kind: "Union", errors: t.errors.map(Rs) };
  if (Array.isArray(t.selectionPath)) {
    let [, ...e] = t.selectionPath;
    return { ...t, selectionPath: e };
  }
  return t;
}
u();
c();
p();
m();
d();
l();
var As = Ho;
u();
c();
p();
m();
d();
l();
var Os = bt(hn());
u();
c();
p();
m();
d();
l();
var F = class extends Error {
  constructor(e) {
    (super(
      e +
        `
Read more at https://pris.ly/d/client-constructor`,
    ),
      (this.name = "PrismaClientConstructorValidationError"));
  }
  get [Symbol.toStringTag]() {
    return "PrismaClientConstructorValidationError";
  }
};
O(F, "PrismaClientConstructorValidationError");
var Cs = [
    "datasources",
    "datasourceUrl",
    "errorFormat",
    "adapter",
    "log",
    "transactionOptions",
    "omit",
    "__internal",
  ],
  Ss = ["pretty", "colorless", "minimal"],
  Is = ["info", "query", "warn", "error"],
  Bu = {
    datasources: (t, { datasourceNames: e }) => {
      if (t) {
        if (typeof t != "object" || Array.isArray(t))
          throw new F(
            `Invalid value ${JSON.stringify(t)} for "datasources" provided to PrismaClient constructor`,
          );
        for (let [r, n] of Object.entries(t)) {
          if (!e.includes(r)) {
            let i = gt(r, e) || ` Available datasources: ${e.join(", ")}`;
            throw new F(
              `Unknown datasource ${r} provided to PrismaClient constructor.${i}`,
            );
          }
          if (typeof n != "object" || Array.isArray(n))
            throw new F(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor.
It should have this form: { url: "CONNECTION_STRING" }`);
          if (n && typeof n == "object")
            for (let [i, o] of Object.entries(n)) {
              if (i !== "url")
                throw new F(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor.
It should have this form: { url: "CONNECTION_STRING" }`);
              if (typeof o != "string")
                throw new F(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor.
It should have this form: { url: "CONNECTION_STRING" }`);
            }
        }
      }
    },
    adapter: (t, e) => {
      if (!t && Je(e.generator) === "client")
        throw new F(
          'Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.',
        );
      if (t !== null) {
        if (t === void 0)
          throw new F(
            '"adapter" property must not be undefined, use null to conditionally disable driver adapters.',
          );
        if (Je(e.generator) === "binary")
          throw new F(
            'Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.',
          );
      }
    },
    datasourceUrl: (t) => {
      if (typeof t < "u" && typeof t != "string")
        throw new F(`Invalid value ${JSON.stringify(t)} for "datasourceUrl" provided to PrismaClient constructor.
Expected string or undefined.`);
    },
    errorFormat: (t) => {
      if (t) {
        if (typeof t != "string")
          throw new F(
            `Invalid value ${JSON.stringify(t)} for "errorFormat" provided to PrismaClient constructor.`,
          );
        if (!Ss.includes(t)) {
          let e = gt(t, Ss);
          throw new F(
            `Invalid errorFormat ${t} provided to PrismaClient constructor.${e}`,
          );
        }
      }
    },
    log: (t) => {
      if (!t) return;
      if (!Array.isArray(t))
        throw new F(
          `Invalid value ${JSON.stringify(t)} for "log" provided to PrismaClient constructor.`,
        );
      function e(r) {
        if (typeof r == "string" && !Is.includes(r)) {
          let n = gt(r, Is);
          throw new F(
            `Invalid log level "${r}" provided to PrismaClient constructor.${n}`,
          );
        }
      }
      for (let r of t) {
        e(r);
        let n = {
          level: e,
          emit: (i) => {
            let o = ["stdout", "event"];
            if (!o.includes(i)) {
              let s = gt(i, o);
              throw new F(
                `Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`,
              );
            }
          },
        };
        if (r && typeof r == "object")
          for (let [i, o] of Object.entries(r))
            if (n[i]) n[i](o);
            else
              throw new F(
                `Invalid property ${i} for "log" provided to PrismaClient constructor`,
              );
      }
    },
    transactionOptions: (t) => {
      if (!t) return;
      let e = t.maxWait;
      if (e != null && e <= 0)
        throw new F(
          `Invalid value ${e} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`,
        );
      let r = t.timeout;
      if (r != null && r <= 0)
        throw new F(
          `Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`,
        );
    },
    omit: (t, e) => {
      if (typeof t != "object")
        throw new F('"omit" option is expected to be an object.');
      if (t === null) throw new F('"omit" option can not be `null`');
      let r = [];
      for (let [n, i] of Object.entries(t)) {
        let o = ju(n, e.runtimeDataModel);
        if (!o) {
          r.push({ kind: "UnknownModel", modelKey: n });
          continue;
        }
        for (let [s, a] of Object.entries(i)) {
          let f = o.fields.find((v) => v.name === s);
          if (!f) {
            r.push({ kind: "UnknownField", modelKey: n, fieldName: s });
            continue;
          }
          if (f.relationName) {
            r.push({ kind: "RelationInOmit", modelKey: n, fieldName: s });
            continue;
          }
          typeof a != "boolean" &&
            r.push({ kind: "InvalidFieldValue", modelKey: n, fieldName: s });
        }
      }
      if (r.length > 0) throw new F(Qu(t, r));
    },
    __internal: (t) => {
      if (!t) return;
      let e = ["debug", "engine", "configOverride"];
      if (typeof t != "object")
        throw new F(
          `Invalid value ${JSON.stringify(t)} for "__internal" to PrismaClient constructor`,
        );
      for (let [r] of Object.entries(t))
        if (!e.includes(r)) {
          let n = gt(r, e);
          throw new F(
            `Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`,
          );
        }
    },
  };
function ks(t, e) {
  for (let [r, n] of Object.entries(t)) {
    if (!Cs.includes(r)) {
      let i = gt(r, Cs);
      throw new F(
        `Unknown property ${r} provided to PrismaClient constructor.${i}`,
      );
    }
    Bu[r](n, e);
  }
  if (t.datasourceUrl && t.datasources)
    throw new F(
      'Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them',
    );
}
function gt(t, e) {
  if (e.length === 0 || typeof t != "string") return "";
  let r = $u(t, e);
  return r ? ` Did you mean "${r}"?` : "";
}
function $u(t, e) {
  if (e.length === 0) return null;
  let r = e.map((i) => ({ value: i, distance: (0, Os.default)(t, i) }));
  r.sort((i, o) => (i.distance < o.distance ? -1 : 1));
  let n = r[0];
  return n.distance < 3 ? n.value : null;
}
function ju(t, e) {
  return Ds(e.models, t) ?? Ds(e.types, t);
}
function Ds(t, e) {
  let r = Object.keys(t).find((n) => Ce(n) === e);
  if (r) return t[r];
}
function Qu(t, e) {
  let r = tt(t);
  for (let o of e)
    switch (o.kind) {
      case "UnknownModel":
        (r.arguments.getField(o.modelKey)?.markAsError(),
          r.addErrorMessage(() => `Unknown model name: ${o.modelKey}.`));
        break;
      case "UnknownField":
        (r.arguments.getDeepField([o.modelKey, o.fieldName])?.markAsError(),
          r.addErrorMessage(
            () =>
              `Model "${o.modelKey}" does not have a field named "${o.fieldName}".`,
          ));
        break;
      case "RelationInOmit":
        (r.arguments.getDeepField([o.modelKey, o.fieldName])?.markAsError(),
          r.addErrorMessage(
            () =>
              'Relations are already excluded by default and can not be specified in "omit".',
          ));
        break;
      case "InvalidFieldValue":
        (r.arguments
          .getDeepFieldValue([o.modelKey, o.fieldName])
          ?.markAsError(),
          r.addErrorMessage(
            () => "Omit field option value must be a boolean.",
          ));
        break;
    }
  let { message: n, args: i } = Sr(r, "colorless");
  return `Error validating "omit" option:

${i}

${n}`;
}
u();
c();
p();
m();
d();
l();
function _s(t) {
  return t.length === 0
    ? Promise.resolve([])
    : new Promise((e, r) => {
        let n = new Array(t.length),
          i = null,
          o = !1,
          s = 0,
          a = () => {
            o || (s++, s === t.length && ((o = !0), i ? r(i) : e(n)));
          },
          f = (v) => {
            o || ((o = !0), r(v));
          };
        for (let v = 0; v < t.length; v++)
          t[v].then(
            (R) => {
              ((n[v] = R), a());
            },
            (R) => {
              if (!jr(R)) {
                f(R);
                return;
              }
              R.batchRequestIdx === v ? f(R) : (i || (i = R), a());
            },
          );
      });
}
var De = j("prisma:client");
typeof globalThis == "object" && (globalThis.NODE_CLIENT = !0);
var Gu = {
    requestArgsToMiddlewareArgs: (t) => t,
    middlewareArgsToRequestArgs: (t) => t,
  },
  Ju = Symbol.for("prisma.client.transaction.id"),
  Wu = {
    id: 0,
    nextId() {
      return ++this.id;
    },
  };
function Fs(t) {
  class e {
    _originalClient = this;
    _runtimeDataModel;
    _requestHandler;
    _connectionPromise;
    _disconnectionPromise;
    _engineConfig;
    _accelerateEngineConfig;
    _clientVersion;
    _errorFormat;
    _tracingHelper;
    _previewFeatures;
    _activeProvider;
    _globalOmit;
    _extensions;
    _engine;
    _appliedParent;
    _createPrismaPromise = Gn();
    constructor(n) {
      ((t = n?.__internal?.configOverride?.(t) ?? t), Jo(t), n && ks(n, t));
      let i = new Fr().on("error", () => {});
      ((this._extensions = rt.empty()),
        (this._previewFeatures = us(t)),
        (this._clientVersion = t.clientVersion ?? As),
        (this._activeProvider = t.activeProvider),
        (this._globalOmit = n?.omit),
        (this._tracingHelper = ws()));
      let o = t.relativeEnvPaths && {
          rootEnvPath:
            t.relativeEnvPaths.rootEnvPath &&
            cr.resolve(t.dirname, t.relativeEnvPaths.rootEnvPath),
          schemaEnvPath:
            t.relativeEnvPaths.schemaEnvPath &&
            cr.resolve(t.dirname, t.relativeEnvPaths.schemaEnvPath),
        },
        s;
      if (n?.adapter) {
        s = n.adapter;
        let f =
          t.activeProvider === "postgresql" ||
          t.activeProvider === "cockroachdb"
            ? "postgres"
            : t.activeProvider;
        if (s.provider !== f)
          throw new M(
            `The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,
            this._clientVersion,
          );
        if (n.datasources || n.datasourceUrl !== void 0)
          throw new M(
            "Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",
            this._clientVersion,
          );
      }
      let a = t.injectableEdgeEnv?.();
      try {
        let f = n ?? {},
          v = f.__internal ?? {},
          R = v.debug === !0;
        R && j.enable("prisma:client");
        let A = cr.resolve(t.dirname, t.relativePath);
        (Pi.existsSync(A) || (A = t.dirname),
          De("dirname", t.dirname),
          De("relativePath", t.relativePath),
          De("cwd", A));
        let I = v.engine || {};
        if (
          (f.errorFormat
            ? (this._errorFormat = f.errorFormat)
            : g.env.NODE_ENV === "production"
              ? (this._errorFormat = "minimal")
              : g.env.NO_COLOR
                ? (this._errorFormat = "colorless")
                : (this._errorFormat = "colorless"),
          (this._runtimeDataModel = t.runtimeDataModel),
          (this._engineConfig = {
            cwd: A,
            dirname: t.dirname,
            enableDebugLogs: R,
            allowTriggerPanic: I.allowTriggerPanic,
            prismaPath: I.binaryPath ?? void 0,
            engineEndpoint: I.endpoint,
            generator: t.generator,
            showColors: this._errorFormat === "pretty",
            logLevel: f.log && Ps(f.log),
            logQueries:
              f.log &&
              !!(typeof f.log == "string"
                ? f.log === "query"
                : f.log.find((C) =>
                    typeof C == "string" ? C === "query" : C.level === "query",
                  )),
            env: a?.parsed ?? {},
            flags: [],
            engineWasm: t.engineWasm,
            compilerWasm: t.compilerWasm,
            clientVersion: t.clientVersion,
            engineVersion: t.engineVersion,
            previewFeatures: this._previewFeatures,
            activeProvider: t.activeProvider,
            inlineSchema: t.inlineSchema,
            overrideDatasources: Wo(f, t.datasourceNames),
            inlineDatasources: t.inlineDatasources,
            inlineSchemaHash: t.inlineSchemaHash,
            tracingHelper: this._tracingHelper,
            transactionOptions: {
              maxWait: f.transactionOptions?.maxWait ?? 2e3,
              timeout: f.transactionOptions?.timeout ?? 5e3,
              isolationLevel: f.transactionOptions?.isolationLevel,
            },
            logEmitter: i,
            isBundled: t.isBundled,
            adapter: s,
          }),
          (this._accelerateEngineConfig = {
            ...this._engineConfig,
            accelerateUtils: {
              resolveDatasourceUrl: ct,
              getBatchRequestPayload: ot,
              prismaGraphQLToJSError: st,
              PrismaClientUnknownRequestError: Q,
              PrismaClientInitializationError: M,
              PrismaClientKnownRequestError: X,
              debug: j("prisma:client:accelerateEngine"),
              engineVersion: Ls.version,
              clientVersion: t.clientVersion,
            },
          }),
          De("clientVersion", t.clientVersion),
          (this._engine = ls(t, this._engineConfig)),
          (this._requestHandler = new Jr(this, i)),
          f.log)
        )
          for (let C of f.log) {
            let L =
              typeof C == "string" ? C : C.emit === "stdout" ? C.level : null;
            L &&
              this.$on(L, (D) => {
                Pt.log(`${Pt.tags[L] ?? ""}`, D.message || D.query);
              });
          }
      } catch (f) {
        throw ((f.clientVersion = this._clientVersion), f);
      }
      return (this._appliedParent = Ut(this));
    }
    get [Symbol.toStringTag]() {
      return "PrismaClient";
    }
    $on(n, i) {
      return (
        n === "beforeExit"
          ? this._engine.onBeforeExit(i)
          : n && this._engineConfig.logEmitter.on(n, i),
        this
      );
    }
    $connect() {
      try {
        return this._engine.start();
      } catch (n) {
        throw ((n.clientVersion = this._clientVersion), n);
      }
    }
    async $disconnect() {
      try {
        await this._engine.stop();
      } catch (n) {
        throw ((n.clientVersion = this._clientVersion), n);
      } finally {
        xi();
      }
    }
    $executeRawInternal(n, i, o, s) {
      let a = this._activeProvider;
      return this._request({
        action: "executeRaw",
        args: o,
        transaction: n,
        clientMethod: i,
        argsMapper: Qn({ clientMethod: i, activeProvider: a }),
        callsite: Ie(this._errorFormat),
        dataPath: [],
        middlewareArgsMapper: s,
      });
    }
    $executeRaw(n, ...i) {
      return this._createPrismaPromise((o) => {
        if (n.raw !== void 0 || n.sql !== void 0) {
          let [s, a] = Ms(n, i);
          return (
            jn(
              this._activeProvider,
              s.text,
              s.values,
              Array.isArray(n)
                ? "prisma.$executeRaw`<SQL>`"
                : "prisma.$executeRaw(sql`<SQL>`)",
            ),
            this.$executeRawInternal(o, "$executeRaw", s, a)
          );
        }
        throw new Y(
          "`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",
          { clientVersion: this._clientVersion },
        );
      });
    }
    $executeRawUnsafe(n, ...i) {
      return this._createPrismaPromise(
        (o) => (
          jn(
            this._activeProvider,
            n,
            i,
            "prisma.$executeRawUnsafe(<SQL>, [...values])",
          ),
          this.$executeRawInternal(o, "$executeRawUnsafe", [n, ...i])
        ),
      );
    }
    $runCommandRaw(n) {
      if (t.activeProvider !== "mongodb")
        throw new Y(
          `The ${t.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,
          { clientVersion: this._clientVersion },
        );
      return this._createPrismaPromise((i) =>
        this._request({
          args: n,
          clientMethod: "$runCommandRaw",
          dataPath: [],
          action: "runCommandRaw",
          argsMapper: cs,
          callsite: Ie(this._errorFormat),
          transaction: i,
        }),
      );
    }
    async $queryRawInternal(n, i, o, s) {
      let a = this._activeProvider;
      return this._request({
        action: "queryRaw",
        args: o,
        transaction: n,
        clientMethod: i,
        argsMapper: Qn({ clientMethod: i, activeProvider: a }),
        callsite: Ie(this._errorFormat),
        dataPath: [],
        middlewareArgsMapper: s,
      });
    }
    $queryRaw(n, ...i) {
      return this._createPrismaPromise((o) => {
        if (n.raw !== void 0 || n.sql !== void 0)
          return this.$queryRawInternal(o, "$queryRaw", ...Ms(n, i));
        throw new Y(
          "`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",
          { clientVersion: this._clientVersion },
        );
      });
    }
    $queryRawTyped(n) {
      return this._createPrismaPromise((i) => {
        if (!this._hasPreviewFlag("typedSql"))
          throw new Y(
            "`typedSql` preview feature must be enabled in order to access $queryRawTyped API",
            { clientVersion: this._clientVersion },
          );
        return this.$queryRawInternal(i, "$queryRawTyped", n);
      });
    }
    $queryRawUnsafe(n, ...i) {
      return this._createPrismaPromise((o) =>
        this.$queryRawInternal(o, "$queryRawUnsafe", [n, ...i]),
      );
    }
    _transactionWithArray({ promises: n, options: i }) {
      let o = Wu.nextId(),
        s = xs(n.length),
        a = n.map((f, v) => {
          if (f?.[Symbol.toStringTag] !== "PrismaPromise")
            throw new Error(
              "All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.",
            );
          let R =
              i?.isolationLevel ??
              this._engineConfig.transactionOptions.isolationLevel,
            A = { kind: "batch", id: o, index: v, isolationLevel: R, lock: s };
          return f.requestTransaction?.(A) ?? f;
        });
      return _s(a);
    }
    async _transactionWithCallback({ callback: n, options: i }) {
      let o = { traceparent: this._tracingHelper.getTraceParent() },
        s = {
          maxWait: i?.maxWait ?? this._engineConfig.transactionOptions.maxWait,
          timeout: i?.timeout ?? this._engineConfig.transactionOptions.timeout,
          isolationLevel:
            i?.isolationLevel ??
            this._engineConfig.transactionOptions.isolationLevel,
        },
        a = await this._engine.transaction("start", o, s),
        f;
      try {
        let v = { kind: "itx", ...a };
        ((f = await n(this._createItxClient(v))),
          await this._engine.transaction("commit", o, a));
      } catch (v) {
        throw (
          await this._engine.transaction("rollback", o, a).catch(() => {}),
          v
        );
      }
      return f;
    }
    _createItxClient(n) {
      return ce(
        Ut(
          ce(Oo(this), [
            Z("_appliedParent", () => this._appliedParent._createItxClient(n)),
            Z("_createPrismaPromise", () => Gn(n)),
            Z(Ju, () => n.id),
          ]),
        ),
        [it(Fo)],
      );
    }
    $transaction(n, i) {
      let o;
      typeof n == "function"
        ? this._engineConfig.adapter?.adapterName === "@prisma/adapter-d1"
          ? (o = () => {
              throw new Error(
                "Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.",
              );
            })
          : (o = () =>
              this._transactionWithCallback({ callback: n, options: i }))
        : (o = () => this._transactionWithArray({ promises: n, options: i }));
      let s = { name: "transaction", attributes: { method: "$transaction" } };
      return this._tracingHelper.runInChildSpan(s, o);
    }
    _request(n) {
      n.otelParentCtx = this._tracingHelper.getActiveContext();
      let i = n.middlewareArgsMapper ?? Gu,
        o = {
          args: i.requestArgsToMiddlewareArgs(n.args),
          dataPath: n.dataPath,
          runInTransaction: !!n.transaction,
          action: n.action,
          model: n.model,
        },
        s = {
          operation: {
            name: "operation",
            attributes: {
              method: o.action,
              model: o.model,
              name: o.model ? `${o.model}.${o.action}` : o.action,
            },
          },
        },
        a = async (f) => {
          let { runInTransaction: v, args: R, ...A } = f,
            I = { ...n, ...A };
          (R && (I.args = i.middlewareArgsToRequestArgs(R)),
            n.transaction !== void 0 && v === !1 && delete I.transaction);
          let C = await Vo(this, I);
          return I.model
            ? Lo({
                result: C,
                modelName: I.model,
                args: I.args,
                extensions: this._extensions,
                runtimeDataModel: this._runtimeDataModel,
                globalOmit: this._globalOmit,
              })
            : C;
        };
      return this._tracingHelper.runInChildSpan(s.operation, () => a(o));
    }
    async _executeRequest({
      args: n,
      clientMethod: i,
      dataPath: o,
      callsite: s,
      action: a,
      model: f,
      argsMapper: v,
      transaction: R,
      unpacker: A,
      otelParentCtx: I,
      customDataProxyFetch: C,
    }) {
      try {
        n = v ? v(n) : n;
        let L = { name: "serialize" },
          D = this._tracingHelper.runInChildSpan(L, () =>
            _r({
              modelName: f,
              runtimeDataModel: this._runtimeDataModel,
              action: a,
              args: n,
              clientMethod: i,
              callsite: s,
              extensions: this._extensions,
              errorFormat: this._errorFormat,
              clientVersion: this._clientVersion,
              previewFeatures: this._previewFeatures,
              globalOmit: this._globalOmit,
            }),
          );
        return (
          j.enabled("prisma:client") &&
            (De("Prisma Client call:"),
            De(`prisma.${i}(${xo(n)})`),
            De("Generated request:"),
            De(
              JSON.stringify(D, null, 2) +
                `
`,
            )),
          R?.kind === "batch" && (await R.lock),
          this._requestHandler.request({
            protocolQuery: D,
            modelName: f,
            action: a,
            clientMethod: i,
            dataPath: o,
            callsite: s,
            args: n,
            extensions: this._extensions,
            transaction: R,
            unpacker: A,
            otelParentCtx: I,
            otelChildCtx: this._tracingHelper.getActiveContext(),
            globalOmit: this._globalOmit,
            customDataProxyFetch: C,
          })
        );
      } catch (L) {
        throw ((L.clientVersion = this._clientVersion), L);
      }
    }
    $metrics = new nt(this);
    _hasPreviewFlag(n) {
      return !!this._engineConfig.previewFeatures?.includes(n);
    }
    $applyPendingMigrations() {
      return this._engine.applyPendingMigrations();
    }
    $extends = ko;
  }
  return e;
}
function Ms(t, e) {
  return Ku(t) ? [new ne(t, e), hs] : [t, bs];
}
function Ku(t) {
  return Array.isArray(t) && Array.isArray(t.raw);
}
u();
c();
p();
m();
d();
l();
var Hu = new Set([
  "toJSON",
  "$$typeof",
  "asymmetricMatch",
  Symbol.iterator,
  Symbol.toStringTag,
  Symbol.isConcatSpreadable,
  Symbol.toPrimitive,
]);
function Ns(t) {
  return new Proxy(t, {
    get(e, r) {
      if (r in e) return e[r];
      if (!Hu.has(r)) throw new TypeError(`Invalid enum value: ${String(r)}`);
    },
  });
}
u();
c();
p();
m();
d();
l();
l();
0 &&
  (module.exports = {
    DMMF,
    Debug,
    Decimal,
    Extensions,
    MetricsClient,
    PrismaClientInitializationError,
    PrismaClientKnownRequestError,
    PrismaClientRustPanicError,
    PrismaClientUnknownRequestError,
    PrismaClientValidationError,
    Public,
    Sql,
    createParam,
    defineDmmfProperty,
    deserializeJsonResponse,
    deserializeRawResult,
    dmmfToRuntimeDataModel,
    empty,
    getPrismaClient,
    getRuntime,
    join,
    makeStrictEnum,
    makeTypedQueryFactory,
    objectEnumValues,
    raw,
    serializeJsonQuery,
    skip,
    sqltag,
    warnEnvConflicts,
    warnOnce,
  });
//# sourceMappingURL=wasm-engine-edge.js.map
