"use strict"; const { URL: F, URLSearchParams: M, [Symbol.for("Bun.lazy")]: S } = globalThis; function it(s) { return typeof s == "string"; } function D(s) { return typeof s == "object" && s !== null; } function I(s) { return s === null; } function E(s) { return s == null; } function ft(s) { return s === void 0; } function m() { (this.protocol = null), (this.slashes = null), (this.auth = null), (this.host = null), (this.port = null), (this.hostname = null), (this.hash = null), (this.search = null), (this.query = null), (this.pathname = null), (this.path = null), (this.href = null); } var tt = /^([a-z0-9.+-]+:)/i, st = /:[0-9]*$/, ht = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, et = [ "<", ">", '"', "`", " ", "\r", ` `, " ", ], rt = ["{", "}", "|", "\\", "^", "`"].concat(et), B = ["'"].concat(rt), G = ["%", "/", "?", ";", "#"].concat(B), J = ["/", "?", "#"], ot = 255, K = /^[+a-z0-9A-Z_-]{0,63}$/, at = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, nt = { javascript: !0, "javascript:": !0 }, N = { javascript: !0, "javascript:": !0 }, R = { http: !0, https: !0, ftp: !0, gopher: !0, file: !0, "http:": !0, "https:": !0, "ftp:": !0, "gopher:": !0, "file:": !0, }, Z = { parse(s) { var r = decodeURIComponent; return (s + "") .replace(/\+/g, " ") .split("&") .filter(Boolean) .reduce(function (t, o, a) { var l = o.split("="), f = r(l[0] || ""), h = r(l[1] || ""), g = t[f]; return (t[f] = g === void 0 ? h : [].concat(g, h)), t; }, {}); }, stringify(s) { var r = encodeURIComponent; return Object.keys(s || {}) .reduce(function (t, o) { return ( [].concat(s[o]).forEach(function (a) { t.push(r(o) + "=" + r(a)); }), t ); }, []) .join("&") .replace(/\s/g, "+"); }, }; function A(s, r, t) { if (s && D(s) && s instanceof m) return s; var o = new m(); return o.parse(s, r, t), o; } m.prototype.parse = function (s, r, t) { if (!it(s)) throw new TypeError("Parameter 'url' must be a string, not " + typeof s); var o = s.indexOf("?"), a = o !== -1 && o < s.indexOf("#") ? "?" : "#", l = s.split(a), f = /\\/g; (l[0] = l[0].replace(f, "/")), (s = l.join(a)); var h = s; if (((h = h.trim()), !t && s.split("#").length === 1)) { var g = ht.exec(h); if (g) return ( (this.path = h), (this.href = h), (this.pathname = g[1]), g[2] ? ((this.search = g[2]), r ? (this.query = Z.parse(this.search.substr(1))) : (this.query = this.search.substr(1))) : r && ((this.search = ""), (this.query = {})), this ); } var c = tt.exec(h); if (c) { c = c[0]; var v = c.toLowerCase(); (this.protocol = v), (h = h.substr(c.length)); } if (t || c || h.match(/^\/\/[^@\/]+@[^@\/]+/)) { var j = h.substr(0, 2) === "//"; j && !(c && N[c]) && ((h = h.substr(2)), (this.slashes = !0)); } if (!N[c] && (j || (c && !R[c]))) { for (var u = -1, n = 0; n < J.length; n++) { var b = h.indexOf(J[n]); b !== -1 && (u === -1 || b < u) && (u = b); } var P, p; u === -1 ? (p = h.lastIndexOf("@")) : (p = h.lastIndexOf("@", u)), p !== -1 && ((P = h.slice(0, p)), (h = h.slice(p + 1)), (this.auth = decodeURIComponent(P))), (u = -1); for (var n = 0; n < G.length; n++) { var b = h.indexOf(G[n]); b !== -1 && (u === -1 || b < u) && (u = b); } u === -1 && (u = h.length), (this.host = h.slice(0, u)), (h = h.slice(u)), this.parseHost(), (this.hostname = this.hostname || ""); var C = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]"; if (!C) for (var e = this.hostname.split(/\./), n = 0, i = e.length; n < i; n++) { var d = e[n]; if (!!d && !d.match(K)) { for (var y = "", x = 0, _ = d.length; x < _; x++) d.charCodeAt(x) > 127 ? (y += "x") : (y += d[x]); if (!y.match(K)) { var q = e.slice(0, n), O = e.slice(n + 1), U = d.match(at); U && (q.push(U[1]), O.unshift(U[2])), O.length && (h = "/" + O.join(".") + h), (this.hostname = q.join(".")); break; } } } this.hostname.length > ot ? (this.hostname = "") : (this.hostname = this.hostname.toLowerCase()), C || (this.hostname = new F(`https://${this.hostname}`).hostname); var w = this.port ? ":" + this.port : "", H = this.hostname || ""; (this.host = H + w), (this.href += this.host), C && ((this.hostname = this.hostname.substr(1, this.hostname.length - 2)), h[0] !== "/" && (h = "/" + h)); } if (!nt[v]) for (var n = 0, i = B.length; n < i; n++) { var L = B[n]; if (h.indexOf(L) !== -1) { var z = encodeURIComponent(L); z === L && (z = escape(L)), (h = h.split(L).join(z)); } } var $ = h.indexOf("#"); $ !== -1 && ((this.hash = h.substr($)), (h = h.slice(0, $))); var T = h.indexOf("?"); if ( (T !== -1 ? ((this.search = h.substr(T)), (this.query = h.substr(T + 1)), r && (this.query = Z.parse(this.query)), (h = h.slice(0, T))) : r && ((this.search = ""), (this.query = {})), h && (this.pathname = h), R[v] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) ) { var w = this.pathname || "", Q = this.search || ""; this.path = w + Q; } return (this.href = this.format()), this; }; function V(s) { return ( it(s) && (s = A(s)), s instanceof m ? s.format() : m.prototype.format.call(s) ); } m.prototype.format = function () { var s = this.auth || ""; s && ((s = encodeURIComponent(s)), (s = s.replace(/%3A/i, ":")), (s += "@")); var r = this.protocol || "", t = this.pathname || "", o = this.hash || "", a = !1, l = ""; this.host ? (a = s + this.host) : this.hostname && ((a = s + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]")), this.port && (a += ":" + this.port)), this.query && D(this.query) && Object.keys(this.query).length && (l = Z.stringify(this.query)); var f = this.search || (l && "?" + l) || ""; return ( r && r.substr(-1) !== ":" && (r += ":"), this.slashes || ((!r || R[r]) && a !== !1) ? ((a = "//" + (a || "")), t && t.charAt(0) !== "/" && (t = "/" + t)) : a || (a = ""), o && o.charAt(0) !== "#" && (o = "#" + o), f && f.charAt(0) !== "?" && (f = "?" + f), (t = t.replace(/[?#]/g, function (h) { return encodeURIComponent(h); })), (f = f.replace("#", "%23")), r + a + t + f + o ); }; function W(s, r) { return A(s, !1, !0).resolve(r); } m.prototype.resolve = function (s) { return this.resolveObject(A(s, !1, !0)).format(); }; function X(s, r) { return s ? A(s, !1, !0).resolveObject(r) : r; } (m.prototype.resolveObject = function (s) { if (it(s)) { var r = new m(); r.parse(s, !1, !0), (s = r); } for (var t = new m(), o = Object.keys(this), a = 0; a < o.length; a++) { var l = o[a]; t[l] = this[l]; } if (((t.hash = s.hash), s.href === "")) return (t.href = t.format()), t; if (s.slashes && !s.protocol) { for (var f = Object.keys(s), h = 0; h < f.length; h++) { var g = f[h]; g !== "protocol" && (t[g] = s[g]); } return ( R[t.protocol] && t.hostname && !t.pathname && (t.path = t.pathname = "/"), (t.href = t.format()), t ); } if (s.protocol && s.protocol !== t.protocol) { if (!R[s.protocol]) { for (var c = Object.keys(s), v = 0; v < c.length; v++) { var j = c[v]; t[j] = s[j]; } return (t.href = t.format()), t; } if (((t.protocol = s.protocol), !s.host && !N[s.protocol])) { for ( var i = (s.pathname || "").split("/"); i.length && !(s.host = i.shift()); ); s.host || (s.host = ""), s.hostname || (s.hostname = ""), i[0] !== "" && i.unshift(""), i.length < 2 && i.unshift(""), (t.pathname = i.join("/")); } else t.pathname = s.pathname; if ( ((t.search = s.search), (t.query = s.query), (t.host = s.host || ""), (t.auth = s.auth), (t.hostname = s.hostname || s.host), (t.port = s.port), t.pathname || t.search) ) { var u = t.pathname || "", n = t.search || ""; t.path = u + n; } return (t.slashes = t.slashes || s.slashes), (t.href = t.format()), t; } var b = t.pathname && t.pathname.charAt(0) === "/", P = s.host || (s.pathname && s.pathname.charAt(0) === "/"), p = P || b || (t.host && s.pathname), C = p, e = (t.pathname && t.pathname.split("/")) || [], i = (s.pathname && s.pathname.split("/")) || [], d = t.protocol && !R[t.protocol]; if ( (d && ((t.hostname = ""), (t.port = null), t.host && (e[0] === "" ? (e[0] = t.host) : e.unshift(t.host)), (t.host = ""), s.protocol && ((s.hostname = null), (s.port = null), s.host && (i[0] === "" ? (i[0] = s.host) : i.unshift(s.host)), (s.host = null)), (p = p && (i[0] === "" || e[0] === ""))), P) ) (t.host = s.host || s.host === "" ? s.host : t.host), (t.hostname = s.hostname || s.hostname === "" ? s.hostname : t.hostname), (t.search = s.search), (t.query = s.query), (e = i); else if (i.length) e || (e = []), e.pop(), (e = e.concat(i)), (t.search = s.search), (t.query = s.query); else if (!E(s.search)) { if (d) { t.hostname = t.host = e.shift(); var y = t.host && t.host.indexOf("@") > 0 ? t.host.split("@") : !1; y && ((t.auth = y.shift()), (t.host = t.hostname = y.shift())); } return ( (t.search = s.search), (t.query = s.query), (!I(t.pathname) || !I(t.search)) && (t.path = (t.pathname ? t.pathname : "") + (t.search ? t.search : "")), (t.href = t.format()), t ); } if (!e.length) return ( (t.pathname = null), t.search ? (t.path = "/" + t.search) : (t.path = null), (t.href = t.format()), t ); for ( var x = e.slice(-1)[0], _ = ((t.host || s.host || e.length > 1) && (x === "." || x === "..")) || x === "", q = 0, O = e.length; O >= 0; O-- ) (x = e[O]), x === "." ? e.splice(O, 1) : x === ".." ? (e.splice(O, 1), q++) : q && (e.splice(O, 1), q--); if (!p && !C) for (; q--; q) e.unshift(".."); p && e[0] !== "" && (!e[0] || e[0].charAt(0) !== "/") && e.unshift(""), _ && e.join("/").substr(-1) !== "/" && e.push(""); var U = e[0] === "" || (e[0] && e[0].charAt(0) === "/"); if (d) { t.hostname = t.host = U ? "" : e.length ? e.shift() : ""; var y = t.host && t.host.indexOf("@") > 0 ? t.host.split("@") : !1; y && ((t.auth = y.shift()), (t.host = t.hostname = y.shift())); } return ( (p = p || (t.host && e.length)), p && !U && e.unshift(""), e.length ? (t.pathname = e.join("/")) : ((t.pathname = null), (t.path = null)), (!I(t.pathname) || !I(t.search)) && (t.path = (t.pathname ? t.pathname : "") + (t.search ? t.search : "")), (t.auth = s.auth || t.auth), (t.slashes = t.slashes || s.slashes), (t.href = t.format()), t ); }), (m.prototype.parseHost = function () { var s = this.host, r = st.exec(s); r && ((r = r[0]), r !== ":" && (this.port = r.substr(1)), (s = s.substr(0, s.length - r.length))), s && (this.hostname = s); }); var Y, k; S && ((Y = S("pathToFileURL")), (k = S("fileURLToPath"))); var ut = { parse: A, resolve: W, resolveObject: X, format: V, Url: m, pathToFileURL: Y, fileURLToPath: k, URL: F, URLSearchParams: M, }; ("use strict"); export { F as URL, M as URLSearchParams, m as Url, ut as default, k as fileURLToPath, V as format, A as parse, Y as pathToFileURL, W as resolve, X as resolveObject, };