@tktb-tess/util-fns 0.12.2 → 0.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region lib/async_worker.ts
|
|
2
|
+
var e = class {
|
|
3
|
+
#e;
|
|
4
|
+
constructor(e) {
|
|
5
|
+
this.#e = e;
|
|
6
|
+
}
|
|
7
|
+
postMessage = (e, t) => new Promise((n, r) => {
|
|
8
|
+
let i = crypto.randomUUID(), a = (e) => {
|
|
9
|
+
let t = e.data;
|
|
10
|
+
t.id === i && (this.#e.removeEventListener("message", a), this.#e.removeEventListener("error", o), t.success ? n(t.value) : r(t.error));
|
|
11
|
+
}, o = (e) => {
|
|
12
|
+
this.#e.removeEventListener("message", a), this.#e.removeEventListener("error", o), r(e.error);
|
|
13
|
+
};
|
|
14
|
+
this.#e.addEventListener("message", a), this.#e.addEventListener("error", o);
|
|
15
|
+
let s = {
|
|
16
|
+
value: e,
|
|
17
|
+
id: i
|
|
18
|
+
};
|
|
19
|
+
this.#e.postMessage(s, t);
|
|
20
|
+
});
|
|
21
|
+
}, t = () => typeof window > "u" && typeof self < "u" && "importScripts" in self, n = (e, n) => {
|
|
22
|
+
if (!t()) throw Error("this function must be used in Worker");
|
|
23
|
+
let r = {
|
|
24
|
+
success: !0,
|
|
25
|
+
value: e,
|
|
26
|
+
id: n
|
|
27
|
+
};
|
|
28
|
+
self.postMessage(r);
|
|
29
|
+
}, r = (e, n) => {
|
|
30
|
+
if (!t()) throw Error("this function must be used in Worker");
|
|
31
|
+
let r = {
|
|
32
|
+
success: !1,
|
|
33
|
+
error: e,
|
|
34
|
+
id: n
|
|
35
|
+
};
|
|
36
|
+
self.postMessage(r);
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { r as n, n as r, e as t };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { t as e } from "./async_worker-Dj5tyPOJ.js";
|
|
2
|
+
//#region lib/bpsw_worker.ts?worker&inline
|
|
3
|
+
var t = "(function(){var e=(e,t)=>()=>(e&&(t=e(e=0)),t);let t=(e,t)=>{t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n},n=(e,n,r)=>{if(r<1n)throw RangeError(\"`mod` must be positive\");if(n<0n)throw RangeError(\"`power` must not be negative\");if(e=t(e,r),r===1n)return 0n;if(e%r===1n||e%r===0n)return e;if(e===r-1n)return n&1n?r-1n:1n;let i=1n;for(;n>0n;)n&1n&&(i=i*e%r),e=e*e%r,n>>=1n;return i},r=(e,t)=>{if(t<1n||t%2n==0n)throw RangeError(\"`n` is out of range\");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n},i=e=>{if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n};var a,o,s,c=e((()=>{a=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self,o=(e,t)=>{if(!a())throw Error(`this function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)},s=(e,t)=>{if(!a())throw Error(`this function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)}}));let l=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;let t=e-1n,r=0n;for(;t%2n==0n;)t>>=1n,r+=1n;let[i,a]=[t,r],o=n(2n,i,e);if(o===1n)return!0;for(let t=0n;t<a;t++){if(o===e-1n)return!0;o=o*o%e}return!1},u=e=>{let t=5n,n=r(t,e);for(;n>0n;){if(t=t>0n?t+2n:t-2n,t*=-1n,t===-15n&&i(e))return[0n,0n];n=r(t,e)}return[t,n]},d=(e,n)=>(e&1n)==1n?t(e+n>>1n,n):t(e>>1n,n),f=(e,n,r,i)=>{let a=1n,o=r,s=e.toString(2).slice(1);for(let e of s)[a,o]=[t(a*o,n),d(o*o+i*a*a,n)],e===`1`&&([a,o]=[d(r*a+o,n),d(i*a+r*o,n)]);return[a,o]},p=(e,r,i,a)=>{if(e%2n!=1n)throw RangeError(\"`n` must be odd\");let o=e+1n,s=0n;for(;o%2n==0n;)o>>=1n,s+=1n;let[c,l]=f(o,e,i,r),u=l;if(c===0n)return!0;a=n(a,o,e);for(let r=0n;r<s;r++){if(u===0n)return!0;u=t(u*u-2n*a,e),a=n(a,2n,e)}return!1},m=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n],h=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of m)if(e%t===0n)return e===t;if(!l(e))return!1;let[t,n]=u(e);return n===0n?!1:p(e,t,1n,(1n-t)/4n)};c(),globalThis.onmessage=e=>{let{value:t,id:n}=e.data;try{o(h(t),n)}catch(e){s(e,n)}}})();", n = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", t], { type: "text/javascript;charset=utf-8" });
|
|
4
|
+
function r(e) {
|
|
5
|
+
let r;
|
|
6
|
+
try {
|
|
7
|
+
if (r = n && (self.URL || self.webkitURL).createObjectURL(n), !r) throw "";
|
|
8
|
+
let t = new Worker(r, { name: e?.name });
|
|
9
|
+
return t.addEventListener("error", () => {
|
|
10
|
+
(self.URL || self.webkitURL).revokeObjectURL(r);
|
|
11
|
+
}), t;
|
|
12
|
+
} catch {
|
|
13
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(t), { name: e?.name });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region lib/bpsw_worker_wrap.ts
|
|
18
|
+
var i = new e(new r());
|
|
19
|
+
//#endregion
|
|
20
|
+
export { i as worker };
|
package/dist/bundle.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import { n as e, r as t, t as n } from "./async_worker-Dj5tyPOJ.js";
|
|
1
2
|
//#region lib/u8arr_ext.ts
|
|
2
|
-
var
|
|
3
|
+
var r = (e) => {
|
|
3
4
|
let t = Array.from(e, (e) => String.fromCharCode(e));
|
|
4
5
|
return btoa(t.join(""));
|
|
5
|
-
},
|
|
6
|
+
}, i = (e) => {
|
|
6
7
|
let t = atob(e);
|
|
7
8
|
return Uint8Array.from(t, (e) => e.charCodeAt(0));
|
|
8
|
-
},
|
|
9
|
-
let
|
|
10
|
-
return
|
|
11
|
-
},
|
|
9
|
+
}, a = (e) => r(e).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/, ""), o = (e) => {
|
|
10
|
+
let t = 4 - (e.length & 3) & 3;
|
|
11
|
+
return i(e.concat("=".repeat(t)).replaceAll("-", "+").replaceAll("_", "/"));
|
|
12
|
+
}, s = (e) => {
|
|
12
13
|
let t = Array.from(e, (e) => e.toString(16).padStart(2, "0")).join(""), n = (6 - t.length % 6) % 6, r = "0".repeat(n).concat(t).matchAll(/.{6}/g);
|
|
13
14
|
return Array.from(r, (e) => Number.parseInt(e[0], 16).toString(8).padStart(8, "0")).join("").replace(/^0+/, "");
|
|
14
|
-
},
|
|
15
|
+
}, c = (e) => {
|
|
15
16
|
let t = 8 - (e.length & 7) & 7, n = "0".repeat(t).concat(e).matchAll(/.{8}/g), r = Array.from(n, (e) => Number.parseInt(e[0], 8).toString(16).padStart(6, "0")).join("").matchAll(/.{2}/g);
|
|
16
17
|
return Uint8Array.from(r, (e) => Number.parseInt(e[0], 16));
|
|
17
|
-
},
|
|
18
|
+
}, l = (e, t) => [e].includes(t), u = (e, t) => {
|
|
18
19
|
if (typeof e != typeof t) return !1;
|
|
19
20
|
let n = Object.prototype.toString.call(e);
|
|
20
21
|
if (n !== Object.prototype.toString.call(t)) return !1;
|
|
@@ -23,23 +24,23 @@ var e = (e) => {
|
|
|
23
24
|
if (typeof e == "function") return !1;
|
|
24
25
|
if (Array.isArray(e) && Array.isArray(t)) {
|
|
25
26
|
if (e.length !== t.length) return !1;
|
|
26
|
-
for (let n = 0; n < e.length; n++) if (!
|
|
27
|
+
for (let n = 0; n < e.length; n++) if (!u(e[n], t[n])) return !1;
|
|
27
28
|
return !0;
|
|
28
29
|
}
|
|
29
|
-
if (e instanceof Set && t instanceof Set) return !!
|
|
30
|
-
if (e instanceof Map && t instanceof Map) return !(!
|
|
30
|
+
if (e instanceof Set && t instanceof Set) return !!u([...e.values()], [...t.values()]);
|
|
31
|
+
if (e instanceof Map && t instanceof Map) return !(!u([...e.keys()], [...t.keys()]) || !u([...e.values()], [...t.values()]));
|
|
31
32
|
if (n === "[object Object]") {
|
|
32
33
|
let n = e, r = t, i = Object.keys(n), a = Object.keys(r);
|
|
33
34
|
for (let e of i) {
|
|
34
35
|
let t = a.find((t) => t === e);
|
|
35
36
|
if (t === void 0) return !1;
|
|
36
37
|
let [i, o] = [n[e], r[t]];
|
|
37
|
-
if (!
|
|
38
|
+
if (!u(i, o)) return !1;
|
|
38
39
|
}
|
|
39
40
|
return !0;
|
|
40
41
|
}
|
|
41
42
|
throw TypeError(`comparing these objects is unavailable: ${e}, ${t}`, { cause: [e, t] });
|
|
42
|
-
},
|
|
43
|
+
}, d = () => {
|
|
43
44
|
let e, t;
|
|
44
45
|
return {
|
|
45
46
|
promise: new Promise((n, r) => {
|
|
@@ -48,32 +49,32 @@ var e = (e) => {
|
|
|
48
49
|
resolve: e,
|
|
49
50
|
reject: t
|
|
50
51
|
};
|
|
51
|
-
},
|
|
52
|
+
}, ee = (e) => new Promise((t) => setTimeout(t, e)), te = (e) => Object.prototype.toString.call(e).slice(8, -1), f = (e) => (...t) => () => e(...t), p = (e) => {
|
|
52
53
|
let t = [], n = [], r = "", i = !1;
|
|
53
54
|
for (let a = 0; a < e.length; a++) {
|
|
54
55
|
let o = e[a];
|
|
55
56
|
o === "\"" && (a === 0 || e[a - 1] !== "\\") ? i = !i : o === "," && !i ? (n.push(r.trim()), r = "") : o === "\n" && !i ? (n.push(r.trim()), t.push(n), n = [], r = "") : r += o;
|
|
56
57
|
}
|
|
57
58
|
return n.push(r.trim()), t.push(n), t;
|
|
58
|
-
},
|
|
59
|
+
}, m = async (e, t) => {
|
|
59
60
|
let n = new TextEncoder().encode(e), r = await crypto.subtle.digest(t, n);
|
|
60
61
|
return new Uint8Array(r);
|
|
61
|
-
}, ne = (e) => encodeURIComponent(e).replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`),
|
|
62
|
+
}, ne = (e) => encodeURIComponent(e).replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), h = (e) => {
|
|
62
63
|
if (e.includes("+")) throw URIError("an input string must not include `+`");
|
|
63
64
|
return decodeURIComponent(e);
|
|
64
|
-
},
|
|
65
|
+
}, g = (e, t) => {
|
|
65
66
|
let n = new Blob([e]).stream().pipeThrough(new CompressionStream(t));
|
|
66
67
|
return new Response(n).bytes();
|
|
67
|
-
},
|
|
68
|
+
}, _ = (e, t) => {
|
|
68
69
|
let n = new Blob([e]).stream().pipeThrough(new DecompressionStream(t));
|
|
69
70
|
return new Response(n).bytes();
|
|
70
|
-
},
|
|
71
|
-
let
|
|
72
|
-
return
|
|
73
|
-
},
|
|
74
|
-
let n =
|
|
75
|
-
return new Response(
|
|
76
|
-
},
|
|
71
|
+
}, v = async (e, t) => {
|
|
72
|
+
let n = new Blob([e]).stream().pipeThrough(new CompressionStream(t));
|
|
73
|
+
return a(await new Response(n).bytes());
|
|
74
|
+
}, re = (e, t) => {
|
|
75
|
+
let n = o(e), r = new Blob([n]).stream().pipeThrough(new DecompressionStream(t));
|
|
76
|
+
return new Response(r).text();
|
|
77
|
+
}, y = (e, t) => new Promise((n, r) => {
|
|
77
78
|
setTimeout(async () => {
|
|
78
79
|
try {
|
|
79
80
|
n(await e());
|
|
@@ -81,42 +82,42 @@ var e = (e) => {
|
|
|
81
82
|
r(e);
|
|
82
83
|
}
|
|
83
84
|
}, t);
|
|
84
|
-
}),
|
|
85
|
+
}), b = (e, t) => {
|
|
85
86
|
if (t < -e.length || t >= e.length) throw RangeError("`index` is out of range");
|
|
86
87
|
return e.at(t);
|
|
87
|
-
},
|
|
88
|
-
let n =
|
|
88
|
+
}, ie = (e, t) => {
|
|
89
|
+
let n = b(e, t);
|
|
89
90
|
if (n == null) throw TypeError("value is nullable");
|
|
90
91
|
return n;
|
|
91
|
-
},
|
|
92
|
+
}, x = (e, t) => Math.floor(Math.random() * (t - e) + e), S = (e, t) => {
|
|
92
93
|
t < 0n && (t *= -1n);
|
|
93
94
|
let n = e % t;
|
|
94
95
|
return n < 0n ? n + t : n;
|
|
95
|
-
},
|
|
96
|
+
}, C = (e, t = !1) => {
|
|
96
97
|
if (!Number.isFinite(e)) throw RangeError("`length` is not a valid number");
|
|
97
98
|
if (e <= 0) throw RangeError("`length` must be positive");
|
|
98
99
|
let n = Math.ceil(e / 8), r = crypto.getRandomValues(new Uint8Array(n)), i = Array.from(r, (e) => e.toString(2).padStart(8, "0")).join("").slice(0, e);
|
|
99
100
|
return t && (i = i.replace(/^\d/, "1")), BigInt("0b" + i);
|
|
100
|
-
},
|
|
101
|
+
}, w = (e, t) => {
|
|
101
102
|
if (e >= t) throw RangeError("`min` must be smaller than `max`");
|
|
102
103
|
let n = t - e, r = n.toString(2).length;
|
|
103
104
|
return e + (() => {
|
|
104
105
|
for (let e = 0; e < 1e5; e++) {
|
|
105
|
-
let e =
|
|
106
|
-
if (e >=
|
|
106
|
+
let e = C(r);
|
|
107
|
+
if (e >= T(2n, BigInt(r), n)) return e % n;
|
|
107
108
|
}
|
|
108
109
|
throw Error("Failed to generate a random bigint");
|
|
109
110
|
})();
|
|
110
|
-
},
|
|
111
|
+
}, T = (e, t, n) => {
|
|
111
112
|
if (n < 1n) throw RangeError("`mod` must be positive");
|
|
112
113
|
if (t < 0n) throw RangeError("`power` must not be negative");
|
|
113
|
-
if (e =
|
|
114
|
+
if (e = S(e, n), n === 1n) return 0n;
|
|
114
115
|
if (e % n === 1n || e % n === 0n) return e;
|
|
115
116
|
if (e === n - 1n) return t & 1n ? n - 1n : 1n;
|
|
116
117
|
let r = 1n;
|
|
117
118
|
for (; t > 0n;) t & 1n && (r = r * e % n), e = e * e % n, t >>= 1n;
|
|
118
119
|
return r;
|
|
119
|
-
},
|
|
120
|
+
}, E = (e, t) => {
|
|
120
121
|
if (e === 0n && t === 0n) return {
|
|
121
122
|
x: 0n,
|
|
122
123
|
y: 0n,
|
|
@@ -159,7 +160,7 @@ var e = (e) => {
|
|
|
159
160
|
y: o,
|
|
160
161
|
gcd: s
|
|
161
162
|
};
|
|
162
|
-
},
|
|
163
|
+
}, D = (e, t) => {
|
|
163
164
|
if (e >= t) return 1n;
|
|
164
165
|
let n = BigInt((t - 2n).toString(2).length), r = (t - e) / 2n;
|
|
165
166
|
if (n * r < 63n) {
|
|
@@ -168,20 +169,20 @@ var e = (e) => {
|
|
|
168
169
|
return n;
|
|
169
170
|
}
|
|
170
171
|
let i = e + r | 1n;
|
|
171
|
-
return
|
|
172
|
-
},
|
|
172
|
+
return D(e, i) * D(i, t);
|
|
173
|
+
}, ae = (e) => {
|
|
173
174
|
let t = 3n, n = 1n, r = 1n, i = BigInt(e.toString(2).length) - 1n;
|
|
174
175
|
for (let a = i - 1n; a > -1n; --a) {
|
|
175
176
|
let i = (e >> a) + 1n | 1n;
|
|
176
|
-
r *=
|
|
177
|
+
r *= D(t, i), t = i, n *= r;
|
|
177
178
|
}
|
|
178
179
|
return n;
|
|
179
|
-
},
|
|
180
|
+
}, oe = (e) => {
|
|
180
181
|
if (e < 0n) throw RangeError("'n' must be non-negative");
|
|
181
182
|
if (e === 0n) return 1n;
|
|
182
183
|
let t = e - BigInt(e.toString(2).match(/1/g)?.length ?? 0);
|
|
183
|
-
return
|
|
184
|
-
},
|
|
184
|
+
return ae(e) << t;
|
|
185
|
+
}, O = (e, t) => (e >>> (t & 31) | e << (-t & 31)) >>> 0, k = (e, t) => BigInt.asUintN(64, e >> (t & 63n) | e << (-t & 63n)), A = (e, t) => {
|
|
185
186
|
if (t < 1n || t % 2n == 0n) throw RangeError("`n` is out of range");
|
|
186
187
|
for (; e < 0n;) e += t;
|
|
187
188
|
e %= t;
|
|
@@ -195,7 +196,7 @@ var e = (e) => {
|
|
|
195
196
|
[e, t] = [t, e], e % 4n == 3n && t % 4n == 3n && (n *= -1n), e %= t;
|
|
196
197
|
}
|
|
197
198
|
return t === 1n ? n : 0n;
|
|
198
|
-
},
|
|
199
|
+
}, j = (e) => {
|
|
199
200
|
if (e < 0n) return !1;
|
|
200
201
|
if (e === 0n) return !0;
|
|
201
202
|
let t = 1n, n = e;
|
|
@@ -204,47 +205,12 @@ var e = (e) => {
|
|
|
204
205
|
r * r < e ? t = r : n = r;
|
|
205
206
|
}
|
|
206
207
|
return e === t ** 2n || e === (t + 1n) ** 2n;
|
|
207
|
-
}, O = class {
|
|
208
|
-
#e;
|
|
209
|
-
constructor(e) {
|
|
210
|
-
this.#e = e;
|
|
211
|
-
}
|
|
212
|
-
postMessage = (e, t) => new Promise((n, r) => {
|
|
213
|
-
let i = crypto.randomUUID(), a = (e) => {
|
|
214
|
-
let t = e.data;
|
|
215
|
-
t.id === i && (this.#e.removeEventListener("message", a), this.#e.removeEventListener("error", o), t.success ? n(t.value) : r(t.error));
|
|
216
|
-
}, o = (e) => {
|
|
217
|
-
this.#e.removeEventListener("message", a), this.#e.removeEventListener("error", o), r(e.error);
|
|
218
|
-
};
|
|
219
|
-
this.#e.addEventListener("message", a), this.#e.addEventListener("error", o);
|
|
220
|
-
let s = {
|
|
221
|
-
value: e,
|
|
222
|
-
id: i
|
|
223
|
-
};
|
|
224
|
-
this.#e.postMessage(s, t);
|
|
225
|
-
});
|
|
226
|
-
}, k = () => typeof window > "u" && typeof self < "u" && "importScripts" in self, A = (e, t) => {
|
|
227
|
-
if (!k()) throw Error("this function must be used in Worker");
|
|
228
|
-
let n = {
|
|
229
|
-
success: !0,
|
|
230
|
-
value: e,
|
|
231
|
-
id: t
|
|
232
|
-
};
|
|
233
|
-
self.postMessage(n);
|
|
234
|
-
}, j = (e, t) => {
|
|
235
|
-
if (!k()) throw Error("this function must be used in Worker");
|
|
236
|
-
let n = {
|
|
237
|
-
success: !1,
|
|
238
|
-
error: e,
|
|
239
|
-
id: t
|
|
240
|
-
};
|
|
241
|
-
self.postMessage(n);
|
|
242
208
|
}, M = (e) => {
|
|
243
209
|
if (e <= 1n) return !1;
|
|
244
210
|
if (e % 2n == 0n) return e === 2n;
|
|
245
211
|
let t = e - 1n, n = 0n;
|
|
246
212
|
for (; t % 2n == 0n;) t >>= 1n, n += 1n;
|
|
247
|
-
let [r, i] = [t, n], a =
|
|
213
|
+
let [r, i] = [t, n], a = T(2n, r, e);
|
|
248
214
|
if (a === 1n) return !0;
|
|
249
215
|
for (let t = 0n; t < i; t++) {
|
|
250
216
|
if (a === e - 1n) return !0;
|
|
@@ -252,15 +218,15 @@ var e = (e) => {
|
|
|
252
218
|
}
|
|
253
219
|
return !1;
|
|
254
220
|
}, N = (e) => {
|
|
255
|
-
let t = 5n, n =
|
|
221
|
+
let t = 5n, n = A(t, e);
|
|
256
222
|
for (; n > 0n;) {
|
|
257
|
-
if (t = t > 0n ? t + 2n : t - 2n, t *= -1n, t === -15n &&
|
|
258
|
-
n =
|
|
223
|
+
if (t = t > 0n ? t + 2n : t - 2n, t *= -1n, t === -15n && j(e)) return [0n, 0n];
|
|
224
|
+
n = A(t, e);
|
|
259
225
|
}
|
|
260
226
|
return [t, n];
|
|
261
|
-
}, P = (e, t) => (e & 1n) == 1n ?
|
|
227
|
+
}, P = (e, t) => (e & 1n) == 1n ? S(e + t >> 1n, t) : S(e >> 1n, t), F = (e, t, n, r) => {
|
|
262
228
|
let i = 1n, a = n, o = e.toString(2).slice(1);
|
|
263
|
-
for (let e of o) [i, a] = [
|
|
229
|
+
for (let e of o) [i, a] = [S(i * a, t), P(a * a + r * i * i, t)], e === "1" && ([i, a] = [P(n * i + a, t), P(r * i + n * a, t)]);
|
|
264
230
|
return [i, a];
|
|
265
231
|
}, I = (e, t, n, r) => {
|
|
266
232
|
if (e % 2n != 1n) throw RangeError("`n` must be odd");
|
|
@@ -268,10 +234,10 @@ var e = (e) => {
|
|
|
268
234
|
for (; i % 2n == 0n;) i >>= 1n, a += 1n;
|
|
269
235
|
let [o, s] = F(i, e, n, t), c = s;
|
|
270
236
|
if (o === 0n) return !0;
|
|
271
|
-
r =
|
|
237
|
+
r = T(r, i, e);
|
|
272
238
|
for (let t = 0n; t < a; t++) {
|
|
273
239
|
if (c === 0n) return !0;
|
|
274
|
-
c =
|
|
240
|
+
c = S(c * c - 2n * r, e), r = T(r, 2n, e);
|
|
275
241
|
}
|
|
276
242
|
return !1;
|
|
277
243
|
}, L = [
|
|
@@ -380,22 +346,18 @@ var e = (e) => {
|
|
|
380
346
|
}, z = (e, t) => {
|
|
381
347
|
if (t < 2n) throw RangeError("`max` must be 2 or larger");
|
|
382
348
|
for (let n = 0; n < 1e5; n++) {
|
|
383
|
-
let n =
|
|
349
|
+
let n = w(e, t);
|
|
384
350
|
if (R(n)) return n;
|
|
385
351
|
}
|
|
386
352
|
throw Error("no primes were found");
|
|
387
353
|
}, B = (e, t = !1) => {
|
|
388
354
|
if (e < 2) throw RangeError("`bitLength` must be 2 or larger");
|
|
389
355
|
for (let n = 0; n < 1e5; n++) {
|
|
390
|
-
let n =
|
|
356
|
+
let n = C(e, t);
|
|
391
357
|
if (R(n)) return n;
|
|
392
358
|
}
|
|
393
359
|
throw Error("no primes were found");
|
|
394
|
-
}, V, H = () => (V ||=
|
|
395
|
-
/* @vite-ignore */
|
|
396
|
-
"/assets/bpsw_worker-nJV3KnVo.js",
|
|
397
|
-
"" + import.meta.url
|
|
398
|
-
), { type: "module" })), V), U = (e) => H().postMessage(e), W = "Rational", G = class e {
|
|
360
|
+
}, V, H = async () => (V ||= (await import("./bpsw_worker_wrap-3QPQWi5E.js")).worker, V), U = async (e) => (await H()).postMessage(e), W = "Rational", G = class e {
|
|
399
361
|
#e;
|
|
400
362
|
#t;
|
|
401
363
|
static name = W;
|
|
@@ -419,7 +381,7 @@ var e = (e) => {
|
|
|
419
381
|
return new e(r ? -o : o, c);
|
|
420
382
|
}
|
|
421
383
|
#n() {
|
|
422
|
-
let { gcd: e } =
|
|
384
|
+
let { gcd: e } = E(this.#e, this.#t);
|
|
423
385
|
e !== 0n && (this.#e /= e, this.#t /= e);
|
|
424
386
|
}
|
|
425
387
|
minus = () => new e(-this.#e, this.#t);
|
|
@@ -498,7 +460,7 @@ var J = (e) => {
|
|
|
498
460
|
if (i -= 64n, i < n) return n;
|
|
499
461
|
}
|
|
500
462
|
throw Error("loop exceeded limit");
|
|
501
|
-
},
|
|
463
|
+
}, se = (e) => {
|
|
502
464
|
let t = () => BigInt.asUintN(64, e()), n = () => {
|
|
503
465
|
let e = t(), n = BigInt.asUintN(52, e >> 11n), r = n === 0n && e >> 63n == 1n ? Y(e, t) + 1n : Y(e, t), { buffer: i } = BigUint64Array.from([r << 52n | n]), a = new Float64Array(i)[0];
|
|
504
466
|
if (a == null) throw Error("unexpected");
|
|
@@ -511,23 +473,23 @@ var J = (e) => {
|
|
|
511
473
|
}
|
|
512
474
|
throw Error("Loop limit exceeded");
|
|
513
475
|
};
|
|
514
|
-
},
|
|
476
|
+
}, ce = [9600629759793949339n, 15726070495360670683n], le = 6364136223846793005n, X = "PCGMinimal", Z = class {
|
|
515
477
|
#e;
|
|
516
478
|
static name = X;
|
|
517
479
|
constructor(e) {
|
|
518
480
|
if (e && e[0] != null && e[1] != null) {
|
|
519
481
|
if (this.#e = new BigUint64Array(2), this.#e[0] == null || this.#e[1] == null) throw TypeError("unexpected");
|
|
520
482
|
this.#e[1] = e[1] << 1n | 1n, this.#t(), this.#e[0] += e[0], this.#t();
|
|
521
|
-
} else this.#e = BigUint64Array.from(
|
|
483
|
+
} else this.#e = BigUint64Array.from(ce);
|
|
522
484
|
}
|
|
523
485
|
#t() {
|
|
524
486
|
if (this.#e[0] == null || this.#e[1] == null) throw TypeError("unexpected");
|
|
525
|
-
this.#e[0] = this.#e[0] *
|
|
487
|
+
this.#e[0] = this.#e[0] * le + this.#e[1];
|
|
526
488
|
}
|
|
527
489
|
get #n() {
|
|
528
490
|
if (this.#e[0] == null || this.#e[1] == null) throw TypeError("unexpected");
|
|
529
491
|
let e = this.#e[0], t = Number(e >> 59n);
|
|
530
|
-
return
|
|
492
|
+
return O(Number(BigInt.asUintN(32, (e ^ e >> 18n) >> 27n)), t);
|
|
531
493
|
}
|
|
532
494
|
getRandU32 = () => (this.#t(), this.#n);
|
|
533
495
|
getBoundedRandU32 = (e) => {
|
|
@@ -549,7 +511,7 @@ var J = (e) => {
|
|
|
549
511
|
Object.defineProperty(Z.prototype, Symbol.toStringTag, { value: X });
|
|
550
512
|
//#endregion
|
|
551
513
|
//#region lib/xoshiro_minimal.ts
|
|
552
|
-
var
|
|
514
|
+
var ue = [
|
|
553
515
|
13715198867125970446n,
|
|
554
516
|
3333371893450545919n,
|
|
555
517
|
5627726498316411518n,
|
|
@@ -562,16 +524,16 @@ var de = [
|
|
|
562
524
|
if (e && e[0] != null && e[1] != null && e[2] != null && e[3] != null) {
|
|
563
525
|
if (this.#e = new BigUint64Array(4), this.#e[0] = e[0], this.#e[1] = e[1], this.#t(), this.#e[2] == null || this.#e[3] == null) throw TypeError("unexpected");
|
|
564
526
|
this.#e[2] += e[2], this.#e[3] += e[3];
|
|
565
|
-
} else this.#e = BigUint64Array.from(
|
|
527
|
+
} else this.#e = BigUint64Array.from(ue);
|
|
566
528
|
}
|
|
567
529
|
#t() {
|
|
568
530
|
if (this.#e[0] == null || this.#e[1] == null || this.#e[2] == null || this.#e[3] == null) throw TypeError("unexpected");
|
|
569
531
|
let e = this.#e[1] << 17n;
|
|
570
|
-
this.#e[2] ^= this.#e[0], this.#e[3] ^= this.#e[1], this.#e[1] ^= this.#e[2], this.#e[0] ^= this.#e[3], this.#e[2] ^= e, this.#e[3] =
|
|
532
|
+
this.#e[2] ^= this.#e[0], this.#e[3] ^= this.#e[1], this.#e[1] ^= this.#e[2], this.#e[0] ^= this.#e[3], this.#e[2] ^= e, this.#e[3] = k(this.#e[3], 45n);
|
|
571
533
|
}
|
|
572
534
|
get value() {
|
|
573
535
|
if (this.#e[0] == null || this.#e[3] == null) throw TypeError("unexpected");
|
|
574
|
-
let e =
|
|
536
|
+
let e = k(this.#e[0] + this.#e[3], 23n) + this.#e[0];
|
|
575
537
|
return BigInt.asUintN(64, e);
|
|
576
538
|
}
|
|
577
539
|
getRandU64 = () => {
|
|
@@ -611,19 +573,19 @@ var de = [
|
|
|
611
573
|
Object.defineProperty($.prototype, Symbol.toStringTag, { value: Q });
|
|
612
574
|
//#endregion
|
|
613
575
|
//#region lib/leb128.ts
|
|
614
|
-
var
|
|
576
|
+
var de = (e) => {
|
|
615
577
|
let t = e < 0n;
|
|
616
578
|
t && (e *= -1n);
|
|
617
579
|
let n = e.toString(2).length, r = e === 1n << BigInt(n - 1) && !(n % 7) && t, i = Math.floor(n / 7) + 1;
|
|
618
580
|
return r ? i - 1 : i;
|
|
619
|
-
},
|
|
620
|
-
let t =
|
|
581
|
+
}, fe = (e) => {
|
|
582
|
+
let t = de(e);
|
|
621
583
|
e = BigInt.asUintN(t * 7, e);
|
|
622
584
|
let n = new Uint8Array(t);
|
|
623
585
|
for (let r = 0; r < t - 1; ++r) n[r] = Number(e & 127n) | 128, e >>= 7n;
|
|
624
586
|
let r = Number(e & 127n);
|
|
625
587
|
return n[t - 1] = r, e >>= 7n, n;
|
|
626
|
-
},
|
|
588
|
+
}, pe = (e) => {
|
|
627
589
|
let t = e.length, n = 0n;
|
|
628
590
|
for (let [t, r] of e.entries()) {
|
|
629
591
|
let e = BigInt(r & 127);
|
|
@@ -632,4 +594,4 @@ var fe = (e) => {
|
|
|
632
594
|
return BigInt.asIntN(7 * t, n);
|
|
633
595
|
};
|
|
634
596
|
//#endregion
|
|
635
|
-
export {
|
|
597
|
+
export { n as AsyncWorker, q as NamedError, Z as PCGMinimal, G as Rational, $ as XoshiroMinimal, R as bailliePSW, U as bailliePSWAsync, g as compress, v as compressString, pe as decodeLEB128, h as decodeRFC3986URIComponent, _ as decompress, re as decompressString, fe as encodeLEB128, ne as encodeRFC3986URIComponent, E as exEuclidean, oe as factorial, se as floatRng, i as fromBase64, o as fromBase64URL, c as fromOct, m as getHash, C as getRandBIByBitLength, w as getRandBIByRange, B as getRandPrimeByBitLength, z as getRandPrimeByRange, x as getRndInt, te as getStringTag, u as isDeepStrictEqual, j as isSquare, A as jacobiSymbol, f as lazify, T as modPow, b as nullableStrictAt, p as parseCSV, e as postFailed, t as postSuccess, S as residue, O as rot32, k as rot64, l as sameValueZero, y as setTimeoutPromise, ee as sleep, ie as strictAt, r as toBase64, a as toBase64URL, s as toOct, d as withResolvers };
|
package/dist/bundle.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var UtilFns=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=e=>{let t=Array.from(e,e=>String.fromCharCode(e));return btoa(t.join(``))},
|
|
2
|
-
`&&!i?(n.push(r.trim()),t.push(n),n=[],r=``):r+=o}return n.push(r.trim()),t.push(n),t},re=async(e,t)=>{let n=new TextEncoder().encode(e),r=await crypto.subtle.digest(t,n);return new Uint8Array(r)},ie=e=>encodeURIComponent(e).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),d=e=>{if(e.includes(`+`))throw URIError("an input string must not include `+`");return decodeURIComponent(e)},f=(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new CompressionStream(t));return new Response(n).bytes()},ae=(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new DecompressionStream(t));return new Response(n).bytes()},p=async(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new CompressionStream(t));return r(await new Response(n).bytes())},m=(e,t)=>{let n=i(e),r=new Blob([n]).stream().pipeThrough(new DecompressionStream(t));return new Response(r).text()},h=(e,t)=>new Promise((n,r)=>{setTimeout(async()=>{try{n(await e())}catch(e){r(e)}},t)}),g=(e,t)=>{if(t<-e.length||t>=e.length)throw RangeError("`index` is out of range");return e.at(t)},_=(e,t)=>{let n=g(e,t);if(n==null)throw TypeError(`value is nullable`);return n},oe=(e,t)=>Math.floor(Math.random()*(t-e)+e),v=(e,t)=>{t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n},y=(e,t=!1)=>{if(!Number.isFinite(e))throw RangeError("`length` is not a valid number");if(e<=0)throw RangeError("`length` must be positive");let n=Math.ceil(e/8),r=crypto.getRandomValues(new Uint8Array(n)),i=Array.from(r,e=>e.toString(2).padStart(8,`0`)).join(``).slice(0,e);return t&&(i=i.replace(/^\d/,`1`)),BigInt(`0b`+i)},b=(e,t)=>{if(e>=t)throw RangeError("`min` must be smaller than `max`");let n=t-e,r=n.toString(2).length;return e+(()=>{for(let e=0;e<1e5;e++){let e=y(r);if(e>=x(2n,BigInt(r),n))return e%n}throw Error(`Failed to generate a random bigint`)})()},x=(e,t,n)=>{if(n<1n)throw RangeError("`mod` must be positive");if(t<0n)throw RangeError("`power` must not be negative");if(e=v(e,n),n===1n)return 0n;if(e%n===1n||e%n===0n)return e;if(e===n-1n)return t&1n?n-1n:1n;let r=1n;for(;t>0n;)t&1n&&(r=r*e%n),e=e*e%n,t>>=1n;return r},S=(e,t)=>{if(e===0n&&t===0n)return{x:0n,y:0n,gcd:0n};if(e===0n)return t>0n?{x:0n,y:-1n,gcd:t}:{x:0n,y:1n,gcd:-t};if(t===0n)return e>0n?{x:1n,y:0n,gcd:e}:{x:-1n,y:0n,gcd:-e};let[n,r,i]=[1n,0n,e],[a,o,s]=[0n,-1n,t];for(;;){let e=i/s,t=i-e*s;if(t===0n)break;[n,a]=[a,n-e*a],[r,o]=[o,r-e*o],[i,s]=[s,t]}return s<0n&&(a*=-1n,o*=-1n,s*=-1n),{x:a,y:o,gcd:s}},C=(e,t)=>{if(e>=t)return 1n;let n=BigInt((t-2n).toString(2).length),r=(t-e)/2n;if(n*r<63n){let n=e;for(let r=e+2n;r<t;r+=2n)n*=r;return n}let i=e+r|1n;return C(e,i)*C(i,t)},se=e=>{let t=3n,n=1n,r=1n,i=BigInt(e.toString(2).length)-1n;for(let a=i-1n;a>-1n;--a){let i=(e>>a)+1n|1n;r*=C(t,i),t=i,n*=r}return n},ce=e=>{if(e<0n)throw RangeError(`'n' must be non-negative`);if(e===0n)return 1n;let t=e-BigInt(e.toString(2).match(/1/g)?.length??0);return se(e)<<t},w=(e,t)=>(e>>>(t&31)|e<<(-t&31))>>>0,T=(e,t)=>BigInt.asUintN(64,e>>(t&63n)|e<<(-t&63n)),E=(e,t)=>{if(t<1n||t%2n==0n)throw RangeError("`n` is out of range");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n},D=e=>{if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n},O=class{#e;constructor(e){this.#e=e}postMessage=(e,t)=>new Promise((n,r)=>{let i=crypto.randomUUID(),a=e=>{let t=e.data;t.id===i&&(this.#e.removeEventListener(`message`,a),this.#e.removeEventListener(`error`,o),t.success?n(t.value):r(t.error))},o=e=>{this.#e.removeEventListener(`message`,a),this.#e.removeEventListener(`error`,o),r(e.error)};this.#e.addEventListener(`message`,a),this.#e.addEventListener(`error`,o);let s={value:e,id:i};this.#e.postMessage(s,t)})},k=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self,A=(e,t)=>{if(!k())throw Error(`this function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)},j=(e,t)=>{if(!k())throw Error(`this function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)},M=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;let t=e-1n,n=0n;for(;t%2n==0n;)t>>=1n,n+=1n;let[r,i]=[t,n],a=x(2n,r,e);if(a===1n)return!0;for(let t=0n;t<i;t++){if(a===e-1n)return!0;a=a*a%e}return!1},N=e=>{let t=5n,n=E(t,e);for(;n>0n;){if(t=t>0n?t+2n:t-2n,t*=-1n,t===-15n&&D(e))return[0n,0n];n=E(t,e)}return[t,n]},P=(e,t)=>(e&1n)==1n?v(e+t>>1n,t):v(e>>1n,t),F=(e,t,n,r)=>{let i=1n,a=n,o=e.toString(2).slice(1);for(let e of o)[i,a]=[v(i*a,t),P(a*a+r*i*i,t)],e===`1`&&([i,a]=[P(n*i+a,t),P(r*i+n*a,t)]);return[i,a]},I=(e,t,n,r)=>{if(e%2n!=1n)throw RangeError("`n` must be odd");let i=e+1n,a=0n;for(;i%2n==0n;)i>>=1n,a+=1n;let[o,s]=F(i,e,n,t),c=s;if(o===0n)return!0;r=x(r,i,e);for(let t=0n;t<a;t++){if(c===0n)return!0;c=v(c*c-2n*r,e),r=x(r,2n,e)}return!1},L=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n],R=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of L)if(e%t===0n)return e===t;if(!M(e))return!1;let[t,n]=N(e);return n===0n?!1:I(e,t,1n,(1n-t)/4n)},z=(e,t)=>{if(t<2n)throw RangeError("`max` must be 2 or larger");for(let n=0;n<1e5;n++){let n=b(e,t);if(R(n))return n}throw Error(`no primes were found`)},B=(e,t=!1)=>{if(e<2)throw RangeError("`bitLength` must be 2 or larger");for(let n=0;n<1e5;n++){let n=y(e,t);if(R(n))return n}throw Error(`no primes were found`)},V,H=()=>(V||=new O(new Worker(new URL(`/assets/bpsw_worker-nJV3KnVo.js`,``+{}.url),{type:`module`})),V),U=e=>H().postMessage(e),W=`Rational`,G=class e{#e;#t;static name=W;constructor(e,t){t===0n?(this.#t=0n,this.#e=e===0n?0n:e>0n?1n:-1n):t>0n?(this.#e=e,this.#t=t):(this.#e=-e,this.#t=-t),this.#n()}static fromDecimal(t,n=5){if(Number.isNaN(t))return new e(0n,0n);if(Math.abs(t)===1/0)return new e(t>0?1n:-1n,0n);let r=t<0;r&&(t*=-1);let i=BigInt(Math.floor(t)),a=t-Number(i);if(a===0)return new e(r?-i:i,1n);t=1/a;let[o,s]=[1n,i],[c,l]=[0n,1n];for(;`${l}`.length<=n;){let n=BigInt(Math.floor(t)),i=t-Number(n);if([o,s]=[s,n*s+o],[c,l]=[l,n*l+c],i===0)return new e(r?-s:s,l);t=1/i}return new e(r?-o:o,c)}#n(){let{gcd:e}=S(this.#e,this.#t);e!==0n&&(this.#e/=e,this.#t/=e)}minus=()=>new e(-this.#e,this.#t);inverse=()=>new e(this.#t,this.#e);add=t=>{let n=this.#t*t.#t;return new e(this.#e*t.#t+t.#e*this.#t,n)};substr=e=>this.add(e.minus());multiply=t=>{let n=this.#t*t.#t;return new e(this.#e*t.#e,n)};divide=e=>this.multiply(e.inverse());mediant=t=>{let n=this.#t+t.#t;return new e(this.#e+t.#e,n)};toDecimal=()=>Number(this.#e)/Number(this.#t);toString=()=>this.#e===0n&&this.#t===0n?`NaN`:this.#e===0n?`0`:this.#t===0n?this.#e<0n?`-Infinity`:`Infinity`:this.#t===1n?`${this.#e}`:`${this.#e}/${this.#t}`;valueOf=()=>this.toDecimal();toJSON=()=>({type:`Rational`,value:[`0x`+this.#e.toString(16),`0x`+this.#t.toString(16)]});static fromData(t){return new e(BigInt(t.value[0]),BigInt(t.value[1]))}static parse(t){let n=/^\s*(\d+)\s*\/\s*(\d+)\s*$/.exec(t);if(!n)throw Error(`cannot parse`);let r=n.at(1),i=n.at(2);if(!r||!i)throw Error(`cannot parse`);return new e(BigInt(r),BigInt(i))}};Object.defineProperty(G.prototype,Symbol.toStringTag,{value:W});var K=`NamedError`,q=class extends Error{static name=K;errName;constructor(e,t,n){super(t,n),this.errName=e}toJSON=()=>{let e=(()=>{let e=this.cause;if(e==null)return e;let t=e.toString();return t===`[object Object]`?JSON.stringify(e):t})(),{errName:t,message:n,stack:r}=this;return{name:t,message:n,stack:r,cause:e}}};Object.defineProperty(q.prototype,Symbol.toStringTag,{value:K});var J=e=>{if(e===0n)return 64n;let t=0n;for(;e>0n&&!(e&1n);)++t,e>>=1n;return BigInt.asUintN(64,t)},Y=(e,t)=>{let n=0n,r=e&2047n,i=1023n-1n;if(r>0n)return i-=J(r),i;i-=11n;for(let e=0;e<1e5;++e){let e=t();if(e>0n)return i-=J(e),i;if(i-=64n,i<n)return n}throw Error(`loop exceeded limit`)},le=e=>{let t=()=>BigInt.asUintN(64,e()),n=()=>{let e=t(),n=BigInt.asUintN(52,e>>11n),r=n===0n&&e>>63n==1n?Y(e,t)+1n:Y(e,t),{buffer:i}=BigUint64Array.from([r<<52n|n]),a=new Float64Array(i)[0];if(a==null)throw Error(`unexpected`);return a};return()=>{for(let e=0;e<1e5;++e){let e=n();if(e<1)return e}throw Error(`Loop limit exceeded`)}},ue=[9600629759793949339n,15726070495360670683n],de=6364136223846793005n,X=`PCGMinimal`,Z=class{#e;static name=X;constructor(e){if(e&&e[0]!=null&&e[1]!=null){if(this.#e=new BigUint64Array(2),this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);this.#e[1]=e[1]<<1n|1n,this.#t(),this.#e[0]+=e[0],this.#t()}else this.#e=BigUint64Array.from(ue)}#t(){if(this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);this.#e[0]=this.#e[0]*de+this.#e[1]}get#n(){if(this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);let e=this.#e[0],t=Number(e>>59n);return w(Number(BigInt.asUintN(32,(e^e>>18n)>>27n)),t)}getRandU32=()=>(this.#t(),this.#n);getBoundedRandU32=e=>{let t=4294967296;if(e>t)throw RangeError("`bound` exceeded limit (2^32)");if(e<=0)throw RangeError(`'bound' must be positive`);let n=t%e;for(let t=0;t<1e5;++t){let t=this.getRandU32();if(t>=n)return t%e}throw Error(`exceeded loop limit`)};*genRandU32s(e,t){if(e<=0)throw RangeError(`'step' must be positive`);for(let n=0;n<e;n++)yield typeof t==`number`?this.getBoundedRandU32(t):this.getRandU32()}};Object.defineProperty(Z.prototype,Symbol.toStringTag,{value:X});var fe=[13715198867125970446n,3333371893450545919n,5627726498316411518n,8467276975966080893n],Q=`XoshiroMinimal`,$=class{bits=64;#e;static name=Q;constructor(e){if(e&&e[0]!=null&&e[1]!=null&&e[2]!=null&&e[3]!=null){if(this.#e=new BigUint64Array(4),this.#e[0]=e[0],this.#e[1]=e[1],this.#t(),this.#e[2]==null||this.#e[3]==null)throw TypeError(`unexpected`);this.#e[2]+=e[2],this.#e[3]+=e[3]}else this.#e=BigUint64Array.from(fe)}#t(){if(this.#e[0]==null||this.#e[1]==null||this.#e[2]==null||this.#e[3]==null)throw TypeError(`unexpected`);let e=this.#e[1]<<17n;this.#e[2]^=this.#e[0],this.#e[3]^=this.#e[1],this.#e[1]^=this.#e[2],this.#e[0]^=this.#e[3],this.#e[2]^=e,this.#e[3]=T(this.#e[3],45n)}get value(){if(this.#e[0]==null||this.#e[3]==null)throw TypeError(`unexpected`);let e=T(this.#e[0]+this.#e[3],23n)+this.#e[0];return BigInt.asUintN(64,e)}getRandU64=()=>{let e=this.value;return this.#t(),e};getRandU32=()=>{let e=BigInt.asUintN(32,this.getRandU64());return Number(e)};getBoundedRandU64=e=>{let t=1n<<64n;if(e>t)throw RangeError("`bound` exceeded limit");if(e<=0n)throw RangeError("`bound` must be positive");let n=t%e;for(let t=0;t<1e5;++t){let t=this.getRandU64();if(t>=n)return t%e}throw Error(`exceeded loop limit`)};getBoundedRandU32=e=>{if(e>2**32)throw RangeError("`bound` exceeded limit");if(e<=0n)throw RangeError("`bound` must be positive");let t=this.getBoundedRandU64(BigInt(e));return Number(t)};*genRandU64s(e,t){if(e<=0)throw RangeError("`step` must be positive");for(let n=0;n<e;++n)yield t===void 0?this.getRandU64():this.getBoundedRandU64(t)}*genRandU32s(e,t){if(e<=0)throw RangeError("`step` must be positive");for(let n=0;n<e;++n)yield t===void 0?this.getRandU32():this.getBoundedRandU32(t)}};Object.defineProperty($.prototype,Symbol.toStringTag,{value:Q});var pe=e=>{let t=e<0n;t&&(e*=-1n);let n=e.toString(2).length,r=e===1n<<BigInt(n-1)&&!(n%7)&&t,i=Math.floor(n/7)+1;return r?i-1:i};return e.AsyncWorker=O,e.NamedError=q,e.PCGMinimal=Z,e.Rational=G,e.XoshiroMinimal=$,e.bailliePSW=R,e.bailliePSWAsync=U,e.compress=f,e.compressString=p,e.decodeLEB128=e=>{let t=e.length,n=0n;for(let[t,r]of e.entries()){let e=BigInt(r&127);n+=e<<BigInt(7*t)}return BigInt.asIntN(7*t,n)},e.decodeRFC3986URIComponent=d,e.decompress=ae,e.decompressString=m,e.encodeLEB128=e=>{let t=pe(e);e=BigInt.asUintN(t*7,e);let n=new Uint8Array(t);for(let r=0;r<t-1;++r)n[r]=Number(e&127n)|128,e>>=7n;let r=Number(e&127n);return n[t-1]=r,e>>=7n,n},e.encodeRFC3986URIComponent=ie,e.exEuclidean=S,e.factorial=ce,e.floatRng=le,e.fromBase64=n,e.fromBase64URL=i,e.fromOct=o,e.getHash=re,e.getRandBIByBitLength=y,e.getRandBIByRange=b,e.getRandPrimeByBitLength=B,e.getRandPrimeByRange=z,e.getRndInt=oe,e.getStringTag=te,e.isDeepStrictEqual=c,e.isSquare=D,e.jacobiSymbol=E,e.lazify=u,e.modPow=x,e.nullableStrictAt=g,e.parseCSV=ne,e.postFailed=j,e.postSuccess=A,e.residue=v,e.rot32=w,e.rot64=T,e.sameValueZero=s,e.setTimeoutPromise=h,e.sleep=ee,e.strictAt=_,e.toBase64=t,e.toBase64URL=r,e.toOct=a,e.withResolvers=l,e})({});
|
|
1
|
+
var UtilFns=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,t)=>()=>(e&&(t=e(e=0)),t),r=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},i=e=>{let t=Array.from(e,e=>String.fromCharCode(e));return btoa(t.join(``))},a=e=>{let t=atob(e);return Uint8Array.from(t,e=>e.charCodeAt(0))},o=e=>i(e).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``),s=e=>{let t=4-(e.length&3)&3;return a(e.concat(`=`.repeat(t)).replaceAll(`-`,`+`).replaceAll(`_`,`/`))},c=e=>{let t=Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``),n=(6-t.length%6)%6,r=`0`.repeat(n).concat(t).matchAll(/.{6}/g);return Array.from(r,e=>Number.parseInt(e[0],16).toString(8).padStart(8,`0`)).join(``).replace(/^0+/,``)},l=e=>{let t=8-(e.length&7)&7,n=`0`.repeat(t).concat(e).matchAll(/.{8}/g),r=Array.from(n,e=>Number.parseInt(e[0],8).toString(16).padStart(6,`0`)).join(``).matchAll(/.{2}/g);return Uint8Array.from(r,e=>Number.parseInt(e[0],16))},ee=(e,t)=>[e].includes(t),u=(e,t)=>{if(typeof e!=typeof t)return!1;let n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;if(typeof e==`string`||typeof e==`bigint`||typeof e==`boolean`||typeof e==`symbol`||e==null)return e===t;if(typeof e==`number`)return e!==e&&t!==t||e===t;if(typeof e==`function`)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!u(e[n],t[n]))return!1;return!0}if(e instanceof Set&&t instanceof Set)return!!u([...e.values()],[...t.values()]);if(e instanceof Map&&t instanceof Map)return!(!u([...e.keys()],[...t.keys()])||!u([...e.values()],[...t.values()]));if(n===`[object Object]`){let n=e,r=t,i=Object.keys(n),a=Object.keys(r);for(let e of i){let t=a.find(t=>t===e);if(t===void 0)return!1;let[i,o]=[n[e],r[t]];if(!u(i,o))return!1}return!0}throw TypeError(`comparing these objects is unavailable: ${e}, ${t}`,{cause:[e,t]})},te=()=>{let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}},ne=e=>new Promise(t=>setTimeout(t,e)),re=e=>Object.prototype.toString.call(e).slice(8,-1),ie=e=>(...t)=>()=>e(...t),ae=e=>{let t=[],n=[],r=``,i=!1;for(let a=0;a<e.length;a++){let o=e[a];o===`"`&&(a===0||e[a-1]!==`\\`)?i=!i:o===`,`&&!i?(n.push(r.trim()),r=``):o===`
|
|
2
|
+
`&&!i?(n.push(r.trim()),t.push(n),n=[],r=``):r+=o}return n.push(r.trim()),t.push(n),t},oe=async(e,t)=>{let n=new TextEncoder().encode(e),r=await crypto.subtle.digest(t,n);return new Uint8Array(r)},se=e=>encodeURIComponent(e).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),ce=e=>{if(e.includes(`+`))throw URIError("an input string must not include `+`");return decodeURIComponent(e)},d=(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new CompressionStream(t));return new Response(n).bytes()},f=(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new DecompressionStream(t));return new Response(n).bytes()},p=async(e,t)=>{let n=new Blob([e]).stream().pipeThrough(new CompressionStream(t));return o(await new Response(n).bytes())},le=(e,t)=>{let n=s(e),r=new Blob([n]).stream().pipeThrough(new DecompressionStream(t));return new Response(r).text()},m=(e,t)=>new Promise((n,r)=>{setTimeout(async()=>{try{n(await e())}catch(e){r(e)}},t)}),h=(e,t)=>{if(t<-e.length||t>=e.length)throw RangeError("`index` is out of range");return e.at(t)},ue=(e,t)=>{let n=h(e,t);if(n==null)throw TypeError(`value is nullable`);return n},g=(e,t)=>Math.floor(Math.random()*(t-e)+e),_=(e,t)=>{t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n},v=(e,t=!1)=>{if(!Number.isFinite(e))throw RangeError("`length` is not a valid number");if(e<=0)throw RangeError("`length` must be positive");let n=Math.ceil(e/8),r=crypto.getRandomValues(new Uint8Array(n)),i=Array.from(r,e=>e.toString(2).padStart(8,`0`)).join(``).slice(0,e);return t&&(i=i.replace(/^\d/,`1`)),BigInt(`0b`+i)},y=(e,t)=>{if(e>=t)throw RangeError("`min` must be smaller than `max`");let n=t-e,r=n.toString(2).length;return e+(()=>{for(let e=0;e<1e5;e++){let e=v(r);if(e>=b(2n,BigInt(r),n))return e%n}throw Error(`Failed to generate a random bigint`)})()},b=(e,t,n)=>{if(n<1n)throw RangeError("`mod` must be positive");if(t<0n)throw RangeError("`power` must not be negative");if(e=_(e,n),n===1n)return 0n;if(e%n===1n||e%n===0n)return e;if(e===n-1n)return t&1n?n-1n:1n;let r=1n;for(;t>0n;)t&1n&&(r=r*e%n),e=e*e%n,t>>=1n;return r},x=(e,t)=>{if(e===0n&&t===0n)return{x:0n,y:0n,gcd:0n};if(e===0n)return t>0n?{x:0n,y:-1n,gcd:t}:{x:0n,y:1n,gcd:-t};if(t===0n)return e>0n?{x:1n,y:0n,gcd:e}:{x:-1n,y:0n,gcd:-e};let[n,r,i]=[1n,0n,e],[a,o,s]=[0n,-1n,t];for(;;){let e=i/s,t=i-e*s;if(t===0n)break;[n,a]=[a,n-e*a],[r,o]=[o,r-e*o],[i,s]=[s,t]}return s<0n&&(a*=-1n,o*=-1n,s*=-1n),{x:a,y:o,gcd:s}},S=(e,t)=>{if(e>=t)return 1n;let n=BigInt((t-2n).toString(2).length),r=(t-e)/2n;if(n*r<63n){let n=e;for(let r=e+2n;r<t;r+=2n)n*=r;return n}let i=e+r|1n;return S(e,i)*S(i,t)},de=e=>{let t=3n,n=1n,r=1n,i=BigInt(e.toString(2).length)-1n;for(let a=i-1n;a>-1n;--a){let i=(e>>a)+1n|1n;r*=S(t,i),t=i,n*=r}return n},fe=e=>{if(e<0n)throw RangeError(`'n' must be non-negative`);if(e===0n)return 1n;let t=e-BigInt(e.toString(2).match(/1/g)?.length??0);return de(e)<<t},C=(e,t)=>(e>>>(t&31)|e<<(-t&31))>>>0,w=(e,t)=>BigInt.asUintN(64,e>>(t&63n)|e<<(-t&63n)),T=(e,t)=>{if(t<1n||t%2n==0n)throw RangeError("`n` is out of range");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n},E=e=>{if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n},D,O,k,A,j=n((()=>{D=class{#e;constructor(e){this.#e=e}postMessage=(e,t)=>new Promise((n,r)=>{let i=crypto.randomUUID(),a=e=>{let t=e.data;t.id===i&&(this.#e.removeEventListener(`message`,a),this.#e.removeEventListener(`error`,o),t.success?n(t.value):r(t.error))},o=e=>{this.#e.removeEventListener(`message`,a),this.#e.removeEventListener(`error`,o),r(e.error)};this.#e.addEventListener(`message`,a),this.#e.addEventListener(`error`,o);let s={value:e,id:i};this.#e.postMessage(s,t)})},O=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self,k=(e,t)=>{if(!O())throw Error(`this function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)},A=(e,t)=>{if(!O())throw Error(`this function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)}}));function M(e){let t;try{if(t=P&&(self.URL||self.webkitURL).createObjectURL(P),!t)throw``;let n=new Worker(t,{name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(N),{name:e?.name})}}var N,P,F=n((()=>{N='(function(){var e=(e,t)=>()=>(e&&(t=e(e=0)),t);let t=(e,t)=>{t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n},n=(e,n,r)=>{if(r<1n)throw RangeError("`mod` must be positive");if(n<0n)throw RangeError("`power` must not be negative");if(e=t(e,r),r===1n)return 0n;if(e%r===1n||e%r===0n)return e;if(e===r-1n)return n&1n?r-1n:1n;let i=1n;for(;n>0n;)n&1n&&(i=i*e%r),e=e*e%r,n>>=1n;return i},r=(e,t)=>{if(t<1n||t%2n==0n)throw RangeError("`n` is out of range");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n},i=e=>{if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n};var a,o,s,c=e((()=>{a=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self,o=(e,t)=>{if(!a())throw Error(`this function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)},s=(e,t)=>{if(!a())throw Error(`this function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)}}));let l=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;let t=e-1n,r=0n;for(;t%2n==0n;)t>>=1n,r+=1n;let[i,a]=[t,r],o=n(2n,i,e);if(o===1n)return!0;for(let t=0n;t<a;t++){if(o===e-1n)return!0;o=o*o%e}return!1},u=e=>{let t=5n,n=r(t,e);for(;n>0n;){if(t=t>0n?t+2n:t-2n,t*=-1n,t===-15n&&i(e))return[0n,0n];n=r(t,e)}return[t,n]},d=(e,n)=>(e&1n)==1n?t(e+n>>1n,n):t(e>>1n,n),f=(e,n,r,i)=>{let a=1n,o=r,s=e.toString(2).slice(1);for(let e of s)[a,o]=[t(a*o,n),d(o*o+i*a*a,n)],e===`1`&&([a,o]=[d(r*a+o,n),d(i*a+r*o,n)]);return[a,o]},p=(e,r,i,a)=>{if(e%2n!=1n)throw RangeError("`n` must be odd");let o=e+1n,s=0n;for(;o%2n==0n;)o>>=1n,s+=1n;let[c,l]=f(o,e,i,r),u=l;if(c===0n)return!0;a=n(a,o,e);for(let r=0n;r<s;r++){if(u===0n)return!0;u=t(u*u-2n*a,e),a=n(a,2n,e)}return!1},m=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n],h=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of m)if(e%t===0n)return e===t;if(!l(e))return!1;let[t,n]=u(e);return n===0n?!1:p(e,t,1n,(1n-t)/4n)};c(),globalThis.onmessage=e=>{let{value:t,id:n}=e.data;try{o(h(t),n)}catch(e){s(e,n)}}})();',P=typeof self<`u`&&self.Blob&&new Blob([`(self.URL || self.webkitURL).revokeObjectURL(self.location.href);`,N],{type:`text/javascript;charset=utf-8`})})),I=r({worker:()=>L}),L,R=n((()=>{j(),F(),L=new D(new M)})),z=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;let t=e-1n,n=0n;for(;t%2n==0n;)t>>=1n,n+=1n;let[r,i]=[t,n],a=b(2n,r,e);if(a===1n)return!0;for(let t=0n;t<i;t++){if(a===e-1n)return!0;a=a*a%e}return!1},B=e=>{let t=5n,n=T(t,e);for(;n>0n;){if(t=t>0n?t+2n:t-2n,t*=-1n,t===-15n&&E(e))return[0n,0n];n=T(t,e)}return[t,n]},V=(e,t)=>(e&1n)==1n?_(e+t>>1n,t):_(e>>1n,t),pe=(e,t,n,r)=>{let i=1n,a=n,o=e.toString(2).slice(1);for(let e of o)[i,a]=[_(i*a,t),V(a*a+r*i*i,t)],e===`1`&&([i,a]=[V(n*i+a,t),V(r*i+n*a,t)]);return[i,a]},me=(e,t,n,r)=>{if(e%2n!=1n)throw RangeError("`n` must be odd");let i=e+1n,a=0n;for(;i%2n==0n;)i>>=1n,a+=1n;let[o,s]=pe(i,e,n,t),c=s;if(o===0n)return!0;r=b(r,i,e);for(let t=0n;t<a;t++){if(c===0n)return!0;c=_(c*c-2n*r,e),r=b(r,2n,e)}return!1},he=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n],H=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of he)if(e%t===0n)return e===t;if(!z(e))return!1;let[t,n]=B(e);return n===0n?!1:me(e,t,1n,(1n-t)/4n)},ge=(e,t)=>{if(t<2n)throw RangeError("`max` must be 2 or larger");for(let n=0;n<1e5;n++){let n=y(e,t);if(H(n))return n}throw Error(`no primes were found`)},_e=(e,t=!1)=>{if(e<2)throw RangeError("`bitLength` must be 2 or larger");for(let n=0;n<1e5;n++){let n=v(e,t);if(H(n))return n}throw Error(`no primes were found`)},U,ve=async()=>(U||=(await Promise.resolve().then(()=>(R(),I))).worker,U),ye=async e=>(await ve()).postMessage(e),W=`Rational`,G=class e{#e;#t;static name=W;constructor(e,t){t===0n?(this.#t=0n,this.#e=e===0n?0n:e>0n?1n:-1n):t>0n?(this.#e=e,this.#t=t):(this.#e=-e,this.#t=-t),this.#n()}static fromDecimal(t,n=5){if(Number.isNaN(t))return new e(0n,0n);if(Math.abs(t)===1/0)return new e(t>0?1n:-1n,0n);let r=t<0;r&&(t*=-1);let i=BigInt(Math.floor(t)),a=t-Number(i);if(a===0)return new e(r?-i:i,1n);t=1/a;let[o,s]=[1n,i],[c,l]=[0n,1n];for(;`${l}`.length<=n;){let n=BigInt(Math.floor(t)),i=t-Number(n);if([o,s]=[s,n*s+o],[c,l]=[l,n*l+c],i===0)return new e(r?-s:s,l);t=1/i}return new e(r?-o:o,c)}#n(){let{gcd:e}=x(this.#e,this.#t);e!==0n&&(this.#e/=e,this.#t/=e)}minus=()=>new e(-this.#e,this.#t);inverse=()=>new e(this.#t,this.#e);add=t=>{let n=this.#t*t.#t;return new e(this.#e*t.#t+t.#e*this.#t,n)};substr=e=>this.add(e.minus());multiply=t=>{let n=this.#t*t.#t;return new e(this.#e*t.#e,n)};divide=e=>this.multiply(e.inverse());mediant=t=>{let n=this.#t+t.#t;return new e(this.#e+t.#e,n)};toDecimal=()=>Number(this.#e)/Number(this.#t);toString=()=>this.#e===0n&&this.#t===0n?`NaN`:this.#e===0n?`0`:this.#t===0n?this.#e<0n?`-Infinity`:`Infinity`:this.#t===1n?`${this.#e}`:`${this.#e}/${this.#t}`;valueOf=()=>this.toDecimal();toJSON=()=>({type:`Rational`,value:[`0x`+this.#e.toString(16),`0x`+this.#t.toString(16)]});static fromData(t){return new e(BigInt(t.value[0]),BigInt(t.value[1]))}static parse(t){let n=/^\s*(\d+)\s*\/\s*(\d+)\s*$/.exec(t);if(!n)throw Error(`cannot parse`);let r=n.at(1),i=n.at(2);if(!r||!i)throw Error(`cannot parse`);return new e(BigInt(r),BigInt(i))}};Object.defineProperty(G.prototype,Symbol.toStringTag,{value:W});var K=`NamedError`,q=class extends Error{static name=K;errName;constructor(e,t,n){super(t,n),this.errName=e}toJSON=()=>{let e=(()=>{let e=this.cause;if(e==null)return e;let t=e.toString();return t===`[object Object]`?JSON.stringify(e):t})(),{errName:t,message:n,stack:r}=this;return{name:t,message:n,stack:r,cause:e}}};Object.defineProperty(q.prototype,Symbol.toStringTag,{value:K});var J=e=>{if(e===0n)return 64n;let t=0n;for(;e>0n&&!(e&1n);)++t,e>>=1n;return BigInt.asUintN(64,t)},Y=(e,t)=>{let n=0n,r=e&2047n,i=1023n-1n;if(r>0n)return i-=J(r),i;i-=11n;for(let e=0;e<1e5;++e){let e=t();if(e>0n)return i-=J(e),i;if(i-=64n,i<n)return n}throw Error(`loop exceeded limit`)},be=e=>{let t=()=>BigInt.asUintN(64,e()),n=()=>{let e=t(),n=BigInt.asUintN(52,e>>11n),r=n===0n&&e>>63n==1n?Y(e,t)+1n:Y(e,t),{buffer:i}=BigUint64Array.from([r<<52n|n]),a=new Float64Array(i)[0];if(a==null)throw Error(`unexpected`);return a};return()=>{for(let e=0;e<1e5;++e){let e=n();if(e<1)return e}throw Error(`Loop limit exceeded`)}},xe=[9600629759793949339n,15726070495360670683n],Se=6364136223846793005n,X=`PCGMinimal`,Z=class{#e;static name=X;constructor(e){if(e&&e[0]!=null&&e[1]!=null){if(this.#e=new BigUint64Array(2),this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);this.#e[1]=e[1]<<1n|1n,this.#t(),this.#e[0]+=e[0],this.#t()}else this.#e=BigUint64Array.from(xe)}#t(){if(this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);this.#e[0]=this.#e[0]*Se+this.#e[1]}get#n(){if(this.#e[0]==null||this.#e[1]==null)throw TypeError(`unexpected`);let e=this.#e[0],t=Number(e>>59n);return C(Number(BigInt.asUintN(32,(e^e>>18n)>>27n)),t)}getRandU32=()=>(this.#t(),this.#n);getBoundedRandU32=e=>{let t=4294967296;if(e>t)throw RangeError("`bound` exceeded limit (2^32)");if(e<=0)throw RangeError(`'bound' must be positive`);let n=t%e;for(let t=0;t<1e5;++t){let t=this.getRandU32();if(t>=n)return t%e}throw Error(`exceeded loop limit`)};*genRandU32s(e,t){if(e<=0)throw RangeError(`'step' must be positive`);for(let n=0;n<e;n++)yield typeof t==`number`?this.getBoundedRandU32(t):this.getRandU32()}};Object.defineProperty(Z.prototype,Symbol.toStringTag,{value:X});var Ce=[13715198867125970446n,3333371893450545919n,5627726498316411518n,8467276975966080893n],Q=`XoshiroMinimal`,$=class{bits=64;#e;static name=Q;constructor(e){if(e&&e[0]!=null&&e[1]!=null&&e[2]!=null&&e[3]!=null){if(this.#e=new BigUint64Array(4),this.#e[0]=e[0],this.#e[1]=e[1],this.#t(),this.#e[2]==null||this.#e[3]==null)throw TypeError(`unexpected`);this.#e[2]+=e[2],this.#e[3]+=e[3]}else this.#e=BigUint64Array.from(Ce)}#t(){if(this.#e[0]==null||this.#e[1]==null||this.#e[2]==null||this.#e[3]==null)throw TypeError(`unexpected`);let e=this.#e[1]<<17n;this.#e[2]^=this.#e[0],this.#e[3]^=this.#e[1],this.#e[1]^=this.#e[2],this.#e[0]^=this.#e[3],this.#e[2]^=e,this.#e[3]=w(this.#e[3],45n)}get value(){if(this.#e[0]==null||this.#e[3]==null)throw TypeError(`unexpected`);let e=w(this.#e[0]+this.#e[3],23n)+this.#e[0];return BigInt.asUintN(64,e)}getRandU64=()=>{let e=this.value;return this.#t(),e};getRandU32=()=>{let e=BigInt.asUintN(32,this.getRandU64());return Number(e)};getBoundedRandU64=e=>{let t=1n<<64n;if(e>t)throw RangeError("`bound` exceeded limit");if(e<=0n)throw RangeError("`bound` must be positive");let n=t%e;for(let t=0;t<1e5;++t){let t=this.getRandU64();if(t>=n)return t%e}throw Error(`exceeded loop limit`)};getBoundedRandU32=e=>{if(e>2**32)throw RangeError("`bound` exceeded limit");if(e<=0n)throw RangeError("`bound` must be positive");let t=this.getBoundedRandU64(BigInt(e));return Number(t)};*genRandU64s(e,t){if(e<=0)throw RangeError("`step` must be positive");for(let n=0;n<e;++n)yield t===void 0?this.getRandU64():this.getBoundedRandU64(t)}*genRandU32s(e,t){if(e<=0)throw RangeError("`step` must be positive");for(let n=0;n<e;++n)yield t===void 0?this.getRandU32():this.getBoundedRandU32(t)}};Object.defineProperty($.prototype,Symbol.toStringTag,{value:Q});var we=e=>{let t=e<0n;t&&(e*=-1n);let n=e.toString(2).length,r=e===1n<<BigInt(n-1)&&!(n%7)&&t,i=Math.floor(n/7)+1;return r?i-1:i};return j(),e.AsyncWorker=D,e.NamedError=q,e.PCGMinimal=Z,e.Rational=G,e.XoshiroMinimal=$,e.bailliePSW=H,e.bailliePSWAsync=ye,e.compress=d,e.compressString=p,e.decodeLEB128=e=>{let t=e.length,n=0n;for(let[t,r]of e.entries()){let e=BigInt(r&127);n+=e<<BigInt(7*t)}return BigInt.asIntN(7*t,n)},e.decodeRFC3986URIComponent=ce,e.decompress=f,e.decompressString=le,e.encodeLEB128=e=>{let t=we(e);e=BigInt.asUintN(t*7,e);let n=new Uint8Array(t);for(let r=0;r<t-1;++r)n[r]=Number(e&127n)|128,e>>=7n;let r=Number(e&127n);return n[t-1]=r,e>>=7n,n},e.encodeRFC3986URIComponent=se,e.exEuclidean=x,e.factorial=fe,e.floatRng=be,e.fromBase64=a,e.fromBase64URL=s,e.fromOct=l,e.getHash=oe,e.getRandBIByBitLength=v,e.getRandBIByRange=y,e.getRandPrimeByBitLength=_e,e.getRandPrimeByRange=ge,e.getRndInt=g,e.getStringTag=re,e.isDeepStrictEqual=u,e.isSquare=E,e.jacobiSymbol=T,e.lazify=ie,e.modPow=b,e.nullableStrictAt=h,e.parseCSV=ae,e.postFailed=A,e.postSuccess=k,e.residue=_,e.rot32=C,e.rot64=w,e.sameValueZero=ee,e.setTimeoutPromise=m,e.sleep=ne,e.strictAt=ue,e.toBase64=i,e.toBase64URL=o,e.toOct=c,e.withResolvers=te,e})({});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tktb-tess/util-fns",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.5",
|
|
4
4
|
"description": "Utility functions for personal use",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
"module": "./dist/bundle.js",
|
|
14
14
|
"types": "./dist/main.d.ts",
|
|
15
15
|
"exports": {
|
|
16
|
-
"
|
|
17
|
-
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/main.d.ts",
|
|
18
|
+
"import": "./dist/bundle.js"
|
|
19
|
+
}
|
|
18
20
|
},
|
|
19
21
|
"engines": {
|
|
20
22
|
"node": ">=22",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(function(){let e=(e,t)=>{t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n},t=(t,n,r)=>{if(r<1n)throw RangeError("`mod` must be positive");if(n<0n)throw RangeError("`power` must not be negative");if(t=e(t,r),r===1n)return 0n;if(t%r===1n||t%r===0n)return t;if(t===r-1n)return n&1n?r-1n:1n;let i=1n;for(;n>0n;)n&1n&&(i=i*t%r),t=t*t%r,n>>=1n;return i},n=(e,t)=>{if(t<1n||t%2n==0n)throw RangeError("`n` is out of range");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n},r=e=>{if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n},i=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self,a=(e,t)=>{if(!i())throw Error(`this function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)},o=(e,t)=>{if(!i())throw Error(`this function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)},s=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;let n=e-1n,r=0n;for(;n%2n==0n;)n>>=1n,r+=1n;let[i,a]=[n,r],o=t(2n,i,e);if(o===1n)return!0;for(let t=0n;t<a;t++){if(o===e-1n)return!0;o=o*o%e}return!1},c=e=>{let t=5n,i=n(t,e);for(;i>0n;){if(t=t>0n?t+2n:t-2n,t*=-1n,t===-15n&&r(e))return[0n,0n];i=n(t,e)}return[t,i]},l=(t,n)=>(t&1n)==1n?e(t+n>>1n,n):e(t>>1n,n),u=(t,n,r,i)=>{let a=1n,o=r,s=t.toString(2).slice(1);for(let t of s)[a,o]=[e(a*o,n),l(o*o+i*a*a,n)],t===`1`&&([a,o]=[l(r*a+o,n),l(i*a+r*o,n)]);return[a,o]},d=(n,r,i,a)=>{if(n%2n!=1n)throw RangeError("`n` must be odd");let o=n+1n,s=0n;for(;o%2n==0n;)o>>=1n,s+=1n;let[c,l]=u(o,n,i,r),d=l;if(c===0n)return!0;a=t(a,o,n);for(let r=0n;r<s;r++){if(d===0n)return!0;d=e(d*d-2n*a,n),a=t(a,2n,n)}return!1},f=[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n,257n,263n,269n,271n,277n,281n,283n,293n,307n,311n,313n,317n,331n,337n,347n,349n,353n,359n,367n,373n,379n,383n,389n,397n,401n,409n,419n,421n,431n,433n,439n,443n,449n,457n,461n,463n,467n,479n,487n,491n,499n],p=e=>{if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of f)if(e%t===0n)return e===t;if(!s(e))return!1;let[t,n]=c(e);return n===0n?!1:d(e,t,1n,(1n-t)/4n)};globalThis.onmessage=e=>{let{value:t,id:n}=e.data;try{a(p(t),n)}catch(e){o(e,n)}}})();
|