From 5d1ec969894d5b5d654cb690deb64101e500fd5e Mon Sep 17 00:00:00 2001 From: zyqunix Date: Fri, 15 Nov 2024 15:41:08 +0100 Subject: [PATCH] bio and old redo --- bio/Pixel.ttf | Bin 0 -> 75864 bytes bio/README.md | 1 + bio/audio.js | 138 +++++ bio/disable-devtool@latest | 1 + bio/index.html | 132 +++++ bio/index.js | 122 +++++ bio/particle.js | 1022 ++++++++++++++++++++++++++++++++++++ bio/style.css | 375 +++++++++++++ old/index.html | 6 +- 9 files changed, 1794 insertions(+), 3 deletions(-) create mode 100644 bio/Pixel.ttf create mode 100644 bio/README.md create mode 100644 bio/audio.js create mode 100644 bio/disable-devtool@latest create mode 100644 bio/index.html create mode 100644 bio/index.js create mode 100644 bio/particle.js create mode 100644 bio/style.css diff --git a/bio/Pixel.ttf b/bio/Pixel.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dcca687a434d5c7b6a3027e65e0b7d8728b25c71 GIT binary patch literal 75864 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 literal 0 HcmV?d00001 diff --git a/bio/README.md b/bio/README.md new file mode 100644 index 0000000..ee3294e --- /dev/null +++ b/bio/README.md @@ -0,0 +1 @@ +fuck the haters :middlefinger: \ No newline at end of file diff --git a/bio/audio.js b/bio/audio.js new file mode 100644 index 0000000..18149c9 --- /dev/null +++ b/bio/audio.js @@ -0,0 +1,138 @@ +const songs = [ + { + title: "Bladee & Ecco2k - Bleach", + src: "https://easyfiles.cc/2024/9/4ac37ab2-20d7-4fd8-863b-3dcee1c418cd/BLADEE%20&%20ECCO2K%20-%20BLEACH%20-%20drain%20gang%20(720p50,%20h264)(1).mp4" , + duration: 153 + }, + + { + title: "woody - Heaven & Hell", + src: "https://easyfiles.cc/2024/9/20fa08a2-8212-4212-93b7-9c62fc563505/woody%20heaven%20&%20hell%20prod.%201mint%20-%20real1woody%20(1080p,%20h264)(1).mp4" , + duration: 142 + }, + + + { + title: "woody - God Said I Was Good", + src: "https://easyfiles.cc/2024/8/9cafa851-0405-4009-b639-08ff5e029dc3/youtube_Z4IF2ujq1Xk_1280x720_h264(1).mp4" , + duration: 135 + }, + + { + title: "SmokeTeam6 - PackistanFlashback", + src: "file:///C:/Users/Fabio/Downloads/SmokeTeam6%20-%20PackistanFlashback%20(VEVO%20Official%20Music%20Video)%20-%20benwbush%20(1080p,%20h264)(1).mp4" , + duration: 92 + }, + + { + title: "sniper2004 - la ny", + src: "https://easyfiles.cc/2024/8/b8332c2a-e70b-4ec0-9ba8-acc7e5449db7/youtube_mkmn3QZSZUM_874x720_h264(1).mp4" , + duration: 87 + }, + + { + title: "Joeyy - PR Package", + src: "https://easyfiles.cc/2024/8/7c649f45-6573-4665-9675-4d869ea1332a/youtube_ZvphwrKo52s_1280x720_h264(1).mp4" , + duration: 111 + }, + + { + title: "woody - Paint Thinner", + src: "https://easyfiles.cc/2024/8/2110cfc6-d700-4c42-bc66-bafa5799c1fc/youtube_rhaFMuU1_qw_1280x720_h264(1).mp4" , + duration: 100 + }, + +]; + +let currentSongIndex = 0; +let isPlaying = false; + +const main = document.getElementById("player") +const videoPlayer = document.getElementById("videoPlayer"); +const playPauseButton = document.getElementById("playPause"); +const songInfo = document.getElementById("songInfo"); +const progressBar = document.getElementById("progressBar"); +const volumeSlider = document.getElementById('volumeSlider'); +const volumePercent = document.getElementById('volumePercent') +const currentDuration = document.getElementById("current-duration"); +const totalDuration = document.getElementById("total-duration"); + +videoPlayer.addEventListener("timeupdate", () => { + let value = (videoPlayer.currentTime / videoPlayer.duration) * 100; + progressBar.value = value; + updateSliderBackground(progressBar, value); + currentDuration.innerText = formatTime(videoPlayer.currentTime); + totalDuration.innerText = formatTime(songs[currentSongIndex].duration); +}); + +progressBar.addEventListener('wheel', function (event) { + event.preventDefault(); +}); + +document.getElementById("prev").addEventListener("click", () => { + currentSongIndex = (currentSongIndex - 1 + songs.length) % songs.length; + loadSong(currentSongIndex); + if (isPlaying) { + videoPlayer.play(); + } +}); + +document.getElementById("next").addEventListener("click", () => { + currentSongIndex = (currentSongIndex + 1) % songs.length; + loadSong(currentSongIndex); + if (isPlaying) { + videoPlayer.play(); + } +}); + +playPauseButton.addEventListener("click", () => { + if (isPlaying) { + videoPlayer.pause(); + playPauseButton.innerHTML = "►"; + } else { + videoPlayer.play(); + playPauseButton.innerHTML = "❚❚"; + } + isPlaying =!isPlaying; +}); + +videoPlayer.addEventListener("ended", () => { + currentSongIndex = (currentSongIndex + 1) % songs.length; + loadSong(currentSongIndex); + videoPlayer.play(); +}); + +function updateSliderBackground(slider, value) { + slider.style.background = `linear-gradient(to right, #ffffff 0%, #ffffff ${value}%, #cbcbcb ${value}%, #cbcbcb 100%)`; +} + +function loadSong(index) { + videoPlayer.src = songs[index].src; + songInfo.innerText = songs[index].title; + progressBar.value = 0; + totalDuration.innerText = formatTime(songs[index].duration); + videoPlayer.load(); + videoPlayer.play(); +} + +videoPlayer.volume = volumeSlider.value / 100; +volumePercent.innerText = `${volumeSlider.value}%`; +updateVolumeSliderBackground(volumeSlider, volumeSlider.value); + +volumeSlider.addEventListener('input', function () { + videoPlayer.volume = volumeSlider.value / 100; + volumePercent.innerText = `${volumeSlider.value}%`; + updateVolumeSliderBackground(volumeSlider, volumeSlider.value); +}); + +function updateVolumeSliderBackground(slider, value) { + slider.style.background = `linear-gradient(to right, #ffffff 0%, #ffffff ${value}%, #cbcbcb ${value}%, #cbcbcb 100%)`; +} + +function formatTime(time) { + const minutes = Math.floor(time / 60); + const seconds = Math.floor(time % 60); + return `${minutes}:${seconds.toString().padStart(2, "0")}`; +} + +loadSong(0); \ No newline at end of file diff --git a/bio/disable-devtool@latest b/bio/disable-devtool@latest new file mode 100644 index 0000000..f71219f --- /dev/null +++ b/bio/disable-devtool@latest @@ -0,0 +1 @@ +!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).DisableDevtool = t() }(this, function () { "use strict"; function o(e) { return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function u(e, t, n) { t && r(e.prototype, t), n && r(e, n), Object.defineProperty(e, "prototype", { writable: !1 }) } function e(e, t, n) { t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n } function n(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), Object.defineProperty(e, "prototype", { writable: !1 }), t && a(e, t) } function c(e) { return (c = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function a(e, t) { return (a = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e })(e, t) } function H(e, t) { if (t && ("object" == typeof t || "function" == typeof t)) return t; if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined"); t = e; if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t } function l(n) { var i = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () { })), !0 } catch (e) { return !1 } }(); return function () { var e, t = c(n); return H(this, i ? (e = c(this).constructor, Reflect.construct(t, arguments, e)) : t.apply(this, arguments)) } } function f(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function s(e, t) { var n, i = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!i) { if (Array.isArray(e) || (i = function (e, t) { if (e) { if ("string" == typeof e) return f(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Map" === (n = "Object" === n && e.constructor ? e.constructor.name : n) || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) return i && (e = i), n = 0, { s: t = function () { }, n: function () { return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] } }, e: function (e) { throw e }, f: t }; throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, r = !0, u = !1; return { s: function () { i = i.call(e) }, n: function () { var e = i.next(); return r = e.done, e }, e: function (e) { u = !0, o = e }, f: function () { try { r || null == i.return || i.return() } finally { if (u) throw o } } } } function t() { if (d.url) window.location.href = d.url; else if (d.rewriteHTML) try { document.documentElement.innerHTML = d.rewriteHTML } catch (e) { document.documentElement.innerText = d.rewriteHTML } else { try { window.opener = null, window.open("", "_self"), window.close(), window.history.back() } catch (e) { console.log(e) } setTimeout(function () { window.location.href = d.timeOutUrl || "https://theajack.github.io/disable-devtool/404.html?h=".concat(encodeURIComponent(location.host)) }, 500) } } var d = { md5: "", ondevtoolopen: t, ondevtoolclose: null, url: "", timeOutUrl: "", tkName: "ddtk", interval: 500, disableMenu: !0, stopIntervalTime: 5e3, clearIntervalWhenDevOpenTrigger: !1, detectors: [0, 1, 3, 4, 5, 6, 7], clearLog: !0, disableSelect: !1, disableCopy: !1, disableCut: !1, disablePaste: !1, ignore: null, disableIframeParents: !0, seo: !0, rewriteHTML: "" }, U = ["detectors", "ondevtoolclose", "ignore"]; function q(e) { var t, n = 0 < arguments.length && void 0 !== e ? e : {}; for (t in d) { var i = t; void 0 === n[i] || o(d[i]) !== o(n[i]) && -1 === U.indexOf(i) || (d[i] = n[i]) } "function" == typeof d.ondevtoolclose && !0 === d.clearIntervalWhenDevOpenTrigger && (d.clearIntervalWhenDevOpenTrigger = !1, console.warn("【DISABLE-DEVTOOL】clearIntervalWhenDevOpenTrigger 在使用 ondevtoolclose 时无效")) } function v() { return (new Date).getTime() } function z(e) { var t = v(); return e(), v() - t } function B(n, i) { function e(t) { return function () { n && n(); var e = t.apply(void 0, arguments); return i && i(), e } } var t = window.alert, o = window.confirm, r = window.prompt; try { window.alert = e(t), window.confirm = e(o), window.prompt = e(r) } catch (e) { } } var p = { iframe: !1, pc: !1, qqBrowser: !1, firefox: !1, macos: !1, edge: !1, oldEdge: !1, ie: !1, iosChrome: !1, iosEdge: !1, chrome: !1, seoBot: !1, mobile: !1 }; function W() { function e(e) { return -1 !== t.indexOf(e) } var t = navigator.userAgent.toLowerCase(), n = function () { var e = navigator, t = e.platform, e = e.maxTouchPoints; if ("number" == typeof e) return 1 < e; if ("string" == typeof t) { e = t.toLowerCase(); if (/(mac|win)/i.test(e)) return !1; if (/(android|iphone|ipad|ipod|arch)/i.test(e)) return !0 } return /(iphone|ipad|ipod|ios|android)/i.test(navigator.userAgent.toLowerCase()) }(), i = !!window.top && window !== window.top, o = !n, r = e("qqbrowser"), u = e("firefox"), c = e("macintosh"), a = e("edge"), l = a && !e("chrome"), f = l || e("trident") || e("msie"), s = e("crios"), d = e("edgios"), v = e("chrome") || s, h = !n && /(googlebot|baiduspider|bingbot|applebot|petalbot|yandexbot|bytespider|chrome\-lighthouse|moto g power)/i.test(t); Object.assign(p, { iframe: i, pc: o, qqBrowser: r, firefox: u, macos: c, edge: a, oldEdge: l, ie: f, iosChrome: s, iosEdge: d, chrome: v, seoBot: h, mobile: n }) } function M() { for (var e = function () { for (var e = {}, t = 0; t < 500; t++)e["".concat(t)] = "".concat(t); return e }(), t = [], n = 0; n < 50; n++)t.push(e); return t } var h, y, K, b = window.console || { log: function () { }, table: function () { }, clear: function () { } }; function w() { d.clearLog && K() } var V = "", F = !1; function X() { var e = d.ignore; if (e) { if ("function" == typeof e) return e(); if (0 !== e.length) { var t = location.href; if (V === t) return F; V = t; var n, i = !1, o = s(e); try { for (o.s(); !(n = o.n()).done;) { var r = n.value; if ("string" == typeof r) { if (-1 !== t.indexOf(r)) { i = !0; break } } else if (r.test(t)) { i = !0; break } } } catch (e) { o.e(e) } finally { o.f() } return F = i } } } var N = function () { return !1 }; function g(n) { var t, e, i = 74, o = 73, r = 85, u = 83, c = 123, a = p.macos ? function (e, t) { return e.metaKey && e.altKey && (t === o || t === i) } : function (e, t) { return e.ctrlKey && e.shiftKey && (t === o || t === i) }, l = p.macos ? function (e, t) { return e.metaKey && e.altKey && t === r || e.metaKey && t === u } : function (e, t) { return e.ctrlKey && (t === u || t === r) }; n.addEventListener("keydown", function (e) { var t = (e = e || n.event).keyCode || e.which; if (t === c || a(e, t) || l(e, t)) return T(n, e) }, !0), t = n, d.disableMenu && t.addEventListener("contextmenu", function (e) { if ("touch" !== e.pointerType) return T(t, e) }), e = n, d.disableSelect && m(e, "selectstart"), e = n, d.disableCopy && m(e, "copy"), e = n, d.disableCut && m(e, "cut"), e = n, d.disablePaste && m(e, "paste") } function m(t, e) { t.addEventListener(e, function (e) { return T(t, e) }) } function T(e, t) { if (!X() && !N()) return (t = t || e.event).returnValue = !1, t.preventDefault(), !1 } var O, D = !1, S = {}; function $(e) { S[e] = !1 } function G() { for (var e in S) if (S[e]) return D = !0; return D = !1 } (_ = O = O || {})[_.Unknown = -1] = "Unknown", _[_.RegToString = 0] = "RegToString", _[_.DefineId = 1] = "DefineId", _[_.Size = 2] = "Size", _[_.DateToString = 3] = "DateToString", _[_.FuncToString = 4] = "FuncToString", _[_.Debugger = 5] = "Debugger", _[_.Performance = 6] = "Performance", _[_.DebugLib = 7] = "DebugLib"; var k = function () { function n(e) { var t = e.type, e = e.enabled, e = void 0 === e || e; i(this, n), this.type = O.Unknown, this.enabled = !0, this.type = t, this.enabled = e, this.enabled && (t = this, Z.push(t), this.init()) } return u(n, [{ key: "onDevToolOpen", value: function () { var e; console.warn("You don't have permission to use DEVTOOL!【type = ".concat(this.type, "】")), d.clearIntervalWhenDevOpenTrigger && ne(), window.clearTimeout(Q), d.ondevtoolopen(this.type, t), e = this.type, S[e] = !0 } }, { key: "init", value: function () { } }]), n }(), Y = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DebugLib }) } return u(t, [{ key: "init", value: function () { } }, { key: "detect", value: function () { var e; (!0 === (null == (e = null == (e = window.eruda) ? void 0 : e._devTools) ? void 0 : e._isShow) || window._vcOrigConsole && window.document.querySelector("#__vconsole.vc-toggle")) && this.onDevToolOpen() } }], [{ key: "isUsing", value: function () { return !!window.eruda || !!window._vcOrigConsole } }]), t }(), J = 0, Q = 0, Z = [], ee = 0; function te(o) { function e() { l = !0 } function t() { l = !1 } var n, i, r, u, c, a, l = !1; function f() { (a[u] === r ? i : n)() } B(e, t), n = t, i = e, void 0 !== (a = document).hidden ? (r = "hidden", c = "visibilitychange", u = "visibilityState") : void 0 !== a.mozHidden ? (r = "mozHidden", c = "mozvisibilitychange", u = "mozVisibilityState") : void 0 !== a.msHidden ? (r = "msHidden", c = "msvisibilitychange", u = "msVisibilityState") : void 0 !== a.webkitHidden && (r = "webkitHidden", c = "webkitvisibilitychange", u = "webkitVisibilityState"), a.removeEventListener(c, f, !1), a.addEventListener(c, f, !1), J = window.setInterval(function () { if (!(o.isSuspend || l || X())) { var e, t, n = s(Z); try { for (n.s(); !(e = n.n()).done;) { var i = e.value; $(i.type), i.detect(ee++) } } catch (e) { n.e(e) } finally { n.f() } w(), "function" == typeof d.ondevtoolclose && (t = D, !G() && t && d.ondevtoolclose()) } }, d.interval), Q = setTimeout(function () { p.pc || Y.isUsing() || ne() }, d.stopIntervalTime) } function ne() { window.clearInterval(J) } var P = 8; function ie(e) { for (var t = function (e, t) { e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t; for (var n = 1732584193, i = -271733879, o = -1732584194, r = 271733878, u = 0; u < e.length; u += 16) { var c = n, a = i, l = o, f = r; n = E(n, i, o, r, e[u + 0], 7, -680876936), r = E(r, n, i, o, e[u + 1], 12, -389564586), o = E(o, r, n, i, e[u + 2], 17, 606105819), i = E(i, o, r, n, e[u + 3], 22, -1044525330), n = E(n, i, o, r, e[u + 4], 7, -176418897), r = E(r, n, i, o, e[u + 5], 12, 1200080426), o = E(o, r, n, i, e[u + 6], 17, -1473231341), i = E(i, o, r, n, e[u + 7], 22, -45705983), n = E(n, i, o, r, e[u + 8], 7, 1770035416), r = E(r, n, i, o, e[u + 9], 12, -1958414417), o = E(o, r, n, i, e[u + 10], 17, -42063), i = E(i, o, r, n, e[u + 11], 22, -1990404162), n = E(n, i, o, r, e[u + 12], 7, 1804603682), r = E(r, n, i, o, e[u + 13], 12, -40341101), o = E(o, r, n, i, e[u + 14], 17, -1502002290), i = E(i, o, r, n, e[u + 15], 22, 1236535329), n = j(n, i, o, r, e[u + 1], 5, -165796510), r = j(r, n, i, o, e[u + 6], 9, -1069501632), o = j(o, r, n, i, e[u + 11], 14, 643717713), i = j(i, o, r, n, e[u + 0], 20, -373897302), n = j(n, i, o, r, e[u + 5], 5, -701558691), r = j(r, n, i, o, e[u + 10], 9, 38016083), o = j(o, r, n, i, e[u + 15], 14, -660478335), i = j(i, o, r, n, e[u + 4], 20, -405537848), n = j(n, i, o, r, e[u + 9], 5, 568446438), r = j(r, n, i, o, e[u + 14], 9, -1019803690), o = j(o, r, n, i, e[u + 3], 14, -187363961), i = j(i, o, r, n, e[u + 8], 20, 1163531501), n = j(n, i, o, r, e[u + 13], 5, -1444681467), r = j(r, n, i, o, e[u + 2], 9, -51403784), o = j(o, r, n, i, e[u + 7], 14, 1735328473), i = j(i, o, r, n, e[u + 12], 20, -1926607734), n = I(n, i, o, r, e[u + 5], 4, -378558), r = I(r, n, i, o, e[u + 8], 11, -2022574463), o = I(o, r, n, i, e[u + 11], 16, 1839030562), i = I(i, o, r, n, e[u + 14], 23, -35309556), n = I(n, i, o, r, e[u + 1], 4, -1530992060), r = I(r, n, i, o, e[u + 4], 11, 1272893353), o = I(o, r, n, i, e[u + 7], 16, -155497632), i = I(i, o, r, n, e[u + 10], 23, -1094730640), n = I(n, i, o, r, e[u + 13], 4, 681279174), r = I(r, n, i, o, e[u + 0], 11, -358537222), o = I(o, r, n, i, e[u + 3], 16, -722521979), i = I(i, o, r, n, e[u + 6], 23, 76029189), n = I(n, i, o, r, e[u + 9], 4, -640364487), r = I(r, n, i, o, e[u + 12], 11, -421815835), o = I(o, r, n, i, e[u + 15], 16, 530742520), i = I(i, o, r, n, e[u + 2], 23, -995338651), n = L(n, i, o, r, e[u + 0], 6, -198630844), r = L(r, n, i, o, e[u + 7], 10, 1126891415), o = L(o, r, n, i, e[u + 14], 15, -1416354905), i = L(i, o, r, n, e[u + 5], 21, -57434055), n = L(n, i, o, r, e[u + 12], 6, 1700485571), r = L(r, n, i, o, e[u + 3], 10, -1894986606), o = L(o, r, n, i, e[u + 10], 15, -1051523), i = L(i, o, r, n, e[u + 1], 21, -2054922799), n = L(n, i, o, r, e[u + 8], 6, 1873313359), r = L(r, n, i, o, e[u + 15], 10, -30611744), o = L(o, r, n, i, e[u + 6], 15, -1560198380), i = L(i, o, r, n, e[u + 13], 21, 1309151649), n = L(n, i, o, r, e[u + 4], 6, -145523070), r = L(r, n, i, o, e[u + 11], 10, -1120210379), o = L(o, r, n, i, e[u + 2], 15, 718787259), i = L(i, o, r, n, e[u + 9], 21, -343485551), n = C(n, c), i = C(i, a), o = C(o, l), r = C(r, f) } return Array(n, i, o, r) }(function (e) { for (var t = Array(), n = (1 << P) - 1, i = 0; i < e.length * P; i += P)t[i >> 5] |= (e.charCodeAt(i / P) & n) << i % 32; return t }(e), e.length * P), n = "0123456789abcdef", i = "", o = 0; o < 4 * t.length; o++)i += n.charAt(t[o >> 2] >> o % 4 * 8 + 4 & 15) + n.charAt(t[o >> 2] >> o % 4 * 8 & 15); return i } function x(e, t, n, i, o, r) { return C((t = C(C(t, e), C(i, r))) << o | t >>> 32 - o, n) } function E(e, t, n, i, o, r, u) { return x(t & n | ~t & i, e, t, o, r, u) } function j(e, t, n, i, o, r, u) { return x(t & i | n & ~i, e, t, o, r, u) } function I(e, t, n, i, o, r, u) { return x(t ^ n ^ i, e, t, o, r, u) } function L(e, t, n, i, o, r, u) { return x(n ^ (t | ~i), e, t, o, r, u) } function C(e, t) { var n = (65535 & e) + (65535 & t); return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n } var _ = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.RegToString, enabled: p.qqBrowser || p.firefox }) } return u(t, [{ key: "init", value: function () { var t = this; this.lastTime = 0, this.reg = /./, h(this.reg), this.reg.toString = function () { var e; return p.qqBrowser ? (e = (new Date).getTime(), t.lastTime && e - t.lastTime < 100 ? t.onDevToolOpen() : t.lastTime = e) : p.firefox && t.onDevToolOpen(), "" } } }, { key: "detect", value: function () { h(this.reg) } }]), t }(), oe = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DefineId }) } return u(t, [{ key: "init", value: function () { var e = this; this.div = document.createElement("div"), this.div.__defineGetter__("id", function () { e.onDevToolOpen() }), Object.defineProperty(this.div, "id", { get: function () { e.onDevToolOpen() } }) } }, { key: "detect", value: function () { h(this.div) } }]), t }(), re = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Size, enabled: !p.iframe && !p.edge }) } return u(t, [{ key: "init", value: function () { var e = this; this.checkWindowSizeUneven(), window.addEventListener("resize", function () { setTimeout(function () { e.checkWindowSizeUneven() }, 100) }, !0) } }, { key: "detect", value: function () { } }, { key: "checkWindowSizeUneven", value: function () { var e = function () { if (ue(window.devicePixelRatio)) return window.devicePixelRatio; var e = window.screen; return !(ue(e) || !e.deviceXDPI || !e.logicalXDPI) && e.deviceXDPI / e.logicalXDPI }(); if (!1 !== e) { var t = 200 < window.outerWidth - window.innerWidth * e, e = 300 < window.outerHeight - window.innerHeight * e; if (t || e) return this.onDevToolOpen(), !1; $(this.type) } return !0 } }]), t }(); function ue(e) { return null != e } var A, ce = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DateToString, enabled: !p.iosChrome && !p.iosEdge }) } return u(t, [{ key: "init", value: function () { var e = this; this.count = 0, this.date = new Date, this.date.toString = function () { return e.count++, "" } } }, { key: "detect", value: function () { this.count = 0, h(this.date), w(), 2 <= this.count && this.onDevToolOpen() } }]), t }(), ae = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.FuncToString, enabled: !p.iosChrome && !p.iosEdge }) } return u(t, [{ key: "init", value: function () { var e = this; this.count = 0, this.func = function () { }, this.func.toString = function () { return e.count++, "" } } }, { key: "detect", value: function () { this.count = 0, h(this.func), w(), 2 <= this.count && this.onDevToolOpen() } }]), t }(), le = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Debugger, enabled: p.iosChrome || p.iosEdge }) } return u(t, [{ key: "detect", value: function () { var e = v(); 100 < v() - e && this.onDevToolOpen() } }]), t }(), fe = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Performance, enabled: p.chrome || !p.mobile }) } return u(t, [{ key: "init", value: function () { this.maxPrintTime = 0, this.largeObjectArray = M() } }, { key: "detect", value: function () { var e = this, t = z(function () { y(e.largeObjectArray) }), n = z(function () { h(e.largeObjectArray) }); if (this.maxPrintTime = Math.max(this.maxPrintTime, n), w(), 0 === t || 0 === this.maxPrintTime) return !1; t > 10 * this.maxPrintTime && this.onDevToolOpen() } }]), t }(), se = (e(A = {}, O.RegToString, _), e(A, O.DefineId, oe), e(A, O.Size, re), e(A, O.DateToString, ce), e(A, O.FuncToString, ae), e(A, O.Debugger, le), e(A, O.Performance, fe), e(A, O.DebugLib, Y), A); var R = Object.assign(function (e) { function t() { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ""; return { success: !e, reason: e } } if (R.isRunning) return t("already running"); if (W(), K = p.ie ? (h = function () { return b.log.apply(b, arguments) }, y = function () { return b.table.apply(b, arguments) }, function () { return b.clear() }) : (h = b.log, y = b.table, b.clear), q(e), d.md5 && ie(function (e) { var t = window.location.search, n = window.location.hash; if ("" !== (t = "" === t && "" !== n ? "?".concat(n.split("?")[1]) : t) && void 0 !== t) { n = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"), e = t.substr(1).match(n); if (null != e) return unescape(e[2]) } return "" }(d.tkName)) === d.md5) return t("token passed"); if (d.seo && p.seoBot) return t("seobot"); R.isRunning = !0, te(R); var n = R, i = (N = function () { return n.isSuspend }, window.top), o = window.parent; if (g(window), d.disableIframeParents && i && o && i !== window) { for (; o !== i;)g(o), o = o.parent; g(i) } return ("all" === d.detectors ? Object.keys(se) : d.detectors).forEach(function (e) { new se[e] }), t() }, { isRunning: !1, isSuspend: !1, md5: ie, version: "0.3.7", DetectorType: O, isDevToolOpened: G }); _ = function () { if ("undefined" == typeof window || !window.document) return null; var n = document.querySelector("[disable-devtool-auto]"); if (!n) return null; var i = ["disable-menu", "disable-select", "disable-copy", "disable-cut", "disable-paste", "clear-log"], o = ["interval"], r = {}; return ["md5", "url", "tk-name", "detectors"].concat(i, o).forEach(function (e) { var t = n.getAttribute(e); null !== t && (-1 !== o.indexOf(e) ? t = parseInt(t) : -1 !== i.indexOf(e) ? t = "false" !== t : "detector" === e && "all" !== t && (t = t.split(" ")), r[function (e) { if (-1 === e.indexOf("-")) return e; var t = !1; return e.split("").map(function (e) { return "-" === e ? (t = !0, "") : t ? (t = !1, e.toUpperCase()) : e }).join("") }(e)] = t) }), r }(); return _ && R(_), R }); diff --git a/bio/index.html b/bio/index.html new file mode 100644 index 0000000..dd76a39 --- /dev/null +++ b/bio/index.html @@ -0,0 +1,132 @@ + + + + + + + + @zyqunix + + + + + + + + + + + + + + +
+ +
+ +
+ +

zyqunix

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

+
+ +
+ 0:00 + 0:00 +
+
+
+ + + +
+
+
+ +
+
+ +
+
+
+
+ +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/bio/index.js b/bio/index.js new file mode 100644 index 0000000..20777a3 --- /dev/null +++ b/bio/index.js @@ -0,0 +1,122 @@ +const messages = [ + "Amateur Programmer", + "Donate Crypto!", + "lispnb and pluggnb <3 <3", + "woody.. my dearest ૮˶ᵔᵕᵔ˶ა", + "iluvshed", + "#lacethemwithfent", + "#lifeiseasy", + "#teammhuman" +]; + +let currentMessageIndex = 0; +let currentCharIndex = 0; +let isDeleting = false; + +function typeWriter() { + const currentMessage = messages[currentMessageIndex]; + let displayText = ''; + + if (isDeleting) { + displayText = currentMessage.substring(0, currentCharIndex - 1); + currentCharIndex--; + } else { + displayText = currentMessage.substring(0, currentCharIndex + 1); + currentCharIndex++; + } + + displayText += "|"; + document.getElementById('typewriter').innerHTML = displayText; + + if (!isDeleting && currentCharIndex === currentMessage.length + 1) { + isDeleting = true; + setTimeout(typeWriter, 1000); + } else if (isDeleting && currentCharIndex === 0) { + isDeleting = false; + currentMessageIndex = (currentMessageIndex + 1) % messages.length; + setTimeout(typeWriter, 1000); + } else { + setTimeout(typeWriter, isDeleting ? 40 : 75); + } +} + +let cursorOpacity = 0; +let fadeDirection = 1; + +setInterval(() => { + const cursorElement = document.getElementById("typewriter-line"); + + if (cursorElement) { + cursorElement.style.opacity = cursorOpacity; + cursorOpacity += 0.1 * fadeDirection; + + if (cursorOpacity <= 0 || cursorOpacity >= 1) { + fadeDirection *= -1; + } + } +}, 50); + +document.addEventListener("DOMContentLoaded", function () { + let titleIndex = 0; + let increasingTitle = true; + + function updateTitle() { + const titleText = "@zyqunix"; + + if (increasingTitle) { + document.title = titleText.substring(0, titleIndex + 1); + titleIndex++; + + if (titleIndex === titleText.length) { + increasingTitle = false; + setTimeout(updateTitle, 1500); + return; + } + } else { + document.title = titleText.substring(0, titleIndex - 1); + titleIndex--; + + if (titleIndex === 1) { + increasingTitle = true; + setTimeout(updateTitle, 500); + return; + } + } + + setTimeout(updateTitle, 333); + } + + updateTitle(); +}); + +let clickToEnterOverlay = document.getElementById("clickToEnter"); +clickToEnterOverlay.onclick = () => { + clickToEnterOverlay.style.transition = '0.75s'; + clickToEnterOverlay.style.opacity = '0'; + clickToEnterOverlay.style.zIndex = '-9999'; + + main.style.opacity = '1'; + main.style.marginTop = "0px"; + + videoPlayer.play(); + playPauseButton.innerHTML = "❚❚"; + isPlaying = !isPlaying; + + typeWriter(); +}; + +document.addEventListener("DOMContentLoaded", () => { + window.addEventListener("keydown", event => { + if (event.ctrlKey && ['s', 'c', 'e', 'u'].includes(event.key.toLowerCase())) { + event.preventDefault(); + window.location.href = 'https://pornhub.com/gay'; + } + }); + + document.addEventListener("contextmenu", event => event.preventDefault()); +}); + +function copyToClipboard(text) { + navigator.clipboard.writeText(text); + alert("Copied to clipboard!"); +} diff --git a/bio/particle.js b/bio/particle.js new file mode 100644 index 0000000..3706c04 --- /dev/null +++ b/bio/particle.js @@ -0,0 +1,1022 @@ +var cursoreffects = function (t) { + "use strict"; + return t.bubbleCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = [], + r = []; + const d = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function u() { + if (d.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", g), s.addEventListener("touchmove", m, { + passive: !0 + }), s.addEventListener("touchstart", m, { + passive: !0 + }), window.addEventListener("resize", A), p() + } + + function A(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function m(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) f(t.touches[e].clientX, t.touches[e].clientY, r[Math.floor(Math.random() * r.length)]) + } + + function g(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + f(l.x, l.y) + } + + function f(t, e, n) { + a.push(new v(t, e, n)) + } + + function p() { + ! function () { + if (0 != a.length) { + n.clearRect(0, 0, h, c); + for (let t = 0; t < a.length; t++) a[t].update(n); + for (let t = a.length - 1; t >= 0; t--) a[t].lifeSpan < 0 && a.splice(t, 1); + 0 == a.length && n.clearRect(0, 0, h, c) + } + }(), i = requestAnimationFrame(p) + } + + function y() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", g), s.removeEventListener("touchmove", m), s.removeEventListener("touchstart", m), window.addEventListener("resize", A) + } + + function v(t, e, n) { + const i = Math.floor(60 * Math.random() + 60); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 10), + y: -1 * Math.random() - .4 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.baseDimension = 4, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.velocity.x += 2 * (Math.random() < .5 ? -1 : 1) / 75, this.velocity.y -= Math.random() / 600, this.lifeSpan--; + const e = .2 + (this.initialLifeSpan - this.lifeSpan) / this.initialLifeSpan; + t.fillStyle = "#e6f1f7", t.strokeStyle = "#3a92c5", t.beginPath(), t.arc(this.position.x - this.baseDimension / 2 * e, this.position.y - this.baseDimension / 2, this.baseDimension * e, 0, 2 * Math.PI), t.stroke(), t.fill(), t.closePath() + } + } + return d.onchange = () => { + d.matches ? y() : u() + }, u(), { + destroy: y + } + }, t.characterCursor = function (t) { + let e = t && t.element, + n = e || document.body, + i = t?.characters || ["h", "e", "l", "l", "o"]; + const o = t?.colors || ["#6622CC", "#A755C2", "#B07C9E", "#B59194", "#D2A1B8"]; + let s, h, c, l = t?.cursorOffset || { + x: 0, + y: 0 + }, + a = window.innerWidth, + r = window.innerHeight, + d = { + x: a / 2, + y: a / 2 + }, + u = [], + A = t?.font || "15px serif", + m = t?.characterLifeSpanFunction || function () { + return Math.floor(60 * Math.random() + 80) + }, + g = t?.initialCharacterVelocityFunction || function () { + return { + x: (Math.random() < .5 ? -1 : 1) * Math.random() * 5, + y: (Math.random() < .5 ? -1 : 1) * Math.random() * 5 + } + }, + f = t?.characterVelocityChangeFunctions || { + x_func: function (t, e) { + return (Math.random() < .5 ? -1 : 1) / 30 + }, + y_func: function (t, e) { + return (Math.random() < .5 ? -1 : 1) / 15 + } + }, + p = t?.characterScalingFunction || function (t, e) { + let n = e - t; + return Math.max(n / e * 2, 0) + }, + y = t?.characterNewRotationDegreesFunction || function (t, e) { + return (e - t) / 5 + }, + v = []; + const w = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function x() { + if (w.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + s = document.createElement("canvas"), h = s.getContext("2d"), s.style.top = "0px", s.style.left = "0px", s.style.pointerEvents = "none", e ? (s.style.position = "absolute", n.appendChild(s), s.width = n.clientWidth, s.height = n.clientHeight) : (s.style.position = "fixed", document.body.appendChild(s), s.width = a, s.height = r), h.font = A, h.textBaseline = "middle", h.textAlign = "center", i.forEach((t => { + let e = h.measureText(t), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = 2.5 * e.actualBoundingBoxAscent, i.textAlign = "center", i.font = A, i.textBaseline = "middle"; + var s = o[Math.floor(Math.random() * o.length)]; + i.fillStyle = s, i.fillText(t, n.width / 2, e.actualBoundingBoxAscent), v.push(n) + })), n.addEventListener("mousemove", C), n.addEventListener("touchmove", M, { + passive: !0 + }), n.addEventListener("touchstart", M, { + passive: !0 + }), window.addEventListener("resize", E), B() + } + + function E(t) { + a = window.innerWidth, r = window.innerHeight, e ? (s.width = n.clientWidth, s.height = n.clientHeight) : (s.width = a, s.height = r) + } + + function M(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) L(t.touches[e].clientX, t.touches[e].clientY, v[Math.floor(Math.random() * v.length)]) + } + + function C(t) { + if (e) { + const e = n.getBoundingClientRect(); + d.x = t.clientX - e.left, d.y = t.clientY - e.top + } else d.x = t.clientX, d.y = t.clientY; + L(d.x, d.y, v[Math.floor(Math.random() * i.length)]) + } + + function L(t, e, n) { + u.push(new R(t, e, n)) + } + + function B() { + ! function () { + if (0 != u.length) { + h.clearRect(0, 0, a, r); + for (let t = 0; t < u.length; t++) u[t].update(h); + for (let t = u.length - 1; t >= 0; t--) u[t].lifeSpan < 0 && u.splice(t, 1); + 0 == u.length && h.clearRect(0, 0, a, r) + } + }(), c = requestAnimationFrame(B) + } + + function b() { + s.remove(), cancelAnimationFrame(c), n.removeEventListener("mousemove", C), n.removeEventListener("touchmove", M), n.removeEventListener("touchstart", M), window.addEventListener("resize", E) + } + + function R(t, e, n) { + const i = m(); + this.rotationSign = Math.random() < .5 ? -1 : 1, this.age = 0, this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = g(), this.position = { + x: t + l.x, + y: e + l.y + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.age++, this.velocity.x += f.x_func(this.age, this.initialLifeSpan), this.velocity.y += f.y_func(this.age, this.initialLifeSpan); + const e = p(this.age, this.initialLifeSpan), + n = .0174533 * (this.rotationSign * y(this.age, this.initialLifeSpan)); + t.translate(this.position.x, this.position.y), t.rotate(n), t.drawImage(this.canv, -this.canv.width / 2 * e, -this.canv.height / 2, this.canv.width * e, this.canv.height * e), t.rotate(-n), t.translate(-this.position.x, -this.position.y) + } + } + return w.onchange = () => { + w.matches ? b() : x() + }, x(), { + destroy: b + } + }, t.clockCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }; + const a = t && t.dateColor || "blue", + r = t && t.faceColor || "black", + d = t && t.secondsColor || "red", + u = t && t.minutesColor || "black", + A = t && t.hoursColor || "black", + m = .4, + g = t && t.theDays || ["SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"], + f = t && t.theMonths || ["JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"]; + let p = new Date, + y = p.getDate(), + v = p.getYear() + 1900; + const w = (" " + g[p.getDay()] + " " + y + " " + f[p.getMonth()] + " " + v).split(""), + x = ["3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "1", "2"], + E = x.length, + M = ["•", "•", "•"], + C = ["•", "•", "•", "•"], + L = ["•", "•", "•", "•", "•"], + B = 360 / E, + b = 360 / w.length, + R = 45 / 6.5, + S = [], + Y = [], + W = [], + H = [], + I = [], + X = [], + D = [], + T = [], + F = []; + var z = parseInt(w.length + E + M.length + C.length + L.length) + 1; + const P = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function J() { + if (P.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), n.font = "10px sans-serif", n.textAlign = "center", n.textBaseline = "middle"; + for (let t = 0; t < z; t++) S[t] = 0, Y[t] = 0, W[t] = 0, H[t] = 0; + for (let t = 0; t < w.length; t++) F[t] = { + color: a, + value: w[t] + }; + for (let t = 0; t < x.length; t++) T[t] = { + color: r, + value: x[t] + }; + for (let t = 0; t < M.length; t++) D[t] = { + color: A, + value: M[t] + }; + for (let t = 0; t < C.length; t++) X[t] = { + color: u, + value: C[t] + }; + for (let t = 0; t < L.length; t++) I[t] = { + color: d, + value: L[t] + }; + s.addEventListener("mousemove", Z), s.addEventListener("touchmove", Q, { + passive: !0 + }), s.addEventListener("touchstart", Q, { + passive: !0 + }), window.addEventListener("resize", U), k() + } + + function U(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function Q(t) { + if (t.touches.length > 0) + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.touches[0].clientX - e.left, l.y = t.touches[0].clientY - e.top + } else l.x = t.touches[0].clientX, l.y = t.touches[0].clientY + } + + function Z(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY + } + + function k() { + ! function () { + W[0] = Math.round(S[0] += (l.y - S[0]) * m), H[0] = Math.round(Y[0] += (l.x - Y[0]) * m); + for (let t = 1; t < z; t++) W[t] = Math.round(S[t] += (W[t - 1] - S[t]) * m), H[t] = Math.round(Y[t] += (H[t - 1] - Y[t]) * m), S[t - 1] >= c - 80 && (S[t - 1] = c - 80), Y[t - 1] >= h - 80 && (Y[t - 1] = h - 80) + }(), + function () { + n.clearRect(0, 0, h, c); + const t = new Date, + e = t.getSeconds(), + i = Math.PI * (e - 15) / 30, + o = t.getMinutes(), + s = Math.PI * (o - 15) / 30, + l = t.getHours(), + a = Math.PI * (l - 3) / 6 + Math.PI * parseInt(t.getMinutes()) / 360; + for (let t = 0; t < F.length; t++) F[t].y = S[t] + 67.5 * Math.sin(-i + t * b * Math.PI / 180), F[t].x = Y[t] + 67.5 * Math.cos(-i + t * b * Math.PI / 180), n.fillStyle = F[t].color, n.fillText(F[t].value, F[t].x, F[t].y); + for (let t = 0; t < T.length; t++) T[t].y = S[F.length + t] + 45 * Math.sin(t * B * Math.PI / 180), T[t].x = Y[F.length + t] + 45 * Math.cos(t * B * Math.PI / 180), n.fillStyle = T[t].color, n.fillText(T[t].value, T[t].x, T[t].y); + for (let t = 0; t < D.length; t++) D[t].y = S[F.length + E + t] + 0 + t * R * Math.sin(a), D[t].x = Y[F.length + E + t] + 0 + t * R * Math.cos(a), n.fillStyle = D[t].color, n.fillText(D[t].value, D[t].x, D[t].y); + for (let t = 0; t < X.length; t++) X[t].y = S[F.length + E + D.length + t] + 0 + t * R * Math.sin(s), X[t].x = Y[F.length + E + D.length + t] + 0 + t * R * Math.cos(s), n.fillStyle = X[t].color, n.fillText(X[t].value, X[t].x, X[t].y); + for (let t = 0; t < I.length; t++) I[t].y = S[F.length + E + D.length + X.length + t] + 0 + t * R * Math.sin(i), I[t].x = Y[F.length + E + D.length + X.length + t] + 0 + t * R * Math.cos(i), n.fillStyle = I[t].color, n.fillText(I[t].value, I[t].x, I[t].y) + }(), i = requestAnimationFrame(k) + } + + function N() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", Z), s.removeEventListener("touchmove", Q), s.removeEventListener("touchstart", Q), window.addEventListener("resize", U) + } + return P.onchange = () => { + P.matches ? N() : J() + }, J(), { + destroy: N + } + }, t.emojiCursor = function (t) { + const e = t && t.emoji || ["😀", "😂", "😆", "😊"]; + let n = t && t.element, + i = n || document.body, + o = window.innerWidth, + s = window.innerHeight; + const h = { + x: o / 2, + y: o / 2 + }, + c = { + x: o / 2, + y: o / 2 + }; + let l = 0; + const a = [], + r = []; + let d, u, A; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + d = document.createElement("canvas"), u = d.getContext("2d"), d.style.top = "0px", d.style.left = "0px", d.style.pointerEvents = "none", n ? (d.style.position = "absolute", i.appendChild(d), d.width = i.clientWidth, d.height = i.clientHeight) : (d.style.position = "fixed", document.body.appendChild(d), d.width = o, d.height = s), u.font = "21px serif", u.textBaseline = "middle", u.textAlign = "center", e.forEach((t => { + let e = u.measureText(t), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = 2 * e.actualBoundingBoxAscent, i.textAlign = "center", i.font = "21px serif", i.textBaseline = "middle", i.fillText(t, n.width / 2, e.actualBoundingBoxAscent), r.push(n) + })), i.addEventListener("mousemove", y, { + passive: !0 + }), i.addEventListener("touchmove", p, { + passive: !0 + }), i.addEventListener("touchstart", p, { + passive: !0 + }), window.addEventListener("resize", f), w() + } + + function f(t) { + o = window.innerWidth, s = window.innerHeight, n ? (d.width = i.clientWidth, d.height = i.clientHeight) : (d.width = o, d.height = s) + } + + function p(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) v(t.touches[e].clientX, t.touches[e].clientY, r[Math.floor(Math.random() * r.length)]) + } + + function y(t) { + t.timeStamp - l < 16 || window.requestAnimationFrame((() => { + if (n) { + const e = i.getBoundingClientRect(); + h.x = t.clientX - e.left, h.y = t.clientY - e.top + } else h.x = t.clientX, h.y = t.clientY; + Math.hypot(h.x - c.x, h.y - c.y) > 1 && (v(h.x, h.y, r[Math.floor(Math.random() * e.length)]), c.x = h.x, c.y = h.y, l = t.timeStamp) + })) + } + + function v(t, e, n) { + a.push(new E(t, e, n)) + } + + function w() { + ! function () { + if (0 != a.length) { + u.clearRect(0, 0, o, s); + for (let t = 0; t < a.length; t++) a[t].update(u); + for (let t = a.length - 1; t >= 0; t--) a[t].lifeSpan < 0 && a.splice(t, 1); + 0 == a.length && u.clearRect(0, 0, o, s) + } + }(), A = requestAnimationFrame(w) + } + + function x() { + d.remove(), cancelAnimationFrame(A), i.removeEventListener("mousemove", y), i.removeEventListener("touchmove", p), i.removeEventListener("touchstart", p), window.addEventListener("resize", f) + } + + function E(t, e, n) { + const i = Math.floor(60 * Math.random() + 80); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: .4 * Math.random() + .8 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.y += .05; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.drawImage(this.canv, this.position.x - this.canv.width / 2 * e, this.position.y - this.canv.height / 2, this.canv.width * e, this.canv.height * e) + } + } + return m.onchange = () => { + m.matches ? x() : g() + }, g(), { + destroy: x + } + }, t.fairyDustCursor = function (t) { + let e = t && t.colors || ["#FFFFFF", "#FFFFFF", "#FFFFFF"], + n = t && t.element, + i = n || document.body, + o = window.innerWidth, + s = window.innerHeight; + const h = { + x: o / 2, + y: o / 2 + }, + c = { + x: o / 2, + y: o / 2 + }, + l = [], + a = []; + let r, d, u; + const A = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function m() { + if (A.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + r = document.createElement("canvas"), d = r.getContext("2d"), r.style.top = "0px", r.style.left = "0px", r.style.pointerEvents = "none", n ? (r.style.position = "absolute", i.appendChild(r), r.width = i.clientWidth, r.height = i.clientHeight) : (r.style.position = "fixed", i.appendChild(r), r.width = o, r.height = s), d.font = "21px serif", d.textBaseline = "middle", d.textAlign = "center", e.forEach((t => { + let e = d.measureText("*"), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = e.actualBoundingBoxAscent + e.actualBoundingBoxDescent, i.fillStyle = t, i.textAlign = "center", i.font = "21px serif", i.textBaseline = "middle", i.fillText("*", n.width / 2, e.actualBoundingBoxAscent), a.push(n) + })), i.addEventListener("mousemove", p), i.addEventListener("touchmove", f, { + passive: !0 + }), i.addEventListener("touchstart", f, { + passive: !0 + }), window.addEventListener("resize", g), v() + } + + function g(t) { + o = window.innerWidth, s = window.innerHeight, n ? (r.width = i.clientWidth, r.height = i.clientHeight) : (r.width = o, r.height = s) + } + + function f(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) y(t.touches[e].clientX, t.touches[e].clientY, a[Math.floor(Math.random() * a.length)]) + } + + function p(t) { + window.requestAnimationFrame((() => { + if (n) { + const e = i.getBoundingClientRect(); + h.x = t.clientX - e.left, h.y = t.clientY - e.top + } else h.x = t.clientX, h.y = t.clientY; + Math.hypot(h.x - c.x, h.y - c.y) > 1.5 && (y(h.x, h.y, a[Math.floor(Math.random() * e.length)]), c.x = h.x, c.y = h.y) + })) + } + + function y(t, e, n) { + l.push(new x(t, e, n)) + } + + function v() { + ! function () { + if (0 != l.length) { + d.clearRect(0, 0, o, s); + for (let t = 0; t < l.length; t++) l[t].update(d); + for (let t = l.length - 1; t >= 0; t--) l[t].lifeSpan < 0 && l.splice(t, 1); + 0 == l.length && d.clearRect(0, 0, o, s) + } + }(), u = requestAnimationFrame(v) + } + + function w() { + r.remove(), cancelAnimationFrame(u), i.removeEventListener("mousemove", p), i.removeEventListener("touchmove", f), i.removeEventListener("touchstart", f), window.addEventListener("resize", g) + } + + function x(t, e, n) { + const i = Math.floor(30 * Math.random() + 60); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: .7 * Math.random() + .9 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.y += .02; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.drawImage(this.canv, this.position.x - this.canv.width / 2 * e, this.position.y - this.canv.height / 2, this.canv.width * e, this.canv.height * e) + } + } + return A.onchange = () => { + A.matches ? w() : m() + }, m(), { + destroy: w + } + }, t.followingDotCursor = function (t) { + let e, n, i = t && t.element, + o = i || document.body, + s = window.innerWidth, + h = window.innerHeight, + c = { + x: s / 2, + y: s / 2 + }, + l = new function (t, e, n, i) { + this.position = { + x: t, + y: e + }, this.width = n, this.lag = i, this.moveTowards = function (t, e, n) { + this.position.x += (t - this.position.x) / this.lag, this.position.y += (e - this.position.y) / this.lag, n.fillStyle = a, n.beginPath(), n.arc(this.position.x, this.position.y, this.width, 0, 2 * Math.PI), n.fill(), n.closePath() + } + }(s / 2, h / 2, 10, 10), + a = t?.color || "#323232a6"; + const r = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function d() { + if (r.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", i ? (e.style.position = "absolute", o.appendChild(e), e.width = o.clientWidth, e.height = o.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = s, e.height = h), o.addEventListener("mousemove", A), window.addEventListener("resize", u), m() + } + + function u(t) { + s = window.innerWidth, h = window.innerHeight, i ? (e.width = o.clientWidth, e.height = o.clientHeight) : (e.width = s, e.height = h) + } + + function A(t) { + if (i) { + const e = o.getBoundingClientRect(); + c.x = t.clientX - e.left, c.y = t.clientY - e.top + } else c.x = t.clientX, c.y = t.clientY + } + + function m() { + n.clearRect(0, 0, s, h), l.moveTowards(c.x, c.y, n), requestAnimationFrame(m) + } + + function g() { + e.remove(), cancelAnimationFrame(m), o.removeEventListener("mousemove", A), window.addEventListener("resize", u) + } + return r.onchange = () => { + r.matches ? g() : d() + }, d(), { + destroy: g + } + }, t.ghostCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = t && t.randomDelay, + c = t && t.minDelay || 5, + l = t && t.maxDelay || 50, + a = window.innerWidth, + r = window.innerHeight, + d = { + x: a / 2, + y: a / 2 + }, + u = [], + A = new Image; + t && t.image ? A.src = t.image : A.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg=="; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = a, e.height = r), s.addEventListener("mousemove", x), s.addEventListener("touchmove", p, { + passive: !0 + }), s.addEventListener("touchstart", p, { + passive: !0 + }), window.addEventListener("resize", f), M() + } + + function f(t) { + a = window.innerWidth, r = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = a, e.height = r) + } + + function p(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) E(t.touches[e].clientX, t.touches[e].clientY, A) + } + m.onchange = () => { + m.matches ? C() : g() + }; + let y = () => Math.floor(Math.random() * (l - c + 1)) + c, + v = Date.now(), + w = y(); + + function x(t) { + if (h) { + if (v + w > Date.now()) return; + v = Date.now(), w = y() + } + if (o) { + const e = s.getBoundingClientRect(); + d.x = t.clientX - e.left, d.y = t.clientY - e.top + } else d.x = t.clientX, d.y = t.clientY; + E(d.x, d.y, A) + } + + function E(t, e, n) { + u.push(new L(t, e, n)) + } + + function M() { + ! function () { + if (0 != u.length) { + n.clearRect(0, 0, a, r); + for (let t = 0; t < u.length; t++) u[t].update(n); + for (let t = u.length - 1; t >= 0; t--) u[t].lifeSpan < 0 && u.splice(t, 1); + 0 == u.length && n.clearRect(0, 0, a, r) + } + }(), i = requestAnimationFrame(M) + } + + function C() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", x), s.removeEventListener("touchmove", p), s.removeEventListener("touchstart", p), window.addEventListener("resize", f) + } + + function L(t, e, n) { + this.initialLifeSpan = 40, this.lifeSpan = 40, this.position = { + x: t, + y: e + }, this.image = n, this.update = function (t) { + this.lifeSpan--; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.globalAlpha = e, t.drawImage(this.image, this.position.x, this.position.y) + } + } + return g(), { + destroy: C + } + }, t.rainbowCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = []; + const r = t?.length || 20, + d = t?.colors || ["#FE0000", "#FD8C00", "#FFE500", "#119F0B", "#0644B3", "#C22EDC"], + u = t?.size || 3; + let A = !1; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", p), window.addEventListener("resize", f), y() + } + + function f(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function p(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + if (!1 === A) { + A = !0; + for (let t = 0; t < r; t++) e = l.x, n = l.y, void 0, a.push(new w(e, n)) + } + var e, n + } + + function y() { + ! function () { + n.clearRect(0, 0, h, c), n.lineJoin = "round"; + let t = [], + e = l.x, + i = l.y; + a.forEach((function (n, o, s) { + let h = s[o + 1] || s[0]; + n.position.x = e, n.position.y = i, t.push({ + x: e, + y: i + }), e += .4 * (h.position.x - n.position.x), i += .4 * (h.position.y - n.position.y) + })), d.forEach(((e, i) => { + n.beginPath(), n.strokeStyle = e, t.length && n.moveTo(t[0].x, t[0].y + i * (u - 1)), t.forEach(((t, e) => { + 0 !== e && n.lineTo(t.x, t.y + i * u) + })), n.lineWidth = u, n.lineCap = "round", n.stroke() + })) + }(), i = requestAnimationFrame(y) + } + + function v() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", p), window.addEventListener("resize", f) + } + + function w(t, e) { + this.position = { + x: t, + y: e + } + } + return m.onchange = () => { + m.matches ? v() : g() + }, g(), { + destroy: v + } + }, t.snowflakeCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = ["❄️"], + c = window.innerWidth, + l = window.innerHeight, + a = { + x: c / 2, + y: c / 2 + }, + r = [], + d = []; + const u = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function A() { + if (u.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = c, e.height = l), n.font = "12px serif", n.textBaseline = "middle", n.textAlign = "center", h.forEach((t => { + let e = n.measureText(t), + i = document.createElement("canvas"), + o = i.getContext("2d"); + i.width = e.width, i.height = 2 * e.actualBoundingBoxAscent, o.textAlign = "center", o.font = "12px serif", o.textBaseline = "middle", o.fillText(t, i.width / 2, e.actualBoundingBoxAscent), d.push(i) + })), s.addEventListener("mousemove", f), s.addEventListener("touchmove", g, { + passive: !0 + }), s.addEventListener("touchstart", g, { + passive: !0 + }), window.addEventListener("resize", m), y() + } + + function m(t) { + c = window.innerWidth, l = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = c, e.height = l) + } + + function g(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) p(t.touches[e].clientX, t.touches[e].clientY, d[Math.floor(Math.random() * d.length)]) + } + + function f(t) { + if (o) { + const e = s.getBoundingClientRect(); + a.x = t.clientX - e.left, a.y = t.clientY - e.top + } else a.x = t.clientX, a.y = t.clientY; + p(a.x, a.y, d[Math.floor(Math.random() * h.length)]) + } + + function p(t, e, n) { + r.push(new w(t, e, n)) + } + + function y() { + ! function () { + if (0 != r.length) { + n.clearRect(0, 0, c, l); + for (let t = 0; t < r.length; t++) r[t].update(n); + for (let t = r.length - 1; t >= 0; t--) r[t].lifeSpan < 0 && r.splice(t, 1); + 0 == r.length && n.clearRect(0, 0, c, l) + } + }(), i = requestAnimationFrame(y) + } + + function v() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", f), s.removeEventListener("touchmove", g), s.removeEventListener("touchstart", g), window.addEventListener("resize", m) + } + + function w(t, e, n) { + const i = Math.floor(60 * Math.random() + 80); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: 1 + Math.random() + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.x += 2 * (Math.random() < .5 ? -1 : 1) / 75, this.velocity.y -= Math.random() / 300; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0), + n = .0174533 * (2 * this.lifeSpan); + t.translate(this.position.x, this.position.y), t.rotate(n), t.drawImage(this.canv, -this.canv.width / 2 * e, -this.canv.height / 2, this.canv.width * e, this.canv.height * e), t.rotate(-n), t.translate(-this.position.x, -this.position.y) + } + } + return u.onchange = () => { + u.matches ? v() : A() + }, A(), { + destroy: v + } + }, t.springyEmojiCursor = function (t) { + let e, n, i, o, s = t && t.emoji || "🤪", + h = t && t.element, + c = h || document.body, + l = window.innerWidth, + a = window.innerHeight, + r = { + x: l / 2, + y: l / 2 + }, + d = []; + const u = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function A() { + if (u.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", h ? (e.style.position = "absolute", c.appendChild(e), e.width = c.clientWidth, e.height = c.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = l, e.height = a), n.font = "16px serif", n.textBaseline = "middle", n.textAlign = "center"; + let t = n.measureText(s), + i = document.createElement("canvas"), + r = i.getContext("2d"); + i.width = t.width, i.height = 2 * t.actualBoundingBoxAscent, r.textAlign = "center", r.font = "16px serif", r.textBaseline = "middle", r.fillText(s, i.width / 2, t.actualBoundingBoxAscent), o = i; + let A = 0; + for (A = 0; A < 7; A++) d[A] = new x(o); + c.addEventListener("mousemove", f), c.addEventListener("touchmove", g, { + passive: !0 + }), c.addEventListener("touchstart", g, { + passive: !0 + }), window.addEventListener("resize", m), p() + } + + function m(t) { + l = window.innerWidth, a = window.innerHeight, h ? (e.width = c.clientWidth, e.height = c.clientHeight) : (e.width = l, e.height = a) + } + + function g(t) { + if (t.touches.length > 0) + if (h) { + const e = c.getBoundingClientRect(); + r.x = t.touches[0].clientX - e.left, r.y = t.touches[0].clientY - e.top + } else r.x = t.touches[0].clientX, r.y = t.touches[0].clientY + } + + function f(t) { + if (h) { + const e = c.getBoundingClientRect(); + r.x = t.clientX - e.left, r.y = t.clientY - e.top + } else r.x = t.clientX, r.y = t.clientY + } + + function p() { + ! function () { + e.width = e.width, d[0].position.x = r.x, d[0].position.y = r.y; + for (let t = 1; t < 7; t++) { + let i = new v(0, 0); + t > 0 && w(t - 1, t, i), t < 6 && w(t + 1, t, i); + let o, s, h = new v(10 * -d[t].velocity.x, 10 * -d[t].velocity.y), + c = new v((i.X + h.X) / 1, (i.Y + h.Y) / 1 + 50); + d[t].velocity.x += .01 * c.X, d[t].velocity.y += .01 * c.Y, Math.abs(d[t].velocity.x) < .1 && Math.abs(d[t].velocity.y) < .1 && Math.abs(c.X) < .1 && Math.abs(c.Y) < .1 && (d[t].velocity.x = 0, d[t].velocity.y = 0), d[t].position.x += d[t].velocity.x, d[t].position.y += d[t].velocity.y, o = e.clientHeight, s = e.clientWidth, d[t].position.y >= o - 11 - 1 && (d[t].velocity.y > 0 && (d[t].velocity.y = .7 * -d[t].velocity.y), d[t].position.y = o - 11 - 1), d[t].position.x >= s - 11 && (d[t].velocity.x > 0 && (d[t].velocity.x = .7 * -d[t].velocity.x), d[t].position.x = s - 11 - 1), d[t].position.x < 0 && (d[t].velocity.x < 0 && (d[t].velocity.x = .7 * -d[t].velocity.x), d[t].position.x = 0), d[t].draw(n) + } + }(), i = requestAnimationFrame(p) + } + + function y() { + e.remove(), cancelAnimationFrame(i), c.removeEventListener("mousemove", f), c.removeEventListener("touchmove", g), c.removeEventListener("touchstart", g), window.addEventListener("resize", m) + } + + function v(t, e) { + this.X = t, this.Y = e + } + + function w(t, e, n) { + let i = d[t].position.x - d[e].position.x, + o = d[t].position.y - d[e].position.y, + s = Math.sqrt(i * i + o * o); + if (s > 10) { + let t = 10 * (s - 10); + n.X += i / s * t, n.Y += o / s * t + } + } + + function x(t) { + this.position = { + x: r.x, + y: r.y + }, this.velocity = { + x: 0, + y: 0 + }, this.canv = t, this.draw = function (t) { + t.drawImage(this.canv, this.position.x - this.canv.width / 2, this.position.y - this.canv.height / 2, this.canv.width, this.canv.height) + } + } + return u.onchange = () => { + u.matches ? y() : A() + }, A(), { + destroy: y + } + }, t.textFlag = function (t) { + let e, n, i, o = t || {}, + s = t && t.element, + h = s || document.body, + c = o.text ? " " + t.text : " Your Text Here", + l = t?.color || "#000000", + a = o.font || "monospace", + r = o.textSize || 12, + d = r + "px " + a, + u = o.gap || r + 2, + A = 0, + m = [], + g = window.innerWidth, + f = window.innerHeight, + p = { + x: g / 2, + y: g / 2 + }; + for (let t = 0; t < c.length; t++) m[t] = { + letter: c.charAt(t), + x: g / 2, + y: g / 2 + }; + t?.size; + const y = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function v() { + if (y.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", s ? (e.style.position = "absolute", h.appendChild(e), e.width = h.clientWidth, e.height = h.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = g, e.height = f), h.addEventListener("mousemove", x), window.addEventListener("resize", w), E() + } + + function w(t) { + g = window.innerWidth, f = window.innerHeight, s ? (e.width = h.clientWidth, e.height = h.clientHeight) : (e.width = g, e.height = f) + } + + function x(t) { + if (s) { + const e = h.getBoundingClientRect(); + p.x = t.clientX - e.left, p.y = t.clientY - e.top + } else p.x = t.clientX, p.y = t.clientY + } + + function E() { + ! function () { + n.clearRect(0, 0, g, f), A += .15; + let t = 2 * Math.cos(A), + e = 5 * Math.sin(A); + for (let t = m.length - 1; t > 0; t--) m[t].x = m[t - 1].x + u, m[t].y = m[t - 1].y, n.fillStyle = l, n.font = d, n.fillText(m[t].letter, m[t].x, m[t].y); + let i = m[0].x, + o = m[0].y; + i += (p.x - i) / 5 + t + 2, o += (p.y - o) / 5 + e, m[0].x = i, m[0].y = o + }(), i = requestAnimationFrame(E) + } + + function M() { + e.remove(), cancelAnimationFrame(i), h.removeEventListener("mousemove", x), window.addEventListener("resize", w) + } + return y.onchange = () => { + y.matches ? M() : v() + }, v(), { + destroy: M + } + }, t.trailingCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = []; + const r = t?.particles || 15, + d = t?.rate || .4, + u = t?.baseImageSrc || "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg=="; + let A = !1, + m = new Image; + m.src = u; + const g = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function f() { + if (g.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", y), window.addEventListener("resize", p), v() + } + + function p(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function y(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + if (!1 === A) { + A = !0; + for (let t = 0; t < r; t++) e = l.x, n = l.y, i = m, a.push(new x(e, n, i)) + } + var e, n, i + } + + function v() { + ! function () { + n.clearRect(0, 0, h, c); + let t = l.x, + e = l.y; + a.forEach((function (i, o, s) { + let h = s[o + 1] || s[0]; + i.position.x = t, i.position.y = e, i.move(n), t += (h.position.x - i.position.x) * d, e += (h.position.y - i.position.y) * d + })) + }(), i = requestAnimationFrame(v) + } + + function w() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", y), window.addEventListener("resize", p) + } + + function x(t, e, n) { + this.position = { + x: t, + y: e + }, this.image = n, this.move = function (t) { + t.drawImage(this.image, this.position.x, this.position.y) + } + } + return g.onchange = () => { + g.matches ? w() : f() + }, f(), { + destroy: w + } + }, Object.defineProperty(t, "__esModule", { + value: !0 + }), t +}({}); + +window.onload = function() { + + cursoreffects.fairyDustCursor({ + element: document.body, + color: "#FFFFFF" + }) +}; \ No newline at end of file diff --git a/bio/style.css b/bio/style.css new file mode 100644 index 0000000..150cd7c --- /dev/null +++ b/bio/style.css @@ -0,0 +1,375 @@ +html, body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + font-family: monospace; + background-color: black; + overflow: hidden; + color: white !important; +} + +@font-face { + font-family: 'PF Tempesta Five'; + font-style: normal; + font-weight: 400; + src: local('PF Tempesta Five'), url('https://fonts.cdnfonts.com/s/7373/pf_tempesta_five.woff') format('woff'); +} + +@font-face { + font-family: 'Pixel'; + src: url('Pixel.ttf'); +} + +.phone { + display: none; +} + +.clickToEnter { + position: absolute; + width: 100%; + height: 100%; + z-index: 999; + display: flex; + justify-content: center; + align-items: center; + font-size: 2.5em; + font-weight: bold; + background-color: rgba(9, 9, 9, 0.95); + backdrop-filter: blur(20px); + transition: 1s; +} + +.click123 { + margin-bottom: 45%; + font-size: 0.5em; + color: rgb(120, 120, 120); + pointer-events: none; + user-select: none; +} + +.ascii { + width: 10em; + position: fixed; + pointer-events: none; + user-select: none; +} + +.cool { + opacity: 0.7; + height: 3px; + width: 100%; + background: linear-gradient(to right, transparent, white, transparent); + margin-left: 50%; + transform: translateX(-50%); + +} + +.player { + opacity: 0; + transition-delay: 0.1s; + transition-duration: 1s; + background: rgba(255, 255, 255, 0.02); + backdrop-filter: blur(10px); + border-radius: 15px; + padding: 20px; + text-align: center; + width: 90%; + max-width: 400px; + height: auto; + z-index: 2; + border: 2px solid rgba(150, 150, 150, 0.25); + box-sizing: border-box; + margin: 10px; + margin-top: 200px; +} + +.player h1 { + font-family: 'PF Tempesta Five', monospace; + margin: 0; + font-size: 24px; + color: white; + text-shadow: #000000 3px 2px 7px !important; +} + +.player p { + color: #ffffff; + font-size: 16px; + text-shadow: #000000 3px 2px 7px !important; + margin-bottom: -5px; + margin-top: 5px; +} + +.player #typewriter { + color: white; + font-size: 16px; + display: flex; + justify-content: center; + margin-top: 5px; + margin-bottom: -5px; +} + +#typewriter-line { + font-size: 16px; +} + +#enter, #video { + display: none; +} + +.pfp { + width: 96px; + margin-top: -20%; + border-radius: 50%; + pointer-events: none; + user-select: none; + border: 3px solid rgba(150, 150, 150, 0.25); +} + +.video-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + pointer-events: none; + z-index: 0; + text-align: center; +} + +#videoPlayer { + height: 100%; +} + +.icons { + display: flex; + justify-content: center; + gap: 15px; + margin-top: 20px; + margin-bottom: 13px; + color: #ffffff !important; + filter: drop-shadow(#000000 1px 0 7px) !important; +} + +.dc, .ig, .lk, .bc, .et, .lc, .xm { + bottom: 50%; + left: 50%; + pointer-events: none; + cursor: pointer; + transition: 0.2s; +} + +.dci, .igi, .lki, .bci, .eti, .lci, .xmi { + pointer-events: all; + transition: 0.2s; + width: 2.75em; + height: 2.75em; +} + +.dci:hover, .igi:hover, .lki:hover, .bci:hover, .eti:hover, .lci:hover, .xmi:hover { + transform: scale(1.1); +} + +.controls { + display: flex; + justify-content: center; + gap: 16px; + align-items: center; + color: white; + margin-top: 10px; +} + +.controls button { + background: none; + border: none; + color: white; + font-size: 16px; + cursor: pointer; + border-radius: 7px; + width: 40px; + height: 30px; + background-color: rgba(255, 255, 255, 0.1); + backdrop-filter: blur(10px); + box-shadow: #000000 3px 3px 20px !important; + border: 2px solid rgba(150, 150, 150, 0.25); + text-shadow: #000000 3px 2px 7px !important; +} + +.controls button:active { + transform: translateY(1px); +} + +.slider { + -webkit-appearance: none; + appearance: none; + width: 90%; + max-width: 380px; + height: 10px; + background: linear-gradient(to right, #ffffff 0%, #ffffff 0%, #cbcbcb 0%, #cbcbcb 100%); + outline: none; + border-radius: 5px; + margin-top: 20px; + cursor: pointer; + box-shadow: #000000 3px 3px 20px !important; + transition: 100ms; +} + +.slider::-webkit-slider-thumb, #volumeSlider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; + filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5)); + transition: 100ms; +} + +.slider::-moz-range-thumb, #volumeSlider::-moz-range-thumb { + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; + filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5)); + transition: 100ms; +} + +.slider-container { + display: flex; + justify-content: center; + align-items: center; + gap: 10px; + color: white; + margin-top: 10px; +} + +.slider-container span { + color: white; + font-size: 14px; +} + +.volume-control { + display: flex; + align-items: center; + justify-content: center; + margin-top: 10px; +} + +#volumeSlider { + -webkit-appearance: none; + appearance: none; + width: 100px; + height: 10px; + background: linear-gradient(to right, #ffffff 0%, #ffffff 0%, #cbcbcb 0%, #cbcbcb 100%); + outline: none; + border-radius: 5px; + cursor: pointer; + box-shadow: #000000 3px 3px 20px !important; +} + +#volumeSlider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; +} + +#volumeSlider::-moz-range-thumb { + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; +} + +#currentTime, #totalDuration { + text-shadow: #000000 3px 2px 7px !important; +} + +.volume_Percent { + width: 100%; + margin-top: 5px; + text-align: center; +} + +.volume { + justify-content: center; + text-align: center; + margin-bottom: 5px; +} + +.blurBG { + backdrop-filter: blur(0); + width: 105%; + height: 110%; + border-radius: 10px; + background-color: rgba(150, 150, 150, 0.1); + border: 2px solid rgba(150, 150, 150, 0.25); + justify-content: center; + text-align: center; + margin-left: 50%; + margin-top: 20px; + transform: translateX(-50%); +} + +@media (max-width: 768px) { + #video { + display: none !important; + } + .pc { + display: none; + } + .phone { + display: block; + } + .slider { + width: 80%; + max-width: 300px; + } + #volumeSlider { + width: 120px; + } + .volume_Percent { + margin-top: 10px; + text-align: center; + } + .dci, .igi, .lki, .bci, .eti, .lci, .xmi { + pointer-events: all; + transition: 0.2s; + width: 2em; + height: 2em; + } +} + +div.duration-info { + display: flex; + gap: 277px; + margin-left: 20px; +} + +button { + user-select: none; +} \ No newline at end of file diff --git a/old/index.html b/old/index.html index be25743..19e8360 100644 --- a/old/index.html +++ b/old/index.html @@ -78,10 +78,10 @@ Linkz: