PageSourceSearch

https://guessthe.game/context-filter-polyfill.0.3.13.js

js guessthe.game collected 2026-10-04 00:27:23 UTC 15,249 bytes, 385 lines download raw bytes

1/**
2 * Skipped minification because the original files appears to be already minified.
3 * Original file: /npm/[email protected]/dist/index.js
4 *
5 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
6 */
7var P = new Map();
8var B = () => 'filter' in CanvasRenderingContext2D.prototype,
9    L_prime = (e) => {
10        let t = document.createElement('canvas');
11        return (
12            (t.height = e.canvas.height),
13            (t.width = e.canvas.width),
14            Object.defineProperty(t, '__skipFilterPatch', { value: !0 }),
15            t.getContext('2d')
16        );
17    };
18function H(e, t) {
19    Object.defineProperty(e.prototype, '__skipFilterPatch', { writable: !0, value: !1 }),
20        Object.defineProperty(e.prototype, '__currentPathMirror', { writable: !0, value: void 0 }),
21        Object.defineProperty(t.prototype, 'filter', { writable: !0, value: 'none' });
22}
23var x = [
24    '__skipFilterPatch',
25    '__currentPathMirror',
26    'canvas',
27    'clearRect',
28    'filter',
29    'getImageData',
30    'globalCompositeOperation',
31];
32function U(e) {
33    Object.keys(e.prototype)
34        .filter((t) => x.indexOf(t) < 0)
35        .map((t) => ({ member: t, descriptor: Object.getOwnPropertyDescriptor(e.prototype, t) }))
36        .filter(({ descriptor: t }) => t.set)
37        .forEach(({ member: t, descriptor: o }) => {
38            let n = o;
39            Object.defineProperty(e.prototype, t, {
40                get: function () {
41                    return this.canvas.__skipFilterPatch ? n.get.call(this) : this.canvas.__currentPathMirror[t];
42                },
43                set: function (i) {
44                    if (this.canvas.__skipFilterPatch) return n.set.call(this, i);
45                    this.canvas.__currentPathMirror || (this.canvas.__currentPathMirror = L_prime(this)),
46                        (this.canvas.__currentPathMirror[t] = i);
47                },
48            });
49        });
50}
51var G = ['clearRect', 'drawImage', 'fill', 'fillRect', 'fillText', 'stroke', 'strokeRect', 'strokeText'];
52var Y = (e, t) => {
53        var o;
54        (o = t.match(/([-a-z]+)(?:\(([\w\d\s\.%-]*)\))?/gim)) == null ||
55            o
56                .map((n) => {
57                    var i;
58                    return (i = n.match(/([-a-z]+)(?:\((.*)\))?/i)) == null ? void 0 : i.slice(1, 3);
59                })
60                .reduce((n, [i, r]) => (P.has(i) ? P.get(i)(n, ...(r || '').split(' ')) : n), e);
61    },
62    C = (e) => {
63        let t = parseFloat(e);
64        return /%\s*?$/i.test(e) && (t /= 100), t;
65    },
66    K = (e) => {
67        let t = parseFloat(e);
68        switch (e.slice(t.toString().length)) {
69            case 'deg':
70                t /= 360;
71                break;
72            case 'grad':
73                t /= 400;
74                break;
75            case 'rad':
76                t /= 2 * Math.PI;
77                break;
78        }
79        return t;
80    },
81    j = (e) => parseFloat(e);
82function W(e) {
83    Object.keys(e.prototype)
84        .filter((t) => x.indexOf(t) < 0)
85        .map((t) => ({ member: t, descriptor: Object.getOwnPropertyDescriptor(e.prototype, t) }))
86        .filter(({ descriptor: t }) => t.value && typeof t.value == 'function')
87        .forEach(({ member: t, descriptor: o }) => {
88            let n = o.value;
89            Object.defineProperty(e.prototype, t, {
90                value: function (...i) {
91                    if (this.canvas.__skipFilterPatch) return n.call(this, ...i);
92                    this.canvas.__currentPathMirror || (this.canvas.__currentPathMirror = L_prime(this));
93                    let r = this.canvas.__currentPathMirror[t](...i);
94                    if (G.includes(t)) {
95                        Y(this.canvas.__currentPathMirror, this.filter), (this.canvas.__skipFilterPatch = !0);
96                        let s;
97                        'getTransform' in this && ((s = this.getTransform()), this.setTransform(1, 0, 0, 1, 0, 0)),
98                            this.drawImage(this.canvas.__currentPathMirror.canvas, 0, 0),
99                            s && this.setTransform(s),
100                            (this.canvas.__skipFilterPatch = !1),
101                            (this.canvas.__currentPathMirror = L_prime(this));
102                    }
103                    return r;
104                },
105            });
106        });
107}
108var X = (e) => e;
109var $ = (e, t = '0') => {
110    let o = j(t);
111    if (o <= 0) return e;
112    let { height: n, width: i } = e.canvas,
113        r = e.getImageData(0, 0, i, n),
114        { data: s } = r,
115        a = i - 1,
116        l = n - 1,
117        p = o + 1,
118        m = [
119            1, 57, 41, 21, 203, 34, 97, 73, 227, 91, 149, 62, 105, 45, 39, 137, 241, 107, 3, 173, 39, 71, 65, 238, 219,
120            101, 187, 87, 81, 151, 141, 133, 249, 117, 221, 209, 197, 187, 177, 169, 5, 153, 73, 139, 133, 127, 243,
121            233, 223, 107, 103, 99, 191, 23, 177, 171, 165, 159, 77, 149, 9, 139, 135, 131, 253, 245, 119, 231, 224,
122            109, 211, 103, 25, 195, 189, 23, 45, 175, 171, 83, 81, 79, 155, 151, 147, 9, 141, 137, 67, 131, 129, 251,
123            123, 30, 235, 115, 113, 221, 217, 53, 13, 51, 50, 49, 193, 189, 185, 91, 179, 175, 43, 169, 83, 163, 5, 79,
124            155, 19, 75, 147, 145, 143, 35, 69, 17, 67, 33, 65, 255, 251, 247, 243, 239, 59, 29, 229, 113, 111, 219, 27,
125            213, 105, 207, 51, 201, 199, 49, 193, 191, 47, 93, 183, 181, 179, 11, 87, 43, 85, 167, 165, 163, 161, 159,
126            157, 155, 77, 19, 75, 37, 73, 145, 143, 141, 35, 138, 137, 135, 67, 33, 131, 129, 255, 63, 250, 247, 61,
127            121, 239, 237, 117, 29, 229, 227, 225, 111, 55, 109, 216, 213, 211, 209, 207, 205, 203, 201, 199, 197, 195,
128            193, 48, 190, 47, 93, 185, 183, 181, 179, 178, 176, 175, 173, 171, 85, 21, 167, 165, 41, 163, 161, 5, 79,
129            157, 78, 154, 153, 19, 75, 149, 74, 147, 73, 144, 143, 71, 141, 140, 139, 137, 17, 135, 134, 133, 66, 131,
130            65, 129, 1,
131        ][o],
132        D = [
133            0, 9, 10, 10, 14, 12, 14, 14, 16, 15, 16, 15, 16, 15, 15, 17, 18, 17, 12, 18, 16, 17, 17, 19, 19, 18, 19,
134            18, 18, 19, 19, 19, 20, 19, 20, 20, 20, 20, 20, 20, 15, 20, 19, 20, 20, 20, 21, 21, 21, 20, 20, 20, 21, 18,
135            21, 21, 21, 21, 20, 21, 17, 21, 21, 21, 22, 22, 21, 22, 22, 21, 22, 21, 19, 22, 22, 19, 20, 22, 22, 21, 21,
136            21, 22, 22, 22, 18, 22, 22, 21, 22, 22, 23, 22, 20, 23, 22, 22, 23, 23, 21, 19, 21, 21, 21, 23, 23, 23, 22,
137            23, 23, 21, 23, 22, 23, 18, 22, 23, 20, 22, 23, 23, 23, 21, 22, 20, 22, 21, 22, 24, 24, 24, 24, 24, 22, 21,
138            24, 23, 23, 24, 21, 24, 23, 24, 22, 24, 24, 22, 24, 24, 22, 23, 24, 24, 24, 20, 23, 22, 23, 24, 24, 24, 24,
139            24, 24, 24, 23, 21, 23, 22, 23, 24, 24, 24, 22, 24, 24, 24, 23, 22, 24, 24, 25, 23, 25, 25, 23, 24, 25, 25,
140            24, 22, 25, 25, 25, 24, 23, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 23, 25, 23, 24, 25, 25, 25,
141            25, 25, 25, 25, 25, 25, 24, 22, 25, 25, 23, 25, 25, 20, 24, 25, 24, 25, 25, 22, 24, 25, 24, 25, 24, 25, 25,
142            24, 25, 25, 25, 25, 22, 25, 25, 25, 24, 25, 24, 25, 18,
143        ][o],
144        h = [],
145        y = [],
146        d = [],
147        v = [],
148        T = [],
149        M = [],
150        E = 3,
151        c,
152        _,
153        w,
154        R;
155    for (; E-- > 0; ) {
156        let F = 0,
157            g = 0;
158        for (let O = 0; O < n; O++) {
159            let b = s[F] * p,
160                k = s[F + 1] * p,
161                z = s[F + 2] * p,
162                N = s[F + 3] * p;
163            for (let u = 1; u <= o; u++)
164                (c = F + ((u > a ? a : u) << 2)), (b += s[c++]), (k += s[c++]), (z += s[c++]), (N += s[c]);
165            for (let u = 0; u < i; u++)
166                (h[g] = b),
167                    (y[g] = k),
168                    (d[g] = z),
169                    (v[g] = N),
170                    O === 0 && ((T[u] = ((c = u + p) < a ? c : a) << 2), (M[u] = (c = u - o) > 0 ? c << 2 : 0)),
171                    (_ = F + T[u]),
172                    (w = F + M[u]),
173                    (b += s[_++] - s[w++]),
174                    (k += s[_++] - s[w++]),
175                    (z += s[_++] - s[w++]),
176                    (N += s[_] - s[w]),
177                    g++;
178            F += i << 2;
179        }
180        for (let O = 0; O < i; O++) {
181            let b = O,
182                k = h[b] * p,
183                z = y[b] * p,
184                N = d[b] * p,
185                u = v[b] * p;
186            for (let I = 1; I <= o; I++) (b += I > l ? 0 : i), (k += h[b]), (z += y[b]), (N += d[b]), (u += v[b]);
187            g = O << 2;
188            for (let I = 0; I < n; I++)
189                (s[g + 3] = R = (u * m) >>> D),
190                    R > 0
191                        ? ((R = 255 / R),
192                          (s[g] = ((k * m) >>> D) * R),
193                          (s[g + 1] = ((z * m) >>> D) * R),
194                          (s[g + 2] = ((N * m) >>> D) * R))
195                        : (s[g] = s[g + 1] = s[g + 2] = 0),
196                    O === 0 && ((T[I] = ((c = I + p) < l ? c : l) * i), (M[I] = (c = I - o) > 0 ? c * i : 0)),
197                    (_ = O + T[I]),
198                    (w = O + M[I]),
199                    (k += h[_] - h[w]),
200                    (z += y[_] - y[w]),
201                    (N += d[_] - d[w]),
202                    (u += v[_] - v[w]),
203                    (g += i << 2);
204        }
205    }
206    return e.putImageData(r, 0, 0), e;
207};
208var q = (e, t = '1') => {
209    if (((t = C(t)), t === 1)) return e;
210    t < 0 && (t = 0);
211    let { height: o, width: n } = e.canvas,
212        i = e.getImageData(0, 0, n, o),
213        { data: r } = i,
214        { length: s } = r;
215    for (let a = 0; a < s; a += 4) (r[a + 0] *= t), (r[a + 1] *= t), (r[a + 2] *= t);
216    return e.putImageData(i, 0, 0), e;
217};
218var J = (e, t = '1') => {
219    if (((t = C(t)), t === 1)) return e;
220    t < 0 && (t = 0);
221    let { height: o, width: n } = e.canvas,
222        i = e.getImageData(0, 0, n, o),
223        { data: r } = i,
224        { length: s } = r;
225    for (let a = 0; a < s; a += 4)
226        (r[a + 0] = ((r[a + 0] / 255 - 0.5) * t + 0.5) * 255),
227            (r[a + 1] = ((r[a + 1] / 255 - 0.5) * t + 0.5) * 255),
228            (r[a + 2] = ((r[a + 2] / 255 - 0.5) * t + 0.5) * 255);
229    return e.putImageData(i, 0, 0), e;
230};
231var Q = (e, t, o, n, i) => {
232    let r = document.createElement('canvas').getContext('2d'),
233        { width: s, height: a } = e.canvas;
234    return (
235        (r.canvas.width = s),
236        (r.canvas.height = a),
237        (r.shadowOffsetX = j(t)),
238        (r.shadowOffsetY = j(o)),
239        (r.shadowBlur = i ? j(n || '0') : 0),
240        (r.shadowColor = i || n || 'transparent'),
241        r.drawImage(e.canvas, 0, 0),
242        e.putImageData(r.getImageData(0, 0, s, a), 0, 0),
243        e
244    );
245};
246var V = (e, t = '0') => {
247    if (((t = C(t)), t <= 0)) return e;
248    t > 1 && (t = 1);
249    let { height: o, width: n } = e.canvas,
250        i = e.getImageData(0, 0, n, o),
251        { data: r } = i,
252        { length: s } = r;
253    for (let a = 0; a < s; a += 4) {
254        let l = r[a] * 0.2126 + r[a + 1] * 0.7152 + r[a + 2] * 0.0722;
255        (r[a + 0] += (l - r[a + 0]) * t), (r[a + 1] += (l - r[a + 1]) * t), (r[a + 2] += (l - r[a + 2]) * t);
256    }
257    return e.putImageData(i, 0, 0), e;
258};
259var Z = (e, t = '0deg') => {
260    let o = K(t);
261    if (o <= 0) return e;
262    let { height: n, width: i } = e.canvas,
263        r = e.getImageData(0, 0, i, n),
264        { data: s } = r,
265        l = (((o % 1) + 1) % 1) * 3,
266        p = Math.floor(l),
267        f = l - p,
268        m = 1 - f,
269        S,
270        D,
271        h,
272        y,
273        d,
274        v,
275        T,
276        M,
277        E;
278    switch (p) {
279        default:
280            S = D = h = y = d = v = T = M = E = 0;
281            break;
282        case 0:
283            (S = m), (D = 0), (h = f), (y = f), (d = m), (v = 0), (T = 0), (M = f), (E = m);
284            break;
285        case 1:
286            (S = 0), (D = f), (h = m), (y = m), (d = 0), (v = f), (T = f), (M = m), (E = 0);
287            break;
288        case 2:
289            (S = f), (D = m), (h = 0), (y = 0), (d = f), (v = m), (T = m), (M = 0), (E = f);
290            break;
291    }
292    let c = 0;
293    for (let _ = 0; _ < n; ++_)
294        for (let w = 0; w < i; ++w) {
295            c = 4 * (_ * i + w);
296            let R = s[c + 0],
297                F = s[c + 1],
298                g = s[c + 2];
299            (s[c + 0] = Math.floor(S * R + D * F + h * g)),
300                (s[c + 1] = Math.floor(y * R + d * F + v * g)),
301                (s[c + 2] = Math.floor(T * R + M * F + E * g));
302        }
303    return e.putImageData(r, 0, 0), e;
304};
305var A = (e, t = '0') => {
306    if (((t = C(t)), t <= 0)) return e;
307    t > 1 && (t = 1);
308    let { height: o, width: n } = e.canvas,
309        i = e.getImageData(0, 0, n, o),
310        { data: r } = i,
311        { length: s } = r;
312    for (let a = 0; a < s; a += 4)
313        (r[a + 0] = Math.abs(r[a + 0] - 255 * t)),
314            (r[a + 1] = Math.abs(r[a + 1] - 255 * t)),
315            (r[a + 2] = Math.abs(r[a + 2] - 255 * t));
316    return e.putImageData(i, 0, 0), e;
317};
318var tt = (e, t = '1') => {
319    if (((t = C(t)), t < 0)) return e;
320    t > 1 && (t = 1);
321    let { height: o, width: n } = e.canvas,
322        i = e.getImageData(0, 0, n, o),
323        { data: r } = i,
324        { length: s } = r;
325    for (let a = 3; a < s; a += 4) r[a] *= t;
326    return e.putImageData(i, 0, 0), e;
327};
328var et = (e, t = '1') => {
329    let o = C(t);
330    if (o === 1) return e;
331    o < 0 && (o = 0);
332    let { height: n, width: i } = e.canvas,
333        r = e.getImageData(0, 0, i, n),
334        { data: s } = r,
335        a = (1 - o) * 0.3086,
336        l = (1 - o) * 0.6094,
337        p = (1 - o) * 0.082,
338        f = i << 2;
339    for (let m = 0; m < n; m++) {
340        let S = m * f;
341        for (let D = 0; D < i; D++) {
342            let h = S + (D << 2),
343                y = s[h + 0],
344                d = s[h + 1],
345                v = s[h + 2];
346            (s[h + 0] = (a + o) * y + l * d + p * v),
347                (s[h + 1] = a * y + (l + o) * d + p * v),
348                (s[h + 2] = a * y + l * d + (p + o) * v);
349        }
350    }
351    return e.putImageData(r, 0, 0), e;
352};
353var rt = (e, t = '0') => {
354    if (((t = C(t)), t <= 0)) return e;
355    t > 1 && (t = 1);
356    let { height: o, width: n } = e.canvas,
357        i = e.getImageData(0, 0, n, o),
358        { data: r } = i,
359        { length: s } = r;
360    for (let a = 0; a < s; a += 4) {
361        let l = r[a + 0],
362            p = r[a + 1],
363            f = r[a + 2];
364        (r[a + 0] = (0.393 * l + 0.769 * p + 0.189 * f) * t + l * (1 - t)),
365            (r[a + 1] = (0.349 * l + 0.686 * p + 0.168 * f) * t + p * (1 - t)),
366            (r[a + 2] = (0.272 * l + 0.534 * p + 0.131 * f) * t + f * (1 - t));
367    }
368    return e.putImageData(i, 0, 0), e;
369};
370P.set('none', X);
371P.set('blur', $);
372P.set('brightness', q);
373P.set('contrast', J);
374P.set('drop-shadow', Q);
375P.set('grayscale', V);
376P.set('hue-rotate', Z);
377P.set('invert', A);
378P.set('opacity', tt);
379P.set('saturate', et);
380P.set('sepia', rt);
381var st = typeof HTMLCanvasElement != 'undefined' && typeof CanvasRenderingContext2D != 'undefined';
382st &&
383    !B() &&
384    (H(HTMLCanvasElement, CanvasRenderingContext2D), U(CanvasRenderingContext2D), W(CanvasRenderingContext2D));
385//# sourceMappingURL=index.js.map

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