File: blk03460.txt
text/plain;charset=utf-8 {"type":"btcdomain","name":"2345.btc","first_owner":"bc1ptn2c7h02v0n73mxlkrm63jegwcrl7f785tn28qvtycajs9zpk97s25wqtp","createDate":1678272041215,"registerDate":1678272041215,"expireDate":1709808041215,"img_url":"https://btcdomains.io/images/domain/2345.jpeg","sig":"3045022100d84be54f6880b460fbe34d760ec811a7078da2f73f27e47b6da6a12edf578faf0220703fe48cda0345cb7b3fc672d8513e40c962614ef56867b6ea93eb32e3d6a6e1"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"free.btc","first_owner":"bc1px3hey79zhn87vkj7y4hgmkzu3glzqnzhu6fawm6ape5p89l4n77qcy8t0m","createDate":1678280074069,"registerDate":1678280074069,"expireDate":1709816074069,"img_url":"https://btcdomains.io/images/domain/free.jpeg","sig":"3045022100dc6d739ae0667f5bc0cfe7d9a52f94ab3bddd137d84aa6e87e6f1ba6007696ea02204a7c642772206c0907a71220732a9bc03d8fda5c68b8a050d01e0f2d6261f8ff"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"888888.btc","first_owner":"bc1pc7ndry888n6dmlqt8955z6d5xya49538guev6xl8v8t9t4qs8acqcvwpgk","createDate":1678278567553,"registerDate":1678278567553,"expireDate":1709814567553,"img_url":"https://btcdomains.io/images/domain/888888.jpeg","sig":"304402202196458f549977b2910fedaa4012797a881de1031af0968f9be79ace17325cc302204820815f7230e8e49d2daf31e1cd0379cd5ca92c32955db7a439922ebddf2d6f"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"amazon.btc","first_owner":"bc1pf06a7r9w0nw0vt39t3fjlslk8dqu7uu8mryq8u3d0jvq9jfxef0qd8ekgj","createDate":1678271961291,"registerDate":1678271961291,"expireDate":1709807961291,"img_url":"https://btcdomains.io/images/domain/amazon.jpeg","sig":"3045022100d383171550d8835c8ebad9cd9a9c8d1080f98a064775c2af3659a2ea15507bb2022007e27ca635f5f0a9448529560572196cf14e88be8b89e51dcaa6c03e4b785d01"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"1221.btc","first_owner":"bc1p98q563dyz4jkvn9wxaun2z92568zpjqeu53q5desj3t3gsajrkgspf8efy","createDate":1678273989146,"registerDate":1678273989146,"expireDate":1709809989146,"img_url":"https://btcdomains.io/images/domain/1221.jpeg","sig":"3045022100d6cd218de7bcc02e8fdbe4979c1ad7076b98ec42201bda27e870f21c49532fe602205b8bd87c5612bdb72c64aaae32158d27dc27586b51946c43d3eadba7b2fcdbc2"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"999999.btc","first_owner":"bc1p9j4vv9gzlav5zzy8f92qtg79k587y9fjd7ah98ysm6976ypvwfxsnmuakg","createDate":1678280730019,"registerDate":1678280730019,"expireDate":1709816730019,"img_url":"https://btcdomains.io/images/domain/999999.jpeg","sig":"3045022100bdf14213529cc46fc859aaef56d819de412c80a55e05bf2be8d5329f0436a9c002206331df7b83d4b3e19f87afbc81e0cc774de636c14b17ef328900b475e6a49457"}h! text/plain;charset=utf-8 {"type":"btcdomain","name":"nike.btc","first_owner":"bc1pt2quhr56hsvyla4pdutxkh4vq4r32y23tjm4yzcqexltzzgeyhxsdmws4t","createDate":1678272981991,"registerDate":1678272981991,"expireDate":1772880981991,"img_url":"https://btcdomains.io/images/domain/nike.jpeg","sig":"3045022100b453415c233052dd7b5e94a770142b1f3e4e077b000e91c172136f15683373b7022063ede94383818a44c8aba1540c8dc5b00dc05bf63b0f045d95a80b3005fcca01"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"recode.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"nyt.sats"}h! text/plain;charset=utf-8 .{"p":"sns","op":"reg","name":"techradar.sats"}h! text/plain;charset=utf-8 2{"p":"sns","op":"reg","name":"redbullracing.sats"}h! text/plain;charset=utf-8 1{"p":"sns","op":"reg","name":"fiatstandard.sats"}h! text/plain;charset=utf-8 4{"p":"sns","op":"reg","name":"bitcoinstandard.sats"}h! text/plain;charset=utf-8 4{"p":"sns","op":"reg","name":"thefiatstandard.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"substack.sats"}h! text/plain;charset=utf-8 7{"p":"sns","op":"reg","name":"thebitcoinstandard.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bunq.sats"}h! text/plain;charset=utf-8 /{"p":"sns","op":"reg","name":"madelonvos.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"tweakers.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"madelon.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"nypost.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"npo.sats"}h! text/plain;charset=utf-8 .{"p":"sns","op":"reg","name":"nostrchat.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"poy.sats"}h! FjDOUT:ACAB8F8A8345EB3ABAA68263AEA993BED15D87C0341F7F68D38DFA02DB3C2FA5 FjDOUT:7E76E4580D52FBDAA40C258B2F9637594A5220C488A4FC4487F0BEE5674E9A25 FjDOUT:64C50E84DF417716580469F16F5884853E9752ACBD2FE4DE52D09B0B8BB4483E FjDOUT:63AC85DDAF2CC08EB14075AB9D35DFCD98A33483C8CE25514FF99ED11AA0D45F FjDOUT:65617C7AC3E943748A9561D111CF54AE77BB30B945AA9425379D34F499F4CBBF FjDOUT:17CAE2DE09D3EF06FB03C1BBF3F51728E2A869EEC9EF0932769B5547079A7EEC FjDOUT:461C39BE92CB2BA8D06E0B110560CA3F7A6A9DC62879EEC04337AC25D60D4D5C FjDOUT:16FD2E93F32C2446DE870D3BAC934D9C8E52F8006D2BC70CF0B3B0D41F09BDDA FjDOUT:853BC8DF19DCE744B462F246A45FFC28305B863224F1BF1C25F995BED1D43C4D FjDOUT:298C4790D4958A5E87F50152EAD8B30927135FDA91DC777011B409FCDD61CF41 FjDOUT:1ED6EB04FDA9190E90A032A998642136F330417B56DE3BF4F08B1681377A2D76 FjDOUT:9DDCCAD8728805DDF1E5EE6ADC1619725B04B5B4AFDA86C3A79E8EBE9BFAB61B text/plain;charset=utf-8 text/plain;charset=utf-8 Bj@=:BNB.BNB:bnb1cgcu7u9msg73h60nqdcrlnqm6lnsqf4atctyrp:73318789::0 Bj@=:ETH.ETH:0xeaA3A4238495CF4A5bA6a523B820AcCB947b14e3:26650352::0 text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"csair.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"sinopec.sats"}h! text/plain;charset=utf-8 text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"ceair.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"cnpc.sats"}h! FjDOUT:D629648C68A21C666B235C4B6F8AD84DF29A2B91DD19981B74B6F0E836A5BDFA LjJ=:BNB.BUSD-BD1:bnb1ejavn2kuawvjfdc9ywyxfpl0jxdyyazx8dkxdw:49063471086:te:0 CjA=:BNB.BNB:bnb1q2cu5m2me35kf6pux7p7g076ke7cqm7nhhsuqm:334019533::0 4j2DC-L5:JlQbxJZTE/XMSP3DPeBTXFctRV5SihVnwFpHdwqM9bA= text/plain;charset=utf-8 text/plain;charset=utf-8 text/plain;charset=utf-8 text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"z88.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"w68.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"w88.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"s88.sats"}h! Copyright (c) 1998 Hewlett-Packard Company IEC http://www.iec.ch IEC http://www.iec.ch .IEC 61966-2.1 Default RGB colour space - sRGB .IEC 61966-2.1 Default RGB colour space - sRGB ,Reference Viewing Condition in IEC61966-2.1 ,Reference Viewing Condition in IEC61966-2.1 Copyright (c) 1998 Hewlett-Packard Company IEC http://www.iec.ch IEC http://www.iec.ch .IEC 61966-2.1 Default RGB colour space - sRGB .IEC 61966-2.1 Default RGB colour space - sRGB ,Reference Viewing Condition in IEC61966-2.1 ,Reference Viewing Condition in IEC61966-2.1 Copyright (c) 1998 Hewlett-Packard Company IEC http://www.iec.ch IEC http://www.iec.ch .IEC 61966-2.1 Default RGB colour space - sRGB .IEC 61966-2.1 Default RGB colour space - sRGB ,Reference Viewing Condition in IEC61966-2.1 ,Reference Viewing Condition in IEC61966-2.1 text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"hki.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"oax.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"wop.sats"}h! Bj@=:BNB.BNB:bnb10xlwdrypm6lhw62n6xr8mfggwe9nt9wh4t25eq:35284462::0 CjA=:BNB.BNB:bnb1pz7y0nhpgeevakjtn5fa4vj65qvtrqyml87jju:116553290::0 "3 % % 3-7,),7-Q@88@Q^OJO^qeeq "3 % % 3-7,),7-Q@88@Q^OJO^qeeq DjB=:BNB.BNB:bnb1wc9h9aylckkkl4k6gn8qjsu7jr4k95aht9ty8f:16000956:te:0 text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"talha.sats"}h! 3366c827bc6d8c8242a68cccc3e7c901G0D 4b8741b44e25564bc361c7aa38c5aec3H0E text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"member.sats"}h! text/plain;charset=utf-8 /{"p":"sns","op":"reg","name":"withspaces.sats"}h! text/plain;charset=utf-8 7{"p":"sns","op":"reg","name":" text/plain;charset=utf-8 2{"p":"sns","op":"reg","name":"CaptainTrippy.sats"}h! text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"88-99.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"33-44-99.sats"}h! text/plain;charset=utf-8 1{"p":"sns","op":"reg","name":"huhushengwei.sats"}h! text/plain;charset=utf-8 .{"p":"sns","op":"reg","name":"crypto123.sats"}h! text/plain;charset=utf-8 "commit": "19f007a4a249e511f10e13e28ad630cd190e97fc85d7405d6d48b371f5bac67e", "inscription": "8ce7daadbaf189edd12af38174abb82a77eca75e0372bce378c95fbb57966154i0", "reveal": "8ce7daadbaf189edd12af38174abb82a77eca75e0372bce378c95fbb57966154", text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"s3xycars.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"addidas.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"1314168.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"fel.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"vel.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ouj.sats"}h! FjDOUT:6C5D7041689264A256D6FE52391A9A993C86680FC61BAFA680B30644BA62BB2A text/plain;charset=utf-8 /{"p":"sns","op":"reg","name":"awajishima.sats"}h! text/plain;charset=utf-8 1{"p":"sns","op":"reg","name":"firstpenguin.sats"}h! text/plain;charset=utf-8 0{"p":"sns","op":"reg","name":"thunderbolt.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"bosatsu.sats"}h! text/plain;charset=utf-8 /{"p":"sns","op":"reg","name":"consoleapp.sats"}h! text/plain;charset=utf-8 2{"p":"sns","op":"reg","name":"lightningbolt.sats"}h! text/plain;charset=utf-8 /{"p":"sns","op":"reg","name":"consolexyz.sats"}h! Aj?=:ETH.ETH:0xFF837Ff3a553a9Ad973E0b5fA3B47040B89597EA:3825297::0 Aj?=:ETH.ETH:0x36CF85aa87478656517AF25493810bC838B56972:3995979::0 Bj@=:ETH.ETH:0xecE839ec53AF172080b1f56FBDb297ca4E10915A:39811790::0 text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"291.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"294.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"bandcamp.sats"}h! text/plain;charset=utf-8 0{"p":"sns","op":"reg","name":"underarmour.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"aa6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ss6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"mm6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"kk6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"oo6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"gg6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"xx6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ff6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"rr6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"uu6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ii6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"cc6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"yy6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"pp6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ll6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"zz6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"vv6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"qq6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"tt6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ee6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"bb6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"dd6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"ww6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"nn6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"jj6.sats"}h! text/plain;charset=utf-8 ({"p":"sns","op":"reg","name":"hh6.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"338888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"1118888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"5558888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"7778888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"2228888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"3338888.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"9998888.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"tape.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"tolkien.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"general.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"matisse.sats"}h! text/plain;charset=utf-8 ,{"p":"sns","op":"reg","name":"brought.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"aa66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"oo66.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"downtown.sats"}h! text/plain;charset=utf-8 .{"p":"sns","op":"reg","name":"spongebob.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"/> <title>Ordinal dreams - plottable</title> <script id="snippet-random-code"> let seed = window.location.href.split("/").find((e) => e.includes("i0")); if (null == seed) { const e = "0123456789abcdefghijklmnopqrstuvwsyz"; new URLSearchParams(window.location.search).get("seed") || Array(64) .fill(0) .map((t) => e[(Math.random(M .join("") + "i0"; let e = "seed="; for (let t = 0; t < seed.length - e.length; ++t) if (seed.substring(t, t + e.length) == e) { seed = seed.substring(t + e.length); break; function cyrb128(e) { let t = 1779033703, l = 3144134277, n = 1013904242, i = 2773480762; for (let a, M s = 0; s < e.length; s++) (t = l ^ Math.imul(t ^ (a = e.charCodeAt(s)), 597399067)), (l = n ^ Math.imul(l ^ a, 2869860233)), (n = i ^ Math.imul(n ^ a, 951274213)), (i = t ^ Math.imul(i ^ a, 2716044179)); return ( (t = Math.imul(n ^ (t >>> 18), 597399067)), (l = Math.imul(i ^ (l >>> 22), 2869860233)), (n = Math.imul(t ^ (n >>> 17), 951274213)), (i = Math.M imul(l ^ (i >>> 19), 2716044179)), [(t ^ l ^ n ^ i) >>> 0, (l ^ t) >>> 0, (n ^ t) >>> 0, (i ^ t) >>> 0] function sfc32(e, t, l, n) { return function () { var i = ((e >>>= 0) + (t >>>= 0)) | 0; return ( (e = t ^ (t >>> 9)), (t = ((l >>>= 0) + (l << 3)) | 0), (l = ((l = (l << 21) | (l >>> 11)) + M (i = (i + (n = ((n >>>= 0) + 1) | 0)) | 0)) | 0), (i >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); margin: 0; const random = (a = 1) => a * mathRand(), randomBetween = (a, n) => a + random(n - a), dist = (a, n, r, t) => { var d = a - r, e = n - t; return Math.sqrt(d * d + e * e); const rand = mathRand(), paper: "White", frame: "Red", moons: "Blue", bg: "rgb(230, 230, 230);", fr: "rgba(255,99,71,50)", cr: "blue", op: "0.8", paper: "White", frame: "Blue", moons: "Red", bg: "rgb(230, 230, 2M fr: "blue", cr: "rgba(255,99,71,50)", op: "0.8", paper: "Light green", frame: "Green", moons: "Purple", bg: "lightgreen;", fr: "green", cr: "purple", op: "0.8", paper: "Charcoal", frame: "Gold", moons: "White", bg: "rgb(30, 30, 30)M fr: "gold", cr: "white", op: "1", paper: "Charcoal", frame: "White", moons: "Gold", bg: "rgb(30, 30, 30);", fr: "white", cr: "gold", op: "1", paper: "Charcoal", frame: "Silver", moons: "Gold", bg: "rgb(30, 30, 30);", cr: "gold", op: "1", paper: "Charcoal", frame: "Blue", moons: "Silver", bg: "rgb(30, 30, 30);", fr: "dodgerblue", cr: "silver", op: "1", paper: "Charcoal", frame: "Silver", moons: "Blue", bg: "rgb(30, 30, 30);", fr: "silver",M cr: "dodgerblue", op: "1", paper: "Bitcoin Orange", frame: "Black", moons: "White", bg: "orange", fr: "black", cr: "white", op: "1", function getTraits() { rotateS: 5 * Math.floor(randomBetween(1, 9)) * (mathRand() > 0.5 ? -1 : 1), colId: Math.floor(random(CM olors.length - 1e-7)), rx: mathRand() > 0.5 ? Math.floor(random(20)) : 0, bStart: Math.floor(randomBetween(3, 15)) / 100, moonDensity: 5 * [1, 2, 5, 10][Math.floor(random(4))], isDual: mathRand() > 0.8, frameDensity: 10 * Math.floor(randomBetween(2, 6)), rotateS: rotateS, colId: colId, bStart: bStart, moonDensity: moonDensity, isDual: isDual, frameDensity: frameDeM } = getTraits(); (window.$generativeTraits = { Paper: Colors[colId].paper, Frame: Colors[colId].frame, "Frame size": bStart, "Frame rotation": rotateS, "Frame rounding": rx, "Frame density": frameDensity, Moons: Colors[colId].moons, "Moon Density": moonDensity, "Dual pattern": isDual, console.table(window.$generativeTraits); constructor(e, t, r, o = "white") { (this.x = t), M (this.y = r), (this.r = e), (this.c = o); show(e, t, r, o) { o.setAttribute("id", `c${t}`), o.setAttribute("stroke", this.c); let a = this.r, n = random(2 * Math.PI), s = this.x, i = this.y, l = a * Math.cos(n) + s, d = a * Math.sin(n) + i, c = `M ${l} ${d} `; for (let e = 0; e < 3 * a; e++) (n = random(2 * Math.PI)), (l = a * MathM (d = a * Math.sin(n) + i), (c += `L ${l} ${d} `); let m = document.createElementNS(e, "path"); m.setAttribute("style", "fill:none;stroke-width:1;"), m.setAttribute("d", c), o.appendChild(m); let createCircles = function (e, t, r = 0.05, o = "white") { let a = new Array(), n = Math.min(e, t), s = 0; for (; a.length < moonDensity && M let i = randomBetween(n / (2 * moonDensity), n / 4), l = randomBetween(i + e * r, e * (1 - 2 * r) - i), d = randomBetween(i + e * r, t - e * r * 2 - i); l - i <= 0 || d - i <= 0 || l + i > e || d + i > t || a.some((e) => 0.8 * dist(l, d, e.x, e.y) < i + e.r) ? s++ : (a.push(new Circle(i, l, d, o)), (s = 0)); yin = 11.67, w = xin * dpi, h = yin * dpi, ns = "http://www.w3.org/2000/svg", svg = document.createElementNS(ns, "svg"); svg.setAttribute("id", "svg"), svg.setAttribute("width", "100vw"), svg.setAttribute("height", "100vh"), svg.setAttribute("viewBox", "0 0 " + w + " " + h), svg.setAttribute("style", "background-color:" + Colors[colId].bg + ";"); let bounds = document.creatM eElementNS(ns, "path"); bounds.setAttribute("d", `M 0 0 M ${w} ${h}`), svg.appendChild(bounds); let bg = document.createElementNS(ns, "g"); bg.setAttribute("id", "frame"), bg.setAttribute("stroke", Colors[colId].fr), bg.setAttribute("stroke-opacity", Colors[colId].op), bg.setAttribute("fill", "transparent"); let e = bStart; e < 0.49 && w * (1 - 2 * e) >= 0 && h - 2 * w * e >= 0; e += e / frameDensity let t = document.createElementM t.setAttribute("rx", rx), t.setAttribute("x", w * e), t.setAttribute("y", w * e), t.setAttribute("width", w * (1 - 2 * e)), t.setAttribute("height", h - 2 * w * e), t.setAttribute("transform", "rotate(" + (bStart - e) * rotateS + ")"), bg.appendChild(t); if ((svg.appendChild(bg), isDual)) { let e = document.createElementNS(ns, "use"); e.setAttribute("href", "#frame"), e.setAttribute(M "transform", "translate(" + w + ",0) scale(-1,1)"), svg.appendChild(e); let circles = createCircles(w, h, 0.05, Colors[colId].cr), circ = document.createElementNS(ns, "g"); function downloadSVGAsText() { const e = document.querySelector("svg"), t = btoa(unescape(encodeURIComponent(e.outerHTML))), r = document.createElement("a"), o = new MouseEvent("click"); (r.download = "download.svg"), (r.href = "data:image/svg+xml;M r.dispatchEvent(o); circ.setAttribute("stroke-opacity", Colors[colId].op), circles.forEach((e, t) => { e.show(ns, t, svg, circ); svg.appendChild(circ), document.body.appendChild(svg); const downloadSVG = document.querySelector("#svg"); downloadSVG.addEventListener("click", downloadSVGAsText); text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"jj66.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>Pop On Chain by SMLDMS</title> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM thRand() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (letM n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); position: fixed; right: 0; bottom: 0; left: 0; color: rgb(255, 255, 255); background-color: rgb(0, 0, 0); display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; font-size: 0.8em; object-fit: contain; max-height: 100%; max-width: 100%; #fullScreen { display: flex; position: fixed; bottom: 0; left: 0; justify-content: center; align-items: center; #fullScreen canvas { object-fit: contain; max-height: 100%; max-width: 100%; /* mix-blend-mode: soft-light; */ color: rgb(255); opacity: 0.75; width: auto; height: auto; position: fixed; text-align: center; justify-content: center; align-items: center; padding: 10%; #progress h1 { font-size: 10.75em; /* display: block; */ margin: 0%; padding: 0% <canvas id="cnv"></canvas> <div id="fullScreen"> <div id="progress"></div> <!-- /////////////////////////////////LET'S GO//////////////////////////////// --> <script type="text/jaM const myTitle = "Pop On Chain"; const canvas = document.getElementById("cnv"); const ctx = cnv.getContext('2d'); let ratio = 1.414142 n: mathRand(), if (format.n < 0.33) { format.ww = ratio format.hh = 1 format.name = "Landscape" } else if (format.n < 0.66) { format.ww = 1 format.hh = ratio format.name = "Portrait" format.ww = 1 format.hh = 1 format.name = "Square" const mySize = 1000; cnv.width = mySize * format.ww; cnv.height = mySize * format.hh; const scales = [25, 50, 100]; const randomIndex = Math.floor(mathRand() * scales.length); const scl = scales[randomIndex]; const marges = [200, 100, 50]; const randomMarge = Math.floor(mathRand() * marges.length); const marge = marges[randomMarge]; const maxT = Math.round(mathRand() * 50 + 10M n: mathRand(), n: mathRand(), n: mathRand(), if (layer.n < 0.5) { layer.name = "On" layer.name = "Off" if (clr.n < 0.25) { clr.name = "White" else if (clr.n < 0.5) { clr.name = "Red" clr.name = "Black" if (mode.n < 0.25) { mode.name = "C" mode.val = 100 else if (mode.n < 0.5) { mode.name = "B" mode.val = 25 mode.name = "A" mode.val = 0 window.$generativeTraits = { "Format": format.name, "Color Base": clr.name, "Back layer": layer.name, "Mode": mode.name, "Scale": scl, "Model": maxT, "Marge": marge, console.log(myTitle + " | smldms 2023.03") console.log(window.$generativeTraits) const r = cnv.height / scl; const c = cnv.width / scl ctx.fillStyle = clr.name; ctx.rect(0, 0, cnv.width, cnv.height) if (layer.name == "On") { addGrain(cnv, 25) function frame() { // ctx.filter = "blur(5px)"; ctx.restore() ctx.fillStyle = clr.name; tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.lineWidth = 100; ctx.rect(0, 0, cnv.width, cnv.height) ctx.stroke(); function halo() { ctx.restore() ctx.translate(c / 2, r / 2) ctx.filter = 'blur(' + mode.val + 'px)'; for (let x = marge; x < cnv.width - marge / 2; x += 50) { for (let y = marge; y < cnv.height - marge / 2; y += 50) { let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.fillStyle = clrF; ctx.strokeStyle = clr.name; ctx.lineWidth = mathRand() * 5 + 1; ctx.beginPath() if (mathRand() < 0.25) { ctx.arc(x, y, r * 2, 0, Math.PI) else if (mathRand() < 0.5) { ctx.arc(x, y, r * 2, Math.PI, 0) else if (mathRand() < 0.75) { for (let i = 2; i < 100; i += 1) { if (mathRand() < 0.25) { ctx.arc(x + i, y, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.5) { ctx.arc(x, y + i, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.75) { ctx.arc(x, y - i, r / i, 0, Math.PI * 2) } else { ctx.arc(x - i, y, r / i, 0, M } } else { ctx.closePath(); ctx.stroke() ctx.fill(); function show() { ctx.restore() for (let x = marge; x < cnv.width - marge; x += r) { for (let y = marge; y < cnv.height - marge; y += c) { ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) "; ctx.fillStyle = clr.name; ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.lineWidth = mathRand() * 2 + 1; ctx.beginPath() if (mathRand() < 0.25) { ctx.arc(x, y, r / 2, 0, Math.PI) else if (mathRand() < 0.5) { ctx.arc(x, y, r / 2, Math.PI, 0) else if (mathRand() < 0.75) { for (let i = 2M ; i < maxT; i += 1) { if (mathRand() < 0.25) { ctx.arc(x + i, y, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.5) { ctx.arc(x, y + i, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.75) { ctx.arc(x, y - i, r / i, 0, Math.PI * 2) } else { ctx.arc(x - i, y, r / i, 0, Math.PI * 2) } } else { ctx.closePath(); ctx.stroke() ctx.fill(); function addGrain(canvas, graininess) { const ctx = canvas.getContext('2d'); const width = canvas.width; const height = canvas.height; const pixels = ctx.getImageData(0, 0, width, heighM for (let i = 0; i < pixels.data.length; i += 4) { const r = pixels.data[i]; const g = pixels.data[i + 1]; const b = pixels.data[i + 2]; const alpha = pixels.data[i + 3]; const random = mathRand(); const offset = (random - 0.5) * graininess; pixels.data[i] = Math.max(0, Math.min(255, r + offset)); pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset)); pixels.data[i + 2] = Math.mM ax(0, Math.min(255, b + offset)); pixels.data[i + 3] = alpha; ctx.putImageData(pixels, 0, 0); function saveCanvasAsPNG(canvas) { document.addEventListener('keydown', function (event) { if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') { const ctx = canvas.getContext('2d'); const width = canvas.width; const height = canvas.height; const pixelRaM tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio; const canvasCopy = document.createElement('canvas'); canvasCopy.width = width * pixelRatio; canvasCopy.height = height * pixelRatio; const ctxCopy = canvasCopy.getContext('2d'); ctxCopy.imageSmoothingEnabled = false; ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio); const url = canvasCopy.toDataURL('image/png'); const link = document.createElement('a'); link.download = 'canvas.png'; link.href = url; link.click(); saveCanvasAsPNG(cnv); /////////////PROGRESS async function progress(message) { document.body.style.cursor = 'crosshair'; document.getElementById("progress").innerHTML = message; await new Promise((fn => setM async function progressClear() { document.body.style.cursor = 'default'; document.getElementById("progress").style.display = 'none'; await new Promise((fn => setTimeout(fn, 1))); async function progressShow() { document.body.style.cursor = 'default'; document.getElementById("progress").style.display = 'block'; await new Promise((fn => setTimeout(fn, 1))); text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Balanced", "Base shade": "Dark", "Colour": "Red", "Colour chance": "5%", "Base colour": "Red", "Base Colour chance": "50%", "S forms": "20-120", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 2, "Sensitivity": "HiM let t=[2e3,1e4],o=[0,50];let h=[80,170],W=[.1,.4];var e=[[2,8],[2,8]];let u=[20,120],_=[50,80];let b=[180,250],X=[.8,4];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=2,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e60000"],te=.05,se=["#e60000"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.proM /4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #8";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v M 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.3M 57l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.8M 8l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.M 8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29M ,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -M 0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40-M 69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clusteM r=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","M m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h1M 45l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","mM 473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:FM ([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a)M ;break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await M e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=tM .bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animaM te")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backgrM ound.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#bM ackground_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],M scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=VM (h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_M shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",coM lor2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElemeM nt(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5M ,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_nuM mber_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibiliM ties[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shM ape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shaM pe.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desiredM _number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"M s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",nM _visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs"M );for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+M "%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}fuM nction D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.5<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS(M "http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}functioM n K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,tM +1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=pM ,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%1M 00,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100M ,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+stM ep*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ii66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bb88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ff88.sats"}h! text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"spell.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Light", "Base shade": "Balanced", "Colour": "Blue", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 8, "Sensitivity": "HighM let t=[2e3,1e4],o=[0,250];let h=[100,250],W=[.1,.4];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,100],X=[.4,2];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=8,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7aM dbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #22";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 M l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74M .16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.M 915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.M 051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16M 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_subM _cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9M .3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95M v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119M -128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async fM unction e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:M "POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=awaM it s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=awaM it s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attribM uteName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCM ount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(lM arge_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySeM lector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.M length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shM apes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,cM olor1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).sM etAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomnesM s=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_mulM tiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[M i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_smalM l_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttribM uteNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shM ift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),M Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,M [50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.iM d,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origiM n","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${M e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"idM ",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(letM e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,1M 0,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100M ,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0M ;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i]M .visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2M *(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"vv66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"cc88.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>outscripted by mataleone</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script id="snippet-contract-code" type="text/javascript"> const tokenIdRand = (Math.floor(Math.random() * 1000000) + 1) * 1000000 + (Math.floor(Math.random() * 100) + 1); "tokenId": tokenIdRand, "seed": tokenIdRand.toString(), pt id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattM seed = seed.substring(i + pattern.length); function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), lM = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); background-color: #000; width: 100% !important; height: 100% !important; object-fit: contain; <script type="text/javascript"> const _lerp = (f, min, max) => (min + (max - min) * f) const _map = (v, inMin, inMax, outMin, outMax) => (outMin + (outMax - outMin) * ((v - inMin) / (inMax - inMin))) ['#332440', 'berry'], ['#1E2F36', 'sea'], ['#36261E', 'earth'], ['#1E2036', 'deep'], ['#1E3623', 'forest'], ['#FFE0C2', 'sand'], ['#FFE0C2', 'sand'], ['#FFCA9C', 'koi'], ['#C2FcFF', 'sky'], ['#FFFDBC', 'mustard'], let _bg = Math.floor(mathRand() * bgs.length) let _clr = Math.floor(mathRand() * clrs.length) let _q = Math.floor(_lerp(mathRand(), _q_min, _q_max + 1)) Math.floor(_lerp(mathRand(), _r_min, _r_max + 1)) let _a = Math.floor(mathRand() * 5) // <+ let _ins = Math.floor(_lerp(mathRand(), _ins_min, _ins_max + 1)) let _worm_max = _r * 2 let _worm = _lerp(mathRand(), 0, _worm_max) window.$generativeTraits = { "background color": bgs[_bg][1], "incsriptions color": clrs[_clr][1], "inscriptions size": _r, "inscriptions complexity": _ins, "disconformity": Math.floor(M _map(_worm, 0, _worm_max, 0, 11)), console.log(seed, window.$generativeTraits) let _paused = false function setup() { createCanvas(2160, 2160) background(bgs[_bg][0]) function draw() { if (_paused) return background(bgs[_bg][0]) let _c = color(clrs[_clr][0]) for (let i = 0; i < _q * 10000; ++i) { const x = _randPos() const y = _randPos() let al = map(_q, _q_min, _q_max, 128, 64) star(x, y, _r, _ins) function _randPos() { const a = mathRand() * Math.PI + Math.PI let p = Math.cos(a) // p = (1-Math.abs(p))*Math.sign(p) let w = width / 2 return w + _map(p, -1, 1, -w - _worm, w + _worm) function star(cx, cy, r, c) { let n = noise(cx / sc, cy / sc) let _cx = cx + sin(n * Math.PI * 2) * _worm let _cy = cy + cos(n * Math.PI * 2) * _worm let ixs = [...Array(c).keys()] while (ixs.length > 0) { const i = Math.floor(mathRand() * ixs.length) const a = ixs[i] * ((Math.PI * 2) / c) + (Math.PI / 4) * _a vertex(_cx + sin(a) * r, _cy + cos(a) * r) ixs.splice(i, 1) function keyPressed() { if (keyCode == 32) _paused = false if (keyCode == 83) save('outscripted.png') text/html;charset=utf-8 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/addons/p5.sound.min.js"></script> <meta charset="utf-8" /> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "01234567M 89abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [M (_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generationM // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); @font-face { font-family: 'iconfont'; src: url('iconfont.ttf') format('truetype'); user-select: none; html, body { overflow: hidden; background-color: #00M margin: 0; position: fixed; width: 100%; height: 100%; canvas { width: 100%; height: 100%; opacity: 0.9; .dg .property-name { overflow: visible; .bigFont { font-size: 150%; color: #8C8C8C; .cr.function.appBigFont { font-size: 150%; line-height: 27px; color: #A5F8D3; background-color: #023C40; .cr.function.appBigFont .property-name { float: none; .cr.function.appBigFont .icon { position: sticky; bottom: 27px; font-family: 'iconfont'; font-size: 130%; .twitter:before { content: 'a'; .github:before { content: 'b'; .app:before { content: 'c'; .discord:before { content: 'd'; .promo { display: none; /* display: table; */ position: absolute; top: 0; left: 0; widtM height: 100%; z-index: 1; overflow: auto; color: lightblue; background-color: rgba(0,0,0,0.4); animation: promo-appear-animation 0.35s ease-out; .promo-middle { display: table-cell; vertical-align: middle; .promo-content { width: 80vw; height: 80vh; max-width: 80vh; margin: auto; padding: 0; font-size: 2.8vmax; font-family: Futura, "Trebuchet MS", Arial, sans-serif; text-align: center; background-image: url("promo_back.png"); background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 15px; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgbM .promo-header { height: 10%; padding: 2px 16px; .promo-close { width: 10%; height: 100%; text-align: left; float: left; font-size: 1.3em; /* transition: 0.2s; */ .promo-close:hover { /* transform: scale(1.25); */ cursor: pointer; .promo-M padding: 8px 16px 16px 16px; margin: auto; .promo-body p { margin-top: 0; mix-blend-mode: color-dodge; width: 100%; display: inline-block; .link img { width: 100%; @keyframes promo-appear-animation { 0% { transform: scale(2.0); oM 100% { transform: scale(1.0); opacity: 1; function genart(min, max) { return mathRand() * (max - min) + min; function genart3() { ) * (0.007 - 0.003) + 0.003; seed = genart(1,100000) function Neons(value) { if (value <= 0.15) function Planets(value) { if (value >= 0.95) { window.$fxhashFeatures = { "Neon": Neons(mathRand()), "Planet": Planets(mathRand()) if (genart2() <= 0.15) { if (genart2() >= 0.95){ let cnv = createCanvas(1000, 1000); = (windowWidth - width) / 2; let can_y = (windowHeight - height) / 2; cnv.position(can_x, can_y); background("#000000") angleMode(DEGREES) var space = width / density for(let i = 0; i < keys; i ++) { points.push(createVector(random(width), random(height))); for (var x = 0; x < width; x += space) for (var y=0; y < height; y += space){ var p= createVector(x + 10, y + 10) pointz.push(p) shuffle (points, true) 1 = genart(220, 255) r2 = genart(220, 255) g1 = genart(20, 255) g2 = genart(20, 255) b1 = genart(20, 255) b2 = genart(20, 255) //mult = genart3() if(frameCount > 300) noLoop() for (var i = 0; i < points.length; i++){ let ps = points[i] var r = map(points[i].x, 0, width, r1, r2) var g = map(points[i].y, 0, height, g1, g2) map(points[i].x, 0, width, b1, b2) var alpha = map(dist(width / 2, height / 2, points [i].x, points[i].y), 0, 1250, 1250, 210) fill(r,g,b,alpha) var angle = map(noise(points[i].x * mult/2, points[i].y * mult/22), Planet2, Planet, 0, 270) points[i].add(createVector(sin(angle)*7, cos(angle))) if (dist(width / 2, height / 2, points[i].x, points[i].y) < t ) { ellipse(points[i].x, points[i].y, Size) if(!onScreen(ps)) { points[i].x = rM points[i].y = random(height); if(Neon>1){ Size=Size+0.01 function maindraw2() for (var i = 0; i < pointz.length; i++){ let pz = pointz[i] var rz = map(pointz[i].x, 0, width,M var gz = map(pointz[i].y, 0, height, g1-30, g2-30) var bz = map(pointz[i].x, 0, width, b1-30, b2)-30 var alpha2 = map(dist(width / 2, height / 2, pointz [i].x, pointz[i].y), 0, 1450, 200, 0) fill(255,gz,bz,alpha2) var angle2 = map(noise(pointz[i].x * mult2/2, pointz[i].y * mult2/2), 0, 1, 0, 1720) pointz[i].add(createVector(sin(angle2), cos(angle2))) if (dist(width / 2, height / 2, pointz[i].x, pointz[i].y) > 10 ) { rect(pointz[i].x, pointz[i].y, 1.4M rect(pointz[i].x+13, pointz[i].y+3, 0.1) if(!onScreen(pz)) { pointz[i].x = random(width); pointz[i].y = random(height); angle2=angle2-0.1 density=density-1 function onScreen(v) { return v.x >= 0 && v.x <= width && v.y >= 0 && v.y <= height; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"gg88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Light", "Base shade": "Balanced", "Colour": "Blue", "Colour chance": "20%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 8, "Sensitivity": M let t=[2e3,1e4],o=[50,200];let h=[180,250],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[50,200],X=[.6,3];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=8,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#000080"],te=.2,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.prM o/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #62";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 M v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2M .357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425M .88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -M 1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -M 29,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 mM -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 4M 0-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clusM ter=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z"M ,"m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28M h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z",M "m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={sM :F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(M a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=awaiM t e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,LM =t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"aniM mate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backM ground.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(M #background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1M ],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(mM =V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),smalM l_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",M color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginEleM ment(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[M -5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_M number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibiM lities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",M shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+sM hape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desirM ed_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapesM +"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1"M ,n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defM s");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.M x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}M function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNSM ("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}functiM on K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,M t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=M p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%M 100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,10M 0,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+sM tep*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"55558888.sats"}h! text/plain;charset=utf-8 text/plain;charset=utf-8 text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ee66.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Dark", "Base shade": "Balanced", "Colour": "Orange", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "2-24", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 7, "Sensitivity": "HiM let t=[2e3,1e4],o=[0,250];let h=[0,100],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[180,250],X=[.4,2];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=7,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#e65c00"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4caM 7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #14";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.2M 5 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357lM 74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l9M 0.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-M 0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-M 16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sM ub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,M -9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 M 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-1M 19-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!asyncM function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",methoM d:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=aM wait s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=aM wait s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attrM ibuteName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeaM tCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ueM (large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.queryM Selector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapeM s.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_M shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1M ,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background"))M .setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomnM ess=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_mM ultiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilitieM s[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_smM all_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttrM ibuteNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_M shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapesM ),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(sM 1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+rM .id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-oriM gin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},M ${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"M id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(lM et e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50M ,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%1M 00,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],iM =0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[M i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+stepM /2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ll66.sats"}h! text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"shrek.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"33338888.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.jsdelivr.nM et/npm/tonal/browser/tonal.min.js"></script> <script type="text/javascript"> var cnv;let points=[],start=0,speed=2,wdt,margin=60,w=500,h=300,tileWidth=100,tileHeight=100,sclX=5,sclY=10,paletteIndex2=0,paletteType,paletteIndex3=0,globalNote,mainIndex=0,bnd,phi=3.14*(137.51/180),cbn=0,cbn2=0,duration=0,savedTime,startx1=0,starty1=0,start1=0,rootInc=0,format,currentKey,voiceChord=!1,randForm=0,notePlay,pastNote,keyFifths=[],sequence=[],chordArray=[],bassChord=[],reading,state,lastState,oscill,oscill2,trM ig=!1,bckg=["#F3F3F3","#000000"],palette1=[["#ce2d42","#082880","#7462f9","#f4b53f","#123676","#9c223d","#e6c7b4"],["#f43b79","#1136ed","#6b43dd","#ef9029","#4aa4ae","#69239b","#f7f1b4"],["#7fefe4","#be3edd","#70cfe5","#f2c666","#e6c7b4","#583fc4","#fff57d"],["#80aded","#7b66f7","#658fdb","#f2e18b","#f7f1b4","#773caa","#f4b537"],["#a5e2f2","#a783ed","#61c1db","#f7c872","#6eabf4","#6d52dd","#ff7db2"],["#d8d8d8","#898de0","#89afe5","#f9e78f","#85b2e8","#8110e5","#bf2b6e"],["#7094fc","#643ac9","#306bef","#9100dd","#e6M c7b4","#e2396d","#ef3a65"],["#80aded","#a28fef","#4688e8","#db003a","#f7f1b4","#d632a4","#bc174e"],["#594499","#db3e3e","#25ceb2","#02827b","#a0a09f","#56661d","#34067c"],["#425999","#bc3f3f","#9fe2cc","#108fc1","#d37676","#132691","#5b3c96"],["#ffeda1","#91205c","#2929e2","#9509b7","#70b9c0","#5474e8","#d30b8c"],["#f9cfc7","#721b74","#1c70ea","#7c1d93","#919bdb","#5574ce","#f25c87"],["#f25a7b","#e960af","#992843","#8b52f7","#6eabf4","#3714a1","#445b96"],["#ff399c","#e73250","#d32f53","#33bbff","#7de7ff","#69239b",M "#8041f9"],["#6f6674","#34a0a5","#992843","#f98450","#6eabf4","#3714a1","#445b96"],["#4d82aa","#24c6c6","#d32f53","#f973a0","#7de7ff","#69239b","#8041f9"],["#ff6d40","#361ee0","#992843","#e6c7b4","#9370f2","#3714a1","#445b96"],["#e6372f","#3a338e","#d32f53","#f7f1b4","#8092ff","#69239b","#8041f9"],["#ffa943","#2177f4","#35fc93","#f9cfd2","#6eabf4","#3714a1","#445b96"],["#ffce45","#2f7083","#5affdf","#fcf4b7","#7de7ff","#69239b","#8041f9"],["#41d9f2","#528cd1","#3a6eba","#5f64c1","#4a97f4","#7426bf","#f7d52f"],["#71M f2ff","#249cff","#63a1ea","#7f88db","#56a6f4","#7f0caf","#f7b643"],["#41d9f2","#51fcbb","#d3057b","#295cff","#7d22ff","#51d7e5","#e6c7b4"],["#71f2ff","#81fcca","#f91cb0","#0239c1","#8450d6","#05bdc6","#f7f1b4"],["#43bbef","#53f9e4","#bf2640","#5082ff","#8648ff","#36ffcf","#881ed3"],["#6bcced","#fce586","#f93ebb","#52a1ff","#8e51a8","#05bdc6","#ff0895"],["#a745ed","#fcbbbb","#f20a41","#ffd252","#0606bf","#ff459e","#881ed3"],["#7b19d1","#a7d0f9","#ba0f40","#fcd5bb","#4545ce","#9666ff","#ff0895"],["#31a4dd","#6f3bff",M "#f20a41","#4470a5","#7171f4","#e710f9","#2e92ff"],["#ffffab","#8e7de2","#ba0f40","#9312b2","#85b5f9","#830591","#034a7f"],["#06a0ba","#6f3bff","#f20a41","#8777f7","#4848c1","#6b11f7","#e6c7b4"],["#2bc5cc","#8e7de2","#ba0f40","#6155bf","#4b4bf7","#a318b7","#f7f1b4"],["#06a0ba","#6f3bff","#8473ff","#fce875","#4848c1","#ffb3c9","#2e92ff"],["#2bc5cc","#8e7de2","#9e61ba","#ffd2c7","#0f0fce","#f7e579","#034a7f"],["#c10839","#6f3bff","#ff06a6","#f2a5bb","#4848c1","#117ff7","#579ef2"],["#a20dd3","#8e7de2","#aa08ff","#f2ecM 79","#0f0fce","#a60abc","#1b64ce"],["#06a0ba","#6f3bff","#fca660","#f7f377","#9149bf","#f71165","#31f0ff"],["#2bc5cc","#8e7de2","#dd582a","#ffe09c","#630ca8","#a8275c","#04717c"],["#e041b3","#3e71ff","#ffec64","#77c1f7","#9149bf","#f71165","#e6c7b4"],["#f95089","#8e7de2","#f99175","#1d6bdd","#630ca8","#a8275c","#f7f1b4"],["#f4d334","#0636cc","#8989ef","#e6c7b4","#8005e0","#fc68a4","#3386ff"],["#fc889e","#3b72a3","#2d5cc4","#f7f1b4","#f938cb","#d61a1a","#04717c"],["#f4d334","#3ef6ff","#5347f4","#b877f7","#9149bf","#M f71165","#e6c7b4"],["#fc889e","#1fb2b2","#2d5cc4","#6e1ed6","#630ca8","#a8275c","#f7f1b4"],["#f4d334","#3ef6ff","#5347f4","#f7f777","#9149bf","#ef5090","#e6c7b4"],["#fc889e","#1fb2b2","#2d5cc4","#ffce88","#630ca8","#ba0457","#f7f1b4"],["#f4d334","#3ef6ff","#5347f4","#77c4f7","#9149bf","#f71165","#854fba"],["#fc889e","#1fb2b2","#2d5cc4","#2187bf","#630ca8","#a8275c","#e783ea"],["#f4d334","#3ef6ff","#f97575","#f4dc78","#9149bf","#f71165","#e6c7b4"],["#fc889e","#1fb2b2","#cc2929","#f28b79","#630ca8","#a8275c","#f7f1b4M "],["#f4d334","#3ef6ff","#f97575","#f279ab","#9149bf","#645eea","#e6c7b4"],["#fc889e","#52adff","#cc2929","#e81073","#630ca8","#3a3acc","#f7f1b4"],["#3ac9d8","#6f3bff","#44acf2","#fce875","#bf23f9","#ffb3c9","#2e92ff"],["#44acf2","#8e7de2","#6cffff","#ffd2c7","#9449ce","#f7e579","#034a7f"],["#06a0ba","#6f3bff","#fc4c7e","#f9b175","#6c6ce5","#8f58f9","#e6c7b4"],["#2bc5cc","#8e7de2","#cf4ef9","#f7df77","#4949c1","#a915ff","#f7f1b4"],["#ef01c4","#065ca8","#1c00ba","#ffee94","#c053ba","#8f58f9","#4ea8f9"],["#a60160","#M 30bec3","#5e52db","#ffebae","#da55f2","#a915ff","#4febf7"],["#f44260","#3c5ba0","#845ecc","#f4b53f","#3d9fc1","#9c223d","#e6c7b4"],["#f43b79","#4058ad","#6c3ca5","#ef9029","#317ec4","#69239b","#f7f1b4"],["#f44260","#3c5ba0","#7070e8","#f27740","#3d9fc1","#d34040","#e6c7b4"],["#f43b79","#4058ad","#4d4dc1","#ef9029","#317ec4","#ed5487","#f7f1b4"],["#f244ee","#5c75c6","#7070e8","#3cd3b6","#3d9fc1","#d34040","#e6c7b4"],["#f43b79","#637cc1","#4d4dc1","#1cb7b7","#317ec4","#ed5487","#f7f1b4"],["#e5491f","#2058d3","#7462f9M ","#40f2d0","#123676","#9c223d","#e6c7b4"],["#ef973f","#177199","#6b43dd","#15abba","#4aa4ae","#69239b","#f7f1b4"],["#e22079","#2058d3","#7462f9","#40f2d0","#5a92e5","#9c223d","#e6c7b4"],["#f21c59","#177199","#6b43dd","#15abba","#4658f9","#69239b","#f7f1b4"],["#e22079","#2058d3","#e6c7b4","#40f2d0","#5a92e5","#ba4564","#edf28b"],["#f21c59","#177199","#f7f1b4","#15abba","#4658f9","#e5336a","#43f7c8"],["#e22079","#4b80e0","#e6c7b4","#41a9ef","#5a92e5","#bc0d8b","#f7adf7"],["#f21c59","#197abc","#f7f1b4","#36a9cc","#46M 58f9","#d3057f","#43f7c8"],["#e22079","#4b80e0","#e6c7b4","#435ced","#e2b55a","#ea397d","#f4e2ae"],["#f21c59","#197abc","#f7f1b4","#7f63f7","#f98562","#e84b3a","#e9f49f"],["#0850b7","#6771f9","#8213bc","#75f9e0","#4848c1","#ffb3c9","#2e92ff"],["#3081e2","#5285dd","#9604af","#15abba","#0f0fce","#f7e579","#034a7f"],["#d80e3e","#6771f9","#8213bc","#f7ad77","#4848c1","#ffb3c9","#31b5ff"],["#ef4878","#5285dd","#9604af","#f4cb78","#0f0fce","#f7e579","#2a76d1"],["#f98246","#69acf7","#8213bc","#f7ad77","#4848c1","#ffb3c9",M "#31b5ff"],["#ed7d4a","#5285dd","#b529d3","#f4cb78","#0f0fce","#f7e579","#2a76d1"],["#f7cd48","#69d6f4","#8213bc","#f7ad77","#7649bf","#ffb3c9","#e6c7b4"],["#f49090","#21b5d8","#b529d3","#f4cb78","#5829b2","#f7e579","#f7f1b4"],["#4a82f4","#f22a51","#8213bc","#f7ad77","#905df4","#ffb3c9","#0c85ba"],["#4cb2f2","#b72c4e","#b529d3","#f4cb78","#542ad3","#f7e579","#096889"],["#4a82f4","#f22a51","#1522ba","#f7ad77","#d32fc0","#b6fffa","#0c85ba"],["#4cb2f2","#b72c4e","#483d9b","#f4cb78","#e50a6e","#f1ffb8","#096889"],["#4aM 82f4","#f22a51","#4b23db","#f7ad77","#d1304b","#5b99f4","#1dbcb4"],["#4cb2f2","#b72c4e","#694eea","#f4cb78","#d61660","#5cd3f2","#096889"],["#ad4cf2","#f22a51","#8213bc","#f478b0","#5ff2f2","#ffb3c9","#0c85ba"],["#8b05e2","#b72c4e","#b529d3","#f4cb78","#3ea6b7","#f7e579","#096889"],["#584def","#f22a51","#a52cdd","#f2c679","#60caef","#d2b6ff","#0d53b7"],["#4f24c6","#b72c4e","#b529d3","#efaa7b","#3ea6b7","#f7e579","#458bdd"],["#584def","#ef592b","#2cdbc1","#f2c679","#6290ed","#b8fff1","#0d53b7"],["#4f24c6","#f27949",M "#2ec0d8","#efaa7b","#4067b5","#f7e579","#458bdd"],["#584def","#ed2e8a","#2eacd8","#f2c679","#6290ed","#6929ce","#0d53b7"],["#4f24c6","#c11670","#3070d6","#efaa7b","#4067b5","#4a4add","#458bdd"],["#584def","#ed2e8a","#2eacd8","#ef9c7b","#6290ed","#6929ce","#0d53b7"],["#4f24c6","#c11670","#3070d6","#fc583d","#4067b5","#4a4add","#458bdd"],["#b7b7b7","#0a0a0a","#ffffff","#dbdcdd","#b2b2b2","#a7a7a8","#4e4f4f"],["#d8d8d8","#636363","#dbdcdd","#b2b2b2","#4e4f4f","#e0e1e2","#3f3f3f"],],paletteIndex,colorIndex,colorIndex2M ,grayscale,paletteMode,element,flavour,key,trigger=!1,anim=!1,gridIndex=0,count=0,direction,currentChord=0,nextChord=0,keyArray=["C","D","E","F","G","A","B"],flavours=["major","minor"],fifths=[["C","G","D","A","E","B","F#","Db","Ab","Eb","Bb","F"],["A","E","B","F#","C#","G#","D#","Bb","F","C","G","D"]],midSeq4,mapScale,mixer,stereo,synth2,synth4,synth6,synth3,feedback,reverb5,delay5,delay4,delay2,reverb3,lfo,pingPong,pingPong1,panner,autoPan,FFT,wave,meter,pendulum;function centerCanvas(){var e=(windowWidth-width)/M 2,t=(windowHeight-height)/2;cnv.position(e,t)}function setup(){wdt=windowWidth<windowHeight?windowWidth:windowHeight,wdt-=margin,cnv=createCanvas(wdt,wdt),centerCanvas(),bIndex=1,background(0),center=createVector(width/2,height/2),noFill(),noStroke(),smooth(),strokeWeight(1);let e=int(1990*mathRand());noiseSeed(e),randomSeed(e),noiseDetail(2,1),pixelDensity(displayDensity()),initializeAudio();let t=int(map(mathRand(),0,1,0,flavours.length));flavour=flavours[t];let f=int(map(mathRand(),0,1,0,fifths[t].length));key=fM ifths[t][f],mapScale=(scale=(scale=(scale=(scale=(scale=(scale=(scale=Tonal.Scale.get(key+"1 "+flavour).notes).concat(Tonal.Scale.get(key+"2 "+flavour).notes)).concat(Tonal.Scale.get(key+"3 "+flavour).notes)).concat(Tonal.Scale.get(key+"4 "+flavour).notes)).concat(Tonal.Scale.get(key+"5 "+flavour).notes)).concat(Tonal.Scale.get(key+"6 "+flavour).notes)).concat(Tonal.Scale.get(key+"7 "+flavour).notes)).slice(14,28);for(let i=0;i<mapScale.length;i++){mapScale.length,mapScale[i].length>2?keyFifths.push(mapScale[i].sliM ce(0,2)):keyFifths.push(mapScale[i].slice(0,1));.5>random(1)?currentKey-=1:currentKey+=1}let a=[];for(let $=0;$<keyFifths.length;$++)a.push(fifths[t].indexOf(keyFifths[$]));for(let s=0;s<a.length;s++)-1===a[s]&&(keyFifths.splice(s,1),a.splice(s,1));for(let c=0;c<a.length;c++)a[c]===a[0]-1&&(sequence.push(keyFifths[0]),sequence.push(keyFifths[c])),a[c]===a[0]+1&&sequence.push(keyFifths[c]),a[c]===a[0]+3&&(sequence.push(keyFifths[0]),sequence.push(keyFifths[c])),a[c]===a[0]+2&&sequence.push(keyFifths[c]),a[c]===a[0]+M 4&&sequence.push(keyFifths[c]);for(let n=0;n<15;n++)for(let d=0;d<sequence.length;d++)chordArray.push(generateChord(`${sequence[d]}2`,!0));for(let _=0;_<15;_++)for(let r=0;r<sequence.length;r++)bassChord.push(generateChord(`${sequence[r]}3`,!0));paletteMode=mathRand(),paletteIndexSub=(paletteIndex=2*int(map(mathRand(),0,1,0,50)))+1,paletteIndex3=2*int(map(mathRand(),0,1,0,50)),colorIndex=int(map(mathRand(),0,1,0,palette1[0].length)),colorIndex2=int(map(mathRand(),0,1,0,palette1[0].length)),paletteType=mathRand(),grM ayscale=98===paletteIndex,oscill=mathRand(),oscill2=mathRand(),format=mathRand(),direction=int(map(mathRand(),0,1,0,2)),format<.5?(w=width,h=.4*height):(w=.4*width,h=height),tileWidth=floor(w/sclX)+1,tileHeight=floor(h/sclY)+1,chordNotes=chordArray;for(let b=0;b<=w;b+=tileWidth)for(let o=0;o<=h;o+=tileHeight){let l=gridIndex;points.push(new GridPoint(b-w/2,o-h/2,tileWidth,tileHeight,0,l,0)),gridIndex=(gridIndex+1)%14}let p=map(mathRand(),0,1,.1,.5),u=points;for(let y in points)mathRand()>p?(points[y].subdivide(u,y,M 2),points.splice(y,1),count++):(u.push(points[y]),points.splice(y,1));element=(points=u).length;let g;g=paletteMode<.5?7:3,window.$generativeTraits={Type:"Audio",BPM:"60",Aspect:"Grid",Key:key,Flavour:flavour,Elements:element,Subdivision:count,Palette:g,Grayscale:grayscale,Property:"Object"}}function initializeAudio(){Tone.Transport.bpm.value=60,(mixer=new Tone.Gain).toDestination(),FFT=new Tone.FFT(64),Tone.Master.connect(FFT),wave=new Tone.Waveform,(pendulum=new Tone.LFO(.05)).start(),(meter=new Tone.Meter).normaM lRange=!0,pendulum.connect(meter),panner=new Tone.Panner(0).chain(mixer);let e=new Tone.Chorus({frequency:.83,depth:.7,wet:.85}),t=new Tone.Reverb({decay:3/4,wet:.5});t.generate();let f=new Tone.FeedbackDelay({delayTime:3/8,feedback:.32,wet:.36});(pingPong=new Tone.PingPongDelay(3/4,.5).toDestination()).set({wet:.3});let i=new Tone.Filter(2250,"lowpass",-24),a=new Tone.Filter(320,"highpass",-48);new Tone.LFO(1,250,2250).connect(i.frequency).start();let $=new Tone.FeedbackDelay({delayTime:.005,feedback:.1,wet:.33});M new Tone.LFO(1,-1,1).connect(panner.pan).start(),(synth4=new Tone.PolySynth(Tone.FMSynth).chain(e,f,t,pingPong,i,a,$,mixer)).set({harmonicity:3,modulationIndex:3,oscillator:{type:"sine"},envelope:{attack:2e-4,decay:.1,sustain:.08,release:.03},modulation:{type:"sine"},modulationEnvelope:{attack:4e-4,decay:.1,sustain:.09,release:.01},filterEnvelope:{attack:2e-4,decay:.2,sustain:.5,release:.4,baseFrequency:200,octaves:2.6},volume:-16}),delay5=new Tone.FeedbackDelay({delayTime:3/8,feedback:.3,wet:.2});let s=new Tone.ReM verb({decay:3/16,wet:.25});s.generate();let c=new Tone.Filter(2250,"lowpass",-24);(synth6=new Tone.PolySynth(Tone.Synth).chain(delay5,s,pingPong,c,mixer)).set({harmonicity:3,modulationIndex:3,detune:0,oscillator:{pitch:7,type:"sine"},envelope:{attack:1,decay:.1,sustain:.02,release:.03},modulation:{type:"sine"},modulationEnvelope:{attack:1.5,decay:.1,sustain:.02,release:.06},filterEnvelope:{attack:2,decay:.2,sustain:.5,release:.4,baseFrequency:200,octaves:2.6},volume:-24}),synth6.connect(wave),Tone.Transport.schedulM eRepeat(()=>{pingPong.set({delayTime:random([3/4,3/16,3/8,.25])}),pingPong.set({wet:random([0,.1,.5])}),f.set({delayTime:random([3/8,.25])}),delay5.set({delayTime:random([3/8,.25])})},"2m")}function draw(){background(0,20),translate(center.x,center.y);let e=.5-meter.getValue(0),t=wave.getValue(0),f=FFT.getValue(0),i=map(e,-.5,.5,-PI,PI);for(let a=0;a<points.length;a++)points[a].r=points[a].r3,points[a].move(),points[a].animate(a,i,f),points[a].render(),points[a].display(a,t,f),points[a].start+=.1,points[a].offset+=M .006;anim&&(start+=.02),trigger&&(playChord(),Tone.Transport.start(),trigger=!1)}function playChord(){Tone.Transport.schedule(bounceChord,"1"),Tone.Transport.start()}function bounceChord(){currentChord=nextChord,Promise.all([playSynthChord(chordNotes[currentChord],12,12),playStringChord(bassChord[currentChord],6,6),]).then(e=>{int(random(2));let t=int(random(6,18))+"m";!function f(i){let a=e[0],$=e[1];new Tone.BufferSource({url:a,playbackRate:.125}).toDestination().start(i),new Tone.BufferSource({url:$,playbackRateM :.125}).toDestination().start(i),Tone.Transport.scheduleOnce(f,"+"+t)}(Tone.now())}),Tone.Transport.start(),nextChord<chordNotes.length-1?nextChord+=1:nextChord=0,Tone.Transport.schedule(bounceChord,"+2m")}function playSynthChord(e,t,f){let i=Tone.Time(t).toSeconds(),a=Tone.Time(f).toSeconds();return Tone.Offline(()=>{synth6.triggerAttackRelease(e,i)},i+a)}function playStringChord(e,t,f){let i=Tone.Time(t).toSeconds(),a=Tone.Time(f).toSeconds();return Tone.Offline(()=>{synth4.triggerAttackRelease(e,i)},i+a)}functioM n voicing(e,t){let f=scale.indexOf(e)+t-1,i;if(void 0!==scale[f])i=scale[f];else if(3===(i=scale[f-7]).length)parseInt(i.slice(2));else{let a=parseInt(i.slice(1))+1;i=`${i.slice(0,1)}${a}`}return i}const getNextChordNote=(e,t)=>{let f=scale.indexOf(e)+t-1,i;if(void 0!==scale[f])i=scale[f];else if(3===(i=scale[f-7]).length)parseInt(i.slice(2));else{let a=parseInt(i.slice(1))+1;i=`${i.slice(0,1)}${a}`}return i};function generateChord(e,t){let f=1,i=1,a=1,$=1,s=1,c=1,n=1;t?(f=generateIndice1(),i=generateIndice1(),a=geM nerateIndice1(),$=generateIndice1(),s=generateIndice(),c=generateIndice2(),n=generateIndice2()):(f=1,i=1,a=1,$=1,s=1,c=1,n=1);let d=voicing(e,f),_=voicing(getNextChordNote(e,3),i),r=voicing(getNextChordNote(e,5),a),b=voicing(getNextChordNote(e,7),$),o=voicing(getNextChordNote(e,9),s);return voicing(getNextChordNote(e,11),c),voicing(getNextChordNote(e,13),n),[d,_,r,b,o]}function generateIndice(){let e=int(map(mathRand(),0,1,0,3));return 0===e?-8:1===e?1:2===e?8:void 0}function generateIndice1(){return mathRand()>.5?M 1:8}function generateIndice2(){return mathRand()>.5?-8:1}class GridPoint{constructor(e,t,f,i,a,$,s){int(map(e+t,-width/2+-height/2,width/2+height/2,0,sclX+sclY)),int(map(t,-height/2,height/2,0,4)),this.x=e,this.y=t,this.w=f,this.c2=f,this.wx=e,this.hy=t,this.ws=f,this.hs=i,this.h=i,this.r=f,this.r2=f,this.r3=f,this.mv=0,this.theta=0,this.centerX=this.x+this.w/2,this.centerY=this.y+this.h/2,this.c=int(map(mathRand(),0,1,0,3)),this.paletteIndex2=int(map(dist(this.centerX,this.centerY,0,0),0,500,0,palette1[0].length))M ,this.randForm=int(map(mathRand(),0,1,0,5)),this.randIndex=paletteMode<.5?int(map(mathRand(),0,1,0,palette1[0].length)):paletteIndex2,this.randIndex2=int(map(mathRand(),0,1,0,palette1[0].length)),this.randIndex3=int(map(mathRand(),0,1,0,palette1[0].length)),this.randIndex4=int(map(mathRand(),0,1,0,palette1[0].length)),this.start=0,this.alpha=255,this.pIndex=paletteIndex,this.pi=paletteIndex3,this.rt=map(mathRand(),0,1,PI/6,PI/3),this.incr,this.rst=random(0,TAU),this.rst2=random(0,TAU),this.rad=0,this.sub=s,this.offM set=20*mathRand(),this.offset2=0,this.div=int(map(mathRand(),0,1,10,30)),this.strk=1,this.isOn=a,this.note=$,this.init(),paletteIndex2=(paletteIndex2+1)%3}subdivide(e,t,f){let i=this.w/f,a=this.h/f,$=this.sub+1,s=this.note+7;e.push(new GridPoint(this.x,this.y,i,a,this.isOn,s,$),new GridPoint(this.x+i,this.y,i,a,this.isOn,s,$),new GridPoint(this.x,this.y+a,i,a,this.isOn,s,$),new GridPoint(this.x+i,this.y+a,i,a,this.isOn,s,$))}move(){if(0<=this.t&&this.t<this.t1){let e=norm(this.t,0,this.t1-1);this.mv=lerp(0,TAU,easeM OutQuint(e)),this.rad=lerp(0,this.w/4,easeOutQuint(e))}this.t1<this.t&&this.init(),this.t++}init(){this.t=-int(random(map(speed,1,5,500,100))),this.t1=map(speed,1,5,220,60)}animate(e,t,f){this.theta=t+e*PI/4;let i=int(map(this.x,-width/2,width/2,0,f.length)),a=f[i];a=a===-1/0?0:f[i],this.incr=map(a,0,-100,0,.2),this.i=map(e,0,points.length,0,TWO_PI),this.xoff=map(cos(this.i),-1,1,0,3),this.yoff=map(sin(this.i),-1,1,0,3),this.n=noise(this.xoff+this.offset+this.incr,this.yoff+this.offset+this.incr),this.n4=noise(thisM .xoff+50,this.yoff+50),this.n5=noise(this.xoff+50+start,this.yoff+50+start),this.n6=noise(this.offset,this.offset),this.angle=noise(this.xoff+this.offset,this.yoff+this.offset)*TAU*4,this.xa=this.x,this.ya=this.y*sin(map(this.n,0,1,0,TAU)),this.xb=this.x*sin(this.mv),this.r=map(this.n,0,1,this.w/2,this.w),this.r3=map(this.n,0,1,this.w/2,this.w),this.r2=map(this.n,0,1,0,5),this.alpha=map(this.n5,0,1,120,180),this.delay=int(map(this.n4,0,1,2,1))}render(){strokeWeight(.1);fill(color(palette1[this.pIndex][this.randIndeM x])),circle(this.x,this.ya,this.r2),circle(this.x+this.w,this.ya,this.r2),circle(this.x,this.ya+this.h,this.r2),circle(this.x+this.w,this.ya+this.h,this.r2)}display(e,t,f){if(0===direction)for(let i=this.ya;i<=this.ya+this.h;i+=2){beginShape();for(let a=this.xa;a<=this.xa+this.w;a+=5){let $=int(map(this.ya*this.xa,(this.ya+this.h)*(this.xa+this.w),0,f.length)),s=f[$];s=s===-1/0?0:f[$],this.incr2=map(s,0,-100,0,6),this.n3=noise(this.incr2,this.incr2),this.n2=noise(this.xoff+this.offset2+this.incr2,this.yoff+this.offM set2+this.incr2),this.n4=map(this.n3,0,1,.9,1.1),this.z=oscill<.5?map(this.n2,0,1,.9,1.1):1;let c=int(map(this.n2,0,1,0,255));int(map(this.n2,0,1,0,palette1[0].length));let n=map(i,this.y,this.y+this.h,0,1),d,_=color(palette1[this.pIndex][this.randIndex]),r=color(palette1[this.pIndex+1][this.randIndex]);(d=lerpColor(_,r,n)).setAlpha(c),noFill(),stroke(d),strokeWeight(.5),vertex(a,i*this.z),this.offset2+=.1}endShape()}else if(1===direction)for(let b=this.xa;b<=this.xa+this.w;b+=2){beginShape();for(let o=this.ya;o<=tM his.ya+this.h;o+=5){let l=int(map(e,points.length,0,f.length)),p=f[l];p=p===-1/0?0:f[l],this.incr2=map(p,0,-100,0,3),this.n3=noise(this.incr2,this.incr2),this.n2=noise(this.xoff+this.offset2+this.incr2,this.yoff+this.offset2+this.incr2),this.n4=map(this.n3,0,1,.9,1.1),this.z=oscill<.5?map(this.n2,0,1,.9,1.1):1,this.z2=oscill2<.5?map(this.n2,0,1,.999,1.009):1;let u=int(map(this.n2,0,1,0,255));int(map(this.n2,0,1,0,palette1[0].length));let y=map(o,this.y,this.y+this.h,0,1),g,x=color(palette1[this.pIndex][this.randIndM ex]),m=color(palette1[this.pIndex+1][this.randIndex]);(g=lerpColor(x,m,y)).setAlpha(u),noFill(),stroke(g),strokeWeight(.5),vertex(b*this.z2,o*this.z),this.offset2+=.1}endShape()}if(0===this.c);else if(1===this.c){strokeWeight(.5);let v=0;for(let I=1;I<t.length;I++)if(t[I-1]<0&&t[I]>=0){v=I;break}let k=v+t.length/2,F=100*this.h;for(let C=v;C<=k;C++){let S=map(C-1,v,k,this.xb,this.xb+this.w),T=map(t[C-1],-12,12,this.y-F,this.y+F+this.h),P=map(C,v,k,this.xb,this.xb+this.w),q=map(t[C],-12,12,this.y-F,this.y+F+this.h);lM ine(S,T,P,q)}}}}function mapNote(e,t){let f=t.length,i=t[modulo(e,f)],a=Tonal.Note.octave(t[0])+floor(e/f);return Tonal.Note.pitchClass(i)+a}function modulo(e,t){return(e%t+t)%t}function easeOutQuint(e){return 1+--e*e*e*e*e}function windowResized(){centerCanvas()}function keyTyped(){return"p"===key&&saveCanvas("liquidentropy","jpg"),!1}function touchStarted(){return Tone.start(),anim||(trigger=!0,Tone.Transport.start()),anim=!0,3===touches.length&&saveCanvas("liquidentropy","jpg"),!1}function mousePressed(){return M Tone.start(),anim||(trigger=!0,Tone.Transport.start()),anim=!0,!1} <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('M let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (M r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background-color: #000000; margin: 0px; overflow: hidden; width: 100%; height: 100%; <script type="text/javascript"> text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"jj88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Light", "Base shade": "Dark", "Colour": "Red", "Colour chance": "10%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 4, "Sensitivity": "Medium"M let t=[2e3,1e4],o=[0,50];let h=[100,250],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[100,250],X=[.6,3];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=4,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e60000"],te=.1,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7aM dbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #29";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 M l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74M .16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.M 915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.M 051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-41 M m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.78,M -1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40-69zm-M 220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_cluster=!0)M ,large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424M ,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17M -35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 2M 47h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_M shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);breaM k}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.jsoM n(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.byteM s,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate"))M .setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.M s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#backgrM ound_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scaleM =0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0]M ,h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapeM s[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2)M ,stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement(),M (bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]M )):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_number_M of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[M i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.oM pacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.idM )).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_numbM er_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),aM nimation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visiM ble_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");forM (t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),M o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}functioM n D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http:M //www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,M s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2M =K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=p,M p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+=M J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fpM [i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1M *direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"xx66.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Dark", "Base shade": "Balanced", "Colour": "Red", "Colour chance": "20%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 7, "Sensitivity": "MeM let t=[2e3,1e4],o=[0,250];let h=[0,50],W=[.1,.4];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[50,200],X=[.1,5];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=7,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e60000"],te=.2,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7M adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #61";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25M l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l7M 4.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90M .915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0M .051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-41M m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.78M ,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 M 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 8M 7 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m33 15-26 97 26 122 47-50h96l-M 143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1M .0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=awaitM fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let M e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mM empool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,M "values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeM ze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(functM ion e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeM NS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[M i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<larM ge_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&M &(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";M "+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_raM nge=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);M fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shapeM =all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desirM ed_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapesM +"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_M large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,M u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]M ?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[M 1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.iM d),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(M e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAtM tributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=M t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(M 50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sM in(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(clusterM =!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[]M ,i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydowM n=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"loosey.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Light", "Base shade": "Light", "Colour": "Blue", "Colour chance": "7%", "Base colour": "Blue", "Base Colour chance": "40%", "S forms": "20-120", "L forms": "2-24", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 3, "Sensitivity": "HiM let t=[2e3,1e4],o=[100,250];let h=[180,250],W=[.1,.4];var e=[[2,8],[2,8]];let u=[20,120],_=[50,80];let b=[180,250],X=[.8,4];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=3,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.07,se=["#000080"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.M pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #11";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,22M 7 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59M ,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,4M 25.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42M -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131M -52 56-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,eM nable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3M ,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 M 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-1M 80-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,PM ;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"jsonM ",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bM h}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"M })),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(nulM l,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(nullM ,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChilM d(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=documenM t.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<smalM l_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=deM (large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[M offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-backgrM ound")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],M randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fadeM _time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visiM bilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duraM tion_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.M setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|M random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(smallM _shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),M s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id=M "gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transfM orm-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${M e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.6<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNM S(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=M [];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1M =K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%1M 00)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,M p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.lengtM h;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(M n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Dark", "Base shade": "Dark", "Colour": "Blue", "Colour chance": "4%", "Base colour": "Blue", "Base Colour chance": "50%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 4, "Sensitivity": "HighM let t=[2e3,1e4],o=[0,100];let h=[0,50],W=[.1,.4];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,100],X=[.6,3];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=4,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#000080"],te=.04,se=["#000080"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4cM a7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #17";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.M 25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357M l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88lM 90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,M -0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-M 41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.M 78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-10M 0 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 HM 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m33 15-26 97 26 122 47-50h96M l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:M "1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=awaM it fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{leM t e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}tryM {mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(nulM l,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","frM eeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(funM ction e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttribuM teNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(sM 1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<lM arge_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==M 0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+M ";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_M range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]M );fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shaM pe=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desM ired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapM es+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visiblM e_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,M o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[M 0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.M s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+rM .id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abM s(e),!0&.5<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.seM tAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*lM ,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3M =K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=MatM h.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(clusM ter=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(vM =[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeyM down=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"trim.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Light", "Colour": "", "Colour chance": "0%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-30", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 8, "Sensitivity": "High"} t t=[2e3,1e4],o=[180,250];let h=[80,170],W=[.07,.2];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[0,100],X=[.8,4];let c=[5,30],f=[12,18],S=[0,1,2,3,4,5,6,7,8,9,10],N=8,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["-"],te=0,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc8336d369M 69373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #16";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79,45 -1M 8,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,115.7L9M 9.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-40.961LM 147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1.8,20 M z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 M 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 8M 7 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.M 7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcM ount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);bM reak}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=M await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_randoM m,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(nuM ll,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x"M ,"0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$M ;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));forM (i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1M :D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offsM et2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),neM w_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duratioM n",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_nM umber_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_M small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.queryM Selector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&M !shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<totalM _number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_M shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinateM s=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.puM sh({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2)M ,l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.seM tAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sinM (ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"yM 2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],oM =0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=M K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[]M ,s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].M x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var M a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).inseM9 rtAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"yy66.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Orange", "Colour chance": "30%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-30", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 5, "Sensitivity": M let t=[2e3,1e4],o=[80,170];let h=[50,200],W=[.1,.4];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[0,100],X=[.1,5];let c=[5,30],f=[12,18],S=[0,1,2,3,4,5,6,7,8,9,10],N=5,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e65c00"],te=.3,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4M ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #25";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0M .25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.35M 7l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88M l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8M ,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,M -41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0M .78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40-6M 9zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clusterM =!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","mM 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h14M 5l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m4M 73 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F(M [bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);M break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await eM .json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.M bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animatM e")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backgroM und.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#baM ckground_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],sM cale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(M h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_sM hapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",colM or2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElemenM t(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,M 100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_numM ber_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilitM ies[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shaM pe.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shapM e.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_M number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"sM "),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_M visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs")M ;for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"M %"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}funM ction D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("hM ttp://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function M K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1M ),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,pM 2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100M ,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3M ),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+stepM *(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"hh88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Light", "Base shade": "Light", "Colour": "Green", "Colour chance": "5%", "Base colour": "Green", "Base Colour chance": "50%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 4, "Sensitivity": "M let t=[2e3,1e4],o=[100,250];let h=[100,250],W=[.1,.3];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[180,250],X=[.1,5];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=4,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#00b300"],te=.05,se=["#00b300"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quM iknode.pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #12";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z MM 333,227 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109M ,128.59,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414LM 147.4,425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -M 104,-42 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 lM 18,7.3 -29,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -M 40,-4.5 m -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 5M 6-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enableM _sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 3M 0,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-25M 0 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-M 37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),backM ground={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json(M );i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mpM }),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-LM )/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementM NS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"valuesM ",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fiM ll","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=JM (W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23=M =0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offsM et2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stoM p-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animationM .beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomneM ss=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=ZM ;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapM es_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,M "values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelectoM r("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement(M )):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_larM ge_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_valM ues="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementM NS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(nuM ll,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendCM hild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.5<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.creatM eElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];returM n e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,1M 60,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-M 5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=M J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[iM ].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[M 1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"77778888.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Dark", "Base shade": "Dark", "Colour": "Blue", "Colour chance": "10%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-30", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 2, "Sensitivity": "Medium"} let t=[2e3,1e4],o=[0,100];let h=[0,100],W=[.1,.4];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[0,50],X=[.1,5];let c=[5,30],f=[12,18],S=[0,1,2,3,4,5,6,7,8,9,10],N=2,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#000080"],te=.1,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc8336M d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #3";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79,45M -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,115.M 7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-40.9M 61L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1.8,M 20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-41 m -1,-3.M 2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.78,-1.1 41,M 4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1M -26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,1M 02 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m33 15-26 97 26 122 47-50h96l-143-169m-M 1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",methoM d:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(urM l,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fM etch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_byM tes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",M ""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.aM ppendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){sM mall_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"M transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,10M 0],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapesM .length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shadM e_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_bacM kground_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,9M 0],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duraM tion=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapM es[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_numberM _of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),aniM mation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shaM pes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var M _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:DM (s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-M "+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=docM ument.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<IM ()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNSM (null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.pM ush({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,M 10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.M push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,clustM er_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.M length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=functioM n(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"lent.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Yellow", "Colour chance": "10%", "Base colour": "", "Base Colour chance": "0%", "S forms": "5-200", "L forms": "2-24", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 7, "SensitivityM let t=[2e3,1e4],o=[80,170];let h=[50,200],W=[.1,.3];var e=[[2,8],[2,8]];let u=[5,200],_=[50,120];let b=[0,250],X=[.8,4];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=7,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#cccc00"],te=.1,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.proM /4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #76";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 vM 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.M 357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.M 88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1M .8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -2M 9,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m M -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40M -69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clustM er=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z",M "m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28hM 145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","M m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:M F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(aM );break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=awaitM e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=M t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animM ate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backgM round.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#M background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1]M ,scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=M V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),smallM _shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",cM olor2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElemM ent(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-M 5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_nM umber_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilM ities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",sM hape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shM ape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desireM d_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+M "s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",M n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defsM ");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.xM +"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}fM unction D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS(M "http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}functioM n K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,tM +1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=pM ,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%1M 00,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100M ,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+stM ep*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"22228888.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"seaham.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ww66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"rr66.sats"}h! text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"loose.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"oo88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"pawn.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"cc66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"wick.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"dd88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"nn88.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"998888.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"11118888.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ww88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Light", "Base shade": "Light", "Colour": "Yellow", "Colour chance": "6%", "Base colour": "Yellow", "Base Colour chance": "60%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 2, "Sensitivity":M let t=[2e3,1e4],o=[180,250];let h=[100,250],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[180,250],X=[.1,5];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=2,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#cccc00"],te=.06,se=["#cccc00"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discoverM .quiknode.pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #9";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 zM M 333,227 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.1M 09,128.59,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.41M 4L147.4,425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40M -104,-42 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22M l 18,7.3 -29,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14M -40,-4.5 m -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52M 56-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enabM le_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20M 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-M 250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 3M 3-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),baM ckground={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.jsoM n();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_M mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytesM -L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElemeM ntNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"valuM es",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"M fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(szM =J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%2M 3==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",ofM fset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"sM top-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animatiM on.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomM ness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapesM =Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shM apes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(nulM l,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelecM tor("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElemenM t()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_lM arge_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_vM alues="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElemeM ntNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(M null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appenM dChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.4<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.creM ateElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];retM urn e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0M ,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+JM (-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),xM +=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fpM [i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<M s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"hh66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"qq88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"kk88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ee88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ff66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"zz88.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below. Are we missing an important library? Let us know @generative_xyz. <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <!-- c2.min.js@1.0.0 pt sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script> <!-- chromajs@2.4.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script> <!-- <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>--> <!-- threejs@r124 <script sandbox="allow-scripts" typM e="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script> <!-- tonejs@14.8.49 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <!-- svgjs@3.1.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script> <!-- aframejs@1.2.0 <script sandbox="allow-scripts" type="text/jaM vascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script> <!-- babylonjs@5.47.0 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script> <!-- paperjs@0.12.17 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script> <!-- regljs@2.1.0 <script sandbox="allow-scripts" tM ype="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script> <script type="text/javascript"> Add your script here Add your script here <script id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substM ring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); urn _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | M 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); html, body { margin: 0; padding: 0; max-width: 100%; max-height: 100%; margin: auto; overflow: auto; position: fixed; object-fit: contain; bottom: 0; left: 0; right: 0; <script type="text/javascript"> const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object window.$generativeTraits = { "T1": T1(rand), console.log(window.$generativeTraits) Add your code here nst container = document.createElement("div") // container.innerHTML = "<span>seed: " + seed + "</span><br>"; // document.body.prepend(container) //License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. //Author: @devhontran //Twitter: https://twitter.com/DevHontran //Website: https://hontran.dev const scaler = 1; let paper, border; let shadown = {x: -5, y: 5}; let layers = []; let padding = 40; function cyrb128(str) { = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imul(h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067); h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233); h3 = Math.imul(h1 ^ (h3M >>> 17), 951274213); h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179); return [(h1^h2^h3^h4)>>>0, (h2^h1)>>>0, (h3^h1)>>>0, (h4^h1)>>>0]; function sfc32_c(a, b, c, d) { a >>>= 0; b >>>= 0; c >>>= 0; d >>>= 0; var t = (a + b) | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); d = d + 1 | 0; t = t + d | 0; c = c + t | 0; return (t >>> 0) / 4294967296; // return random value from [l -> r] function consistentRand (seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return l + rand * (r - l) function getRandomItem (listP, seed) { const pref = [] for (const x of listP) pref.push(x) for (let i = 1; i < listP.length; i++) { pref[i] += pref[i - 1] for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1]; // get random value from 0->1 const rand = consistentRand(seed, 0, 1) r (let i = 0; i < pref.length; i++) { if (rand < pref[i]) return i; function createRadialGradient(x, y, r, x1, y1, r1) { const grd = drawingContext.createRadialGradient(x, y, r, x1, y1, r1); grd.addColorStop(0,"#FFFFFF"); grd.addColorStop(1,"#E5E5E3"); drawingContext.fillStyle = grd; drawingContext.fillRect(0, 0, width, height); function artNosie(){ const w = width * 1.2; const h = height * 1.2M paper = createGraphics(w, h); for(let i = 0 ; i< 100000; i++){ let x = random(w); let y = random(h); let dotSize = 10.0*(noise(x/(width / 4), y/(height / 4))*2 - noise(x/width, y/height)); paper.strokeWeight(random(0.25, 3)); paper.stroke(random(20, 80), random(1+dotSize, 4+dotSize)); paper.point(x, y); function generabox(col, pos, si){ const layer = createGraphics(width, height); ill(140, 178, 250, 56); layer.noStroke(); layer.rect(pos.x + shadown.x, pos.y + shadown.y, si.w, si.h); layer.filter(BLUR, 3); layer.fill(col.r, col.g, col.b, col.a); layer.noStroke(); layer.rect(pos.x, pos.y, si.w, si.h); layers.push(layer); function setup() { const hash = rand ? rand : Math.random(); const fCol = {r: 255, g: 255, b: 255}; const s = min(window.innerWidth, window.innerHeight) createCanvas(s,s);M for(let i=0; i<9; i++){ const tHash = `${hash}_${i}`; const cyrHash = cyrb128(tHash); const mixHash_color_r = consistentRand(cyrHash[0], 0, 1); const mixHash_color_g = consistentRand(cyrHash[1], 0, 255); const mixHash_color_b = consistentRand(cyrHash[2], 0, 255); const mixHash_color_a = 255;//consistentRand(cyrHash[3], 100, 255); const sw = consistentRand(cyrHash[0],50, width / 2); const sh = consistentRaM nd(cyrHash[3], 50, height / 2); const col = {r: mixHash_color_r, g: mixHash_color_g, b: mixHash_color_b, a: mixHash_color_a}; const si = {w: sw, h: sh}; const pos_x = consistentRand(cyrHash[1], padding, width- padding - si.w); const pos_y = consistentRand(cyrHash[2], padding, height- padding - si.h); const pos = {x: pos_x, y: pos_y} // console.log('___i', col, pos, si); generabox(col, pos, si); const borderSize = 30; border = createGraphics(width, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(width - borderSize, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, width, borderSize); border.fill(fCol.r, fCol.g, fCol.b, 255)M border.noStroke(); border.rect(0, height - borderSize, width, borderSize); function draw() { background('#ffffff'); blendMode(BLEND); for(let i=0; i<9; i++){ image(layers[i], 0, 0, width, height); blendMode(MULTIPLY) createRadialGradient(width / 2, height / 2, 0, width / 2, height / 2, height); blendMode(MULTIPLY); image(paper, 0, 0, width, height); image(border,M- 0, 0, width, height); function windowResized() { const s = min(window.innerWidth, window.innerHeight) resizeCanvas(s, s); Add your code here text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"558888.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"gg66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"tt66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"tt88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ss88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"qq66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"mm88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Green", "Colour chance": "5%", "Base colour": "Green", "Base Colour chance": "50%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 0, "SensitM let t=[2e3,1e4],o=[0,250];let h=[80,170],W=[.1,.4];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,250],X=[.1,5];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=0,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#00b300"],te=.05,se=["#00b300"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.M quiknode.pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #77";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 zM M 333,227 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.1M 09,128.59,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.41M 4L147.4,425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40M -104,-42 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22M l 18,7.3 -29,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14M -40,-4.5 m -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52M 56-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enabM le_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20M 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-M 250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 3M 3-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),baM ckground={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.jsoM n();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_M mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytesM -L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElemeM ntNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"valuM es",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"M fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(szM =J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%2M 3==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",ofM fset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"sM top-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animatiM on.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomM ness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapesM =Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shM apes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(nulM l,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelecM tor("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElemenM t()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_lM arge_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_vM alues="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElemeM ntNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(M null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appenM dChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.5<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.creM ateElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];retM urn e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0M ,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+JM (-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),xM +=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fpM [i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<M s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Light", "Base shade": "Balanced", "Colour": "Cyan", "Colour chance": "20%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 5, "Sensitivity": "MedM let t=[2e3,1e4],o=[50,200];let h=[180,250],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,100],X=[.6,3];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=5,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#00cccc"],te=.2,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4M ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #23";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0M .25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.35M 7l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88M l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8M ,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 5M 6-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enableM _sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 3M 0,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-25M 0 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62M -119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!asyM nc function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",metM hod:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),aM =await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),aM =await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"atM tributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repM eatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),M ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.queM rySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shaM pes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(largM e_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offseM t1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background"M )).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randoM mness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_timeM _multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilitM ies[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_M small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAtM tributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|randoM m_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapM es),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=heM (s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"M +r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-oM rigin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256M },${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(nullM ,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];forM (let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,M 50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)M %100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3]M ,i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)M e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+stM ep/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"plow.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"/> <title>Ordinal dreams - plottable</title> <script id="snippet-random-code"> let seed = window.location.href.split("/").find((e) => e.includes("i0")); if (null == seed) { const e = "0123456789abcdefghijklmnopqrstuvwsyz"; new URLSearchParams(window.location.search).get("seed") || Array(64) .fill(0) .map((t) => e[(Math.random(M .join("") + "i0"; let e = "seed="; for (let t = 0; t < seed.length - e.length; ++t) if (seed.substring(t, t + e.length) == e) { seed = seed.substring(t + e.length); break; function cyrb128(e) { let t = 1779033703, l = 3144134277, n = 1013904242, i = 2773480762; for (let a, M s = 0; s < e.length; s++) (t = l ^ Math.imul(t ^ (a = e.charCodeAt(s)), 597399067)), (l = n ^ Math.imul(l ^ a, 2869860233)), (n = i ^ Math.imul(n ^ a, 951274213)), (i = t ^ Math.imul(i ^ a, 2716044179)); return ( (t = Math.imul(n ^ (t >>> 18), 597399067)), (l = Math.imul(i ^ (l >>> 22), 2869860233)), (n = Math.imul(t ^ (n >>> 17), 951274213)), (i = Math.M imul(l ^ (i >>> 19), 2716044179)), [(t ^ l ^ n ^ i) >>> 0, (l ^ t) >>> 0, (n ^ t) >>> 0, (i ^ t) >>> 0] function sfc32(e, t, l, n) { return function () { var i = ((e >>>= 0) + (t >>>= 0)) | 0; return ( (e = t ^ (t >>> 9)), (t = ((l >>>= 0) + (l << 3)) | 0), (l = ((l = (l << 21) | (l >>> 11)) + M (i = (i + (n = ((n >>>= 0) + 1) | 0)) | 0)) | 0), (i >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); margin: 0; const random = (a = 1) => a * mathRand(), randomBetween = (a, n) => a + random(n - a), dist = (a, n, r, t) => { var d = a - r, e = n - t; return Math.sqrt(d * d + e * e); const rand = mathRand(), paper: "White", frame: "Red", moons: "Blue", bg: "rgb(230, 230, 230);", fr: "rgba(255,99,71,50)", cr: "blue", op: "0.8", paper: "White", frame: "Blue", moons: "Red", bg: "rgb(230, 230, 2M fr: "blue", cr: "rgba(255,99,71,50)", op: "0.8", paper: "Light green", frame: "Green", moons: "Purple", bg: "lightgreen;", fr: "green", cr: "purple", op: "0.8", paper: "Charcoal", frame: "Gold", moons: "White", bg: "rgb(30, 30, 30)M fr: "gold", cr: "white", op: "1", paper: "Charcoal", frame: "White", moons: "Gold", bg: "rgb(30, 30, 30);", fr: "white", cr: "gold", op: "1", paper: "Charcoal", frame: "Silver", moons: "Gold", bg: "rgb(30, 30, 30);", cr: "gold", op: "1", paper: "Charcoal", frame: "Blue", moons: "Silver", bg: "rgb(30, 30, 30);", fr: "dodgerblue", cr: "silver", op: "1", paper: "Charcoal", frame: "Silver", moons: "Blue", bg: "rgb(30, 30, 30);", fr: "silver",M cr: "dodgerblue", op: "1", paper: "Bitcoin Orange", frame: "Black", moons: "White", bg: "orange", fr: "black", cr: "white", op: "1", function getTraits() { rotateS: 5 * Math.floor(randomBetween(1, 9)) * (mathRand() > 0.5 ? -1 : 1), colId: Math.floor(random(CM olors.length - 1e-7)), rx: mathRand() > 0.5 ? Math.floor(random(20)) : 0, bStart: Math.floor(randomBetween(3, 15)) / 100, moonDensity: 5 * [1, 2, 5, 10][Math.floor(random(4))], isDual: mathRand() > 0.8, frameDensity: 10 * Math.floor(randomBetween(2, 6)), rotateS: rotateS, colId: colId, bStart: bStart, moonDensity: moonDensity, isDual: isDual, frameDensity: frameDeM } = getTraits(); (window.$generativeTraits = { Paper: Colors[colId].paper, Frame: Colors[colId].frame, "Frame size": bStart, "Frame rotation": rotateS, "Frame rounding": rx, "Frame density": frameDensity, Moons: Colors[colId].moons, "Moon Density": moonDensity, "Dual pattern": isDual, console.table(window.$generativeTraits); constructor(e, t, r, o = "white") { (this.x = t), M (this.y = r), (this.r = e), (this.c = o); show(e, t, r, o) { o.setAttribute("id", `c${t}`), o.setAttribute("stroke", this.c); let a = this.r, n = random(2 * Math.PI), s = this.x, i = this.y, l = a * Math.cos(n) + s, d = a * Math.sin(n) + i, c = `M ${l} ${d} `; for (let e = 0; e < 3 * a; e++) (n = random(2 * Math.PI)), (l = a * MathM (d = a * Math.sin(n) + i), (c += `L ${l} ${d} `); let m = document.createElementNS(e, "path"); m.setAttribute("style", "fill:none;stroke-width:1;"), m.setAttribute("d", c), o.appendChild(m); let createCircles = function (e, t, r = 0.05, o = "white") { let a = new Array(), n = Math.min(e, t), s = 0; for (; a.length < moonDensity && M let i = randomBetween(n / (2 * moonDensity), n / 4), l = randomBetween(i + e * r, e * (1 - 2 * r) - i), d = randomBetween(i + e * r, t - e * r * 2 - i); l - i <= 0 || d - i <= 0 || l + i > e || d + i > t || a.some((e) => 0.8 * dist(l, d, e.x, e.y) < i + e.r) ? s++ : (a.push(new Circle(i, l, d, o)), (s = 0)); yin = 11.67, w = xin * dpi, h = yin * dpi, ns = "http://www.w3.org/2000/svg", svg = document.createElementNS(ns, "svg"); svg.setAttribute("id", "svg"), svg.setAttribute("width", "100vw"), svg.setAttribute("height", "100vh"), svg.setAttribute("viewBox", "0 0 " + w + " " + h), svg.setAttribute("style", "background-color:" + Colors[colId].bg + ";"); let bounds = document.creatM eElementNS(ns, "path"); bounds.setAttribute("d", `M 0 0 M ${w} ${h}`), svg.appendChild(bounds); let bg = document.createElementNS(ns, "g"); bg.setAttribute("id", "frame"), bg.setAttribute("stroke", Colors[colId].fr), bg.setAttribute("stroke-opacity", Colors[colId].op), bg.setAttribute("fill", "transparent"); let e = bStart; e < 0.49 && w * (1 - 2 * e) >= 0 && h - 2 * w * e >= 0; e += e / frameDensity let t = document.createElementM t.setAttribute("rx", rx), t.setAttribute("x", w * e), t.setAttribute("y", w * e), t.setAttribute("width", w * (1 - 2 * e)), t.setAttribute("height", h - 2 * w * e), t.setAttribute("transform", "rotate(" + (bStart - e) * rotateS + ")"), bg.appendChild(t); if ((svg.appendChild(bg), isDual)) { let e = document.createElementNS(ns, "use"); e.setAttribute("href", "#frame"), e.setAttribute(M "transform", "translate(" + w + ",0) scale(-1,1)"), svg.appendChild(e); let circles = createCircles(w, h, 0.05, Colors[colId].cr), circ = document.createElementNS(ns, "g"); function downloadSVGAsText() { const e = document.querySelector("svg"), t = btoa(unescape(encodeURIComponent(e.outerHTML))), r = document.createElement("a"), o = new MouseEvent("click"); (r.download = "download.svg"), (r.href = "data:image/svg+xml;M r.dispatchEvent(o); circ.setAttribute("stroke-opacity", Colors[colId].op), circles.forEach((e, t) => { e.show(ns, t, svg, circ); svg.appendChild(circ), document.body.appendChild(svg); const downloadSVG = document.querySelector("#svg"); downloadSVG.addEventListener("click", downloadSVGAsText); text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Blue", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXS", "L forms size": "XXXXL", "Clustering": 1, "Sensitivity":M let t=[2e3,1e4],o=[80,170];let h=[80,170],W=[.2,.5];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[50,200],X=[.4,2];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=1,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.prM o/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #73";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 M v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2M .357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425M .88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -M 1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6M .7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 M 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-1M 42 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0"M ,method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.M json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{daM taType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mM empool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1M .setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAtM tributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);bM lock_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapesM [i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"M ==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100]M ,b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!M =bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttribuM teNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,larM ge_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;M fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),M svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shaM pes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_M large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_M coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1]M )/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][M 0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1)M ,g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"iM d","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){M var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAM ttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0M ,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,1M 0,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=pM }if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<clM uster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}funM ction de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("coMK ntainer")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"pp66.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"668888.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Blue", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "20-120", "L forms": "7-40", "S forms size": "XXS", "L forms size": "XXXL", "Clustering": 9, "Sensitivity": "MedM let t=[2e3,1e4],o=[50,200];let h=[0,250],W=[.2,.5];var e=[[2,8],[2,8]];let u=[20,120],_=[50,80];let b=[0,100],X=[.8,4];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=9,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7aM dbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #26";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 M l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74M .16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.M 915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.M 051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16M 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_subM _cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9M .3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95M v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119M -128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async fM unction e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:M "POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=awaM it s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=awaM it s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attribM uteName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCM ount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(lM arge_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySeM lector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.M length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shM apes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,cM olor1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).sM etAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomnesM s=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_mulM tiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[M i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_smalM l_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttribM uteNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shM ift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),M Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,M [50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.iM d,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origiM n","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${M e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"idM ",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(letM e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,1M 0,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100M ,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0M ;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i]M .visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2M *(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"mm66.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below. Are we missing an important library? Let us know @generative_xyz. <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <!-- c2.min.js@1.0.0 pt sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script> <!-- chromajs@2.4.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script> <!-- <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>--> <!-- threejs@r124 <script sandbox="allow-scripts" typM e="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script> <!-- tonejs@14.8.49 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <!-- svgjs@3.1.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script> <!-- aframejs@1.2.0 <script sandbox="allow-scripts" type="text/jaM vascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script> <!-- babylonjs@5.47.0 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script> <!-- paperjs@0.12.17 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script> <!-- regljs@2.1.0 <script sandbox="allow-scripts" tM ype="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script> <script type="text/javascript"> Add your script here Add your script here <script id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substM ring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); urn _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | M 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); html, body { margin: 0; padding: 0; max-width: 100%; max-height: 100%; margin: auto; overflow: auto; position: fixed; object-fit: contain; bottom: 0; left: 0; right: 0; <script type="text/javascript"> const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object window.$generativeTraits = { "T1": T1(rand), console.log(window.$generativeTraits) Add your code here nst container = document.createElement("div") // container.innerHTML = "<span>seed: " + seed + "</span><br>"; // document.body.prepend(container) //License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. //Author: @devhontran //Twitter: https://twitter.com/DevHontran //Website: https://hontran.dev const scaler = 1; let paper, border; let shadown = {x: -5, y: 5}; let layers = []; let padding = 40; function cyrb128(str) { = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imul(h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067); h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233); h3 = Math.imul(h1 ^ (h3M >>> 17), 951274213); h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179); return [(h1^h2^h3^h4)>>>0, (h2^h1)>>>0, (h3^h1)>>>0, (h4^h1)>>>0]; function sfc32_c(a, b, c, d) { a >>>= 0; b >>>= 0; c >>>= 0; d >>>= 0; var t = (a + b) | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); d = d + 1 | 0; t = t + d | 0; c = c + t | 0; return (t >>> 0) / 4294967296; // return random value from [l -> r] function consistentRand (seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return l + rand * (r - l) function getRandomItem (listP, seed) { const pref = [] for (const x of listP) pref.push(x) for (let i = 1; i < listP.length; i++) { pref[i] += pref[i - 1] for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1]; // get random value from 0->1 const rand = consistentRand(seed, 0, 1) r (let i = 0; i < pref.length; i++) { if (rand < pref[i]) return i; function createRadialGradient(x, y, r, x1, y1, r1) { const grd = drawingContext.createRadialGradient(x, y, r, x1, y1, r1); grd.addColorStop(0,"#FFFFFF"); grd.addColorStop(1,"#E5E5E3"); drawingContext.fillStyle = grd; drawingContext.fillRect(0, 0, width, height); function artNosie(){ const w = width * 1.2; const h = height * 1.2M paper = createGraphics(w, h); for(let i = 0 ; i< 100000; i++){ let x = random(w); let y = random(h); let dotSize = 10.0*(noise(x/(width / 4), y/(height / 4))*2 - noise(x/width, y/height)); paper.strokeWeight(random(0.25, 3)); paper.stroke(random(20, 80), random(1+dotSize, 4+dotSize)); paper.point(x, y); function generabox(col, pos, si){ const layer = createGraphics(width, height); ill(140, 178, 250, 56); layer.noStroke(); layer.rect(pos.x + shadown.x, pos.y + shadown.y, si.w, si.h); layer.filter(BLUR, 3); layer.fill(col.r, col.g, col.b, col.a); layer.noStroke(); layer.rect(pos.x, pos.y, si.w, si.h); layers.push(layer); function setup() { const hash = rand ? rand : Math.random(); const fCol = {r: 255, g: 255, b: 255}; const s = min(window.innerWidth, window.innerHeight) createCanvas(s,s);M for(let i=0; i<9; i++){ const tHash = `${hash}_${i}`; const cyrHash = cyrb128(tHash); const mixHash_color_r = consistentRand(cyrHash[0], 0, 1); const mixHash_color_g = consistentRand(cyrHash[1], 0, 255); const mixHash_color_b = consistentRand(cyrHash[2], 0, 255); const mixHash_color_a = 255;//consistentRand(cyrHash[3], 100, 255); const sw = consistentRand(cyrHash[0],50, width / 2); const sh = consistentRaM nd(cyrHash[3], 50, height / 2); const col = {r: mixHash_color_r, g: mixHash_color_g, b: mixHash_color_b, a: mixHash_color_a}; const si = {w: sw, h: sh}; const pos_x = consistentRand(cyrHash[1], padding, width- padding - si.w); const pos_y = consistentRand(cyrHash[2], padding, height- padding - si.h); const pos = {x: pos_x, y: pos_y} // console.log('___i', col, pos, si); generabox(col, pos, si); const borderSize = 30; border = createGraphics(width, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(width - borderSize, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, width, borderSize); border.fill(fCol.r, fCol.g, fCol.b, 255)M border.noStroke(); border.rect(0, height - borderSize, width, borderSize); function draw() { background('#ffffff'); blendMode(BLEND); for(let i=0; i<9; i++){ image(layers[i], 0, 0, width, height); blendMode(MULTIPLY) createRadialGradient(width / 2, height / 2, 0, width / 2, height / 2, height); blendMode(MULTIPLY); image(paper, 0, 0, width, height); image(border,M- 0, 0, width, height); function windowResized() { const s = min(window.innerWidth, window.innerHeight) resizeCanvas(s, s); Add your code here text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"losing.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ll88.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>Pop On Chain by SMLDMS</title> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(maM thRand() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (letM n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); position: fixed; right: 0; bottom: 0; left: 0; color: rgb(255, 255, 255); background-color: rgb(0, 0, 0); display: flex; justify-content: center; align-items: center; margin: 0; padding: 0; font-size: 0.8em; object-fit: contain; max-height: 100%; max-width: 100%; #fullScreen { display: flex; position: fixed; bottom: 0; left: 0; justify-content: center; align-items: center; #fullScreen canvas { object-fit: contain; max-height: 100%; max-width: 100%; /* mix-blend-mode: soft-light; */ color: rgb(255); opacity: 0.75; width: auto; height: auto; position: fixed; text-align: center; justify-content: center; align-items: center; padding: 10%; #progress h1 { font-size: 10.75em; /* display: block; */ margin: 0%; padding: 0% <canvas id="cnv"></canvas> <div id="fullScreen"> <div id="progress"></div> <!-- /////////////////////////////////LET'S GO//////////////////////////////// --> <script type="text/jaM const myTitle = "Pop On Chain"; const canvas = document.getElementById("cnv"); const ctx = cnv.getContext('2d'); let ratio = 1.414142 n: mathRand(), if (format.n < 0.33) { format.ww = ratio format.hh = 1 format.name = "Landscape" } else if (format.n < 0.66) { format.ww = 1 format.hh = ratio format.name = "Portrait" format.ww = 1 format.hh = 1 format.name = "Square" const mySize = 1000; cnv.width = mySize * format.ww; cnv.height = mySize * format.hh; const scales = [25, 50, 100]; const randomIndex = Math.floor(mathRand() * scales.length); const scl = scales[randomIndex]; const marges = [200, 100, 50]; const randomMarge = Math.floor(mathRand() * marges.length); const marge = marges[randomMarge]; const maxT = Math.round(mathRand() * 50 + 10M n: mathRand(), n: mathRand(), n: mathRand(), if (layer.n < 0.5) { layer.name = "On" layer.name = "Off" if (clr.n < 0.25) { clr.name = "White" else if (clr.n < 0.5) { clr.name = "Red" clr.name = "Black" if (mode.n < 0.25) { mode.name = "C" mode.val = 100 else if (mode.n < 0.5) { mode.name = "B" mode.val = 25 mode.name = "A" mode.val = 0 window.$generativeTraits = { "Format": format.name, "Color Base": clr.name, "Back layer": layer.name, "Mode": mode.name, "Scale": scl, "Model": maxT, "Marge": marge, console.log(myTitle + " | smldms 2023.03") console.log(window.$generativeTraits) const r = cnv.height / scl; const c = cnv.width / scl ctx.fillStyle = clr.name; ctx.rect(0, 0, cnv.width, cnv.height) if (layer.name == "On") { addGrain(cnv, 25) function frame() { // ctx.filter = "blur(5px)"; ctx.restore() ctx.fillStyle = clr.name; tx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.lineWidth = 100; ctx.rect(0, 0, cnv.width, cnv.height) ctx.stroke(); function halo() { ctx.restore() ctx.translate(c / 2, r / 2) ctx.filter = 'blur(' + mode.val + 'px)'; for (let x = marge; x < cnv.width - marge / 2; x += 50) { for (let y = marge; y < cnv.height - marge / 2; y += 50) { let clrF = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.fillStyle = clrF; ctx.strokeStyle = clr.name; ctx.lineWidth = mathRand() * 5 + 1; ctx.beginPath() if (mathRand() < 0.25) { ctx.arc(x, y, r * 2, 0, Math.PI) else if (mathRand() < 0.5) { ctx.arc(x, y, r * 2, Math.PI, 0) else if (mathRand() < 0.75) { for (let i = 2; i < 100; i += 1) { if (mathRand() < 0.25) { ctx.arc(x + i, y, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.5) { ctx.arc(x, y + i, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.75) { ctx.arc(x, y - i, r / i, 0, Math.PI * 2) } else { ctx.arc(x - i, y, r / i, 0, M } } else { ctx.closePath(); ctx.stroke() ctx.fill(); function show() { ctx.restore() for (let x = marge; x < cnv.width - marge; x += r) { for (let y = marge; y < cnv.height - marge; y += c) { ctx.filter = "blur(0px) contrast(1.4) drop-shadow(0px 9px 5px #000) "; ctx.fillStyle = clr.name; ctx.strokeStyle = 'hsl(' + 360 * mathRand() + ',100%,50%)'; ctx.lineWidth = mathRand() * 2 + 1; ctx.beginPath() if (mathRand() < 0.25) { ctx.arc(x, y, r / 2, 0, Math.PI) else if (mathRand() < 0.5) { ctx.arc(x, y, r / 2, Math.PI, 0) else if (mathRand() < 0.75) { for (let i = 2M ; i < maxT; i += 1) { if (mathRand() < 0.25) { ctx.arc(x + i, y, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.5) { ctx.arc(x, y + i, r / i, 0, Math.PI * 2) } else if (mathRand() < 0.75) { ctx.arc(x, y - i, r / i, 0, Math.PI * 2) } else { ctx.arc(x - i, y, r / i, 0, Math.PI * 2) } } else { ctx.closePath(); ctx.stroke() ctx.fill(); function addGrain(canvas, graininess) { const ctx = canvas.getContext('2d'); const width = canvas.width; const height = canvas.height; const pixels = ctx.getImageData(0, 0, width, heighM for (let i = 0; i < pixels.data.length; i += 4) { const r = pixels.data[i]; const g = pixels.data[i + 1]; const b = pixels.data[i + 2]; const alpha = pixels.data[i + 3]; const random = mathRand(); const offset = (random - 0.5) * graininess; pixels.data[i] = Math.max(0, Math.min(255, r + offset)); pixels.data[i + 1] = Math.max(0, Math.min(255, g + offset)); pixels.data[i + 2] = Math.mM ax(0, Math.min(255, b + offset)); pixels.data[i + 3] = alpha; ctx.putImageData(pixels, 0, 0); function saveCanvasAsPNG(canvas) { document.addEventListener('keydown', function (event) { if (event.key === 's' || event.key === 'S' || event.key === 'd' || event.key === 'D') { const ctx = canvas.getContext('2d'); const width = canvas.width; const height = canvas.height; const pixelRaM tio = (event.key === 'd' || event.key === 'D') ? window.devicePixelRatio * 8 : window.devicePixelRatio; const canvasCopy = document.createElement('canvas'); canvasCopy.width = width * pixelRatio; canvasCopy.height = height * pixelRatio; const ctxCopy = canvasCopy.getContext('2d'); ctxCopy.imageSmoothingEnabled = false; ctxCopy.drawImage(canvas, 0, 0, width, height, 0, 0, width * pixelRatio, height * pixelRatio); const url = canvasCopy.toDataURL('image/png'); const link = document.createElement('a'); link.download = 'canvas.png'; link.href = url; link.click(); saveCanvasAsPNG(cnv); /////////////PROGRESS async function progress(message) { document.body.style.cursor = 'crosshair'; document.getElementById("progress").innerHTML = message; await new Promise((fn => setM async function progressClear() { document.body.style.cursor = 'default'; document.getElementById("progress").style.display = 'none'; await new Promise((fn => setTimeout(fn, 1))); async function progressShow() { document.body.style.cursor = 'default'; document.getElementById("progress").style.display = 'block'; await new Promise((fn => setTimeout(fn, 1))); text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Orange", "Colour chance": "20%", "Base colour": "", "Base Colour chance": "0%", "S forms": "20-120", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 0, "SensitivitM let t=[2e3,1e4],o=[80,170];let h=[80,170],W=[.1,.3];var e=[[2,8],[2,8]];let u=[20,120],_=[50,80];let b=[0,250],X=[.8,4];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=0,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e65c00"],te=.2,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.proM /4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #74";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 vM 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.M 357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.M 88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1M .8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -2M 9,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m M -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40M -69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_clustM er=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z",M "m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28hM 145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","M m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:M F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(aM );break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=awaitM e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=M t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animM ate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backgM round.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#M background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1]M ,scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=M V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),smallM _shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",cM olor2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElemM ent(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-M 5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_nM umber_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilM ities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",sM hape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shM ape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desireM d_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+M "s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",M n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defsM ");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.xM +"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}fM unction D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS(M "http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}functioM n K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,tM +1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=pM ,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%1M 00,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100M ,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+stM ep*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"part.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Dark", "Base shade": "Balanced", "Colour": "", "Colour chance": "0%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "5-30", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 6, "Sensitivity": "High"} t t=[2e3,1e4],o=[50,200];let h=[0,100],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[180,250],X=[.1,5];let c=[5,30],f=[12,18],S=[0,1,2,3,4,5,6,7,8,9,10],N=6,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["-"],te=0,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc8336d369M 69373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #13";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79,45 -1M 8,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,115.7L9M 9.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-40.961LM 147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1.8,20 M z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-41 m -1,-3.2 3M 3,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.78,-1.1 41,4.7M 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26M z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 M v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9M 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"M getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{M dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetcM h("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytesM _random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+M background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appeM ndChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){smalM l_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"traM nsform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],M h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.leM ngth;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0M =B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_backgrM ound_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],M randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duratioM n=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[M j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_ofM _visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animatM ion.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapesM ++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[M ];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2M ),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+rM .id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=documeM nt.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&M t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(nuM ll,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.pushM ({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,M a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.pusM h({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_M start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.lenM gth;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(eM ){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below. Are we missing an important library? Let us know @generative_xyz. <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <!-- c2.min.js@1.0.0 pt sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script> <!-- chromajs@2.4.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script> <!-- <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>--> <!-- threejs@r124 <script sandbox="allow-scripts" typM e="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script> <!-- tonejs@14.8.49 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <!-- svgjs@3.1.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script> <!-- aframejs@1.2.0 <script sandbox="allow-scripts" type="text/jaM vascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script> <!-- babylonjs@5.47.0 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script> <!-- paperjs@0.12.17 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script> <!-- regljs@2.1.0 <script sandbox="allow-scripts" tM ype="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script> <script type="text/javascript"> Add your script here Add your script here <script id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substM ring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); urn _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | M 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); html, body { margin: 0; padding: 0; max-width: 100%; max-height: 100%; margin: auto; overflow: auto; position: fixed; object-fit: contain; bottom: 0; left: 0; right: 0; <script type="text/javascript"> const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object window.$generativeTraits = { "T1": T1(rand), console.log(window.$generativeTraits) Add your code here nst container = document.createElement("div") // container.innerHTML = "<span>seed: " + seed + "</span><br>"; // document.body.prepend(container) //License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. //Author: @devhontran //Twitter: https://twitter.com/DevHontran //Website: https://hontran.dev const scaler = 1; let paper, border; let shadown = {x: -5, y: 5}; let layers = []; let padding = 40; function cyrb128(str) { = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imul(h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067); h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233); h3 = Math.imul(h1 ^ (h3M >>> 17), 951274213); h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179); return [(h1^h2^h3^h4)>>>0, (h2^h1)>>>0, (h3^h1)>>>0, (h4^h1)>>>0]; function sfc32_c(a, b, c, d) { a >>>= 0; b >>>= 0; c >>>= 0; d >>>= 0; var t = (a + b) | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); d = d + 1 | 0; t = t + d | 0; c = c + t | 0; return (t >>> 0) / 4294967296; // return random value from [l -> r] function consistentRand (seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return l + rand * (r - l) function getRandomItem (listP, seed) { const pref = [] for (const x of listP) pref.push(x) for (let i = 1; i < listP.length; i++) { pref[i] += pref[i - 1] for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1]; // get random value from 0->1 const rand = consistentRand(seed, 0, 1) r (let i = 0; i < pref.length; i++) { if (rand < pref[i]) return i; function createRadialGradient(x, y, r, x1, y1, r1) { const grd = drawingContext.createRadialGradient(x, y, r, x1, y1, r1); grd.addColorStop(0,"#FFFFFF"); grd.addColorStop(1,"#E5E5E3"); drawingContext.fillStyle = grd; drawingContext.fillRect(0, 0, width, height); function artNosie(){ const w = width * 1.2; const h = height * 1.2M paper = createGraphics(w, h); for(let i = 0 ; i< 100000; i++){ let x = random(w); let y = random(h); let dotSize = 10.0*(noise(x/(width / 4), y/(height / 4))*2 - noise(x/width, y/height)); paper.strokeWeight(random(0.25, 3)); paper.stroke(random(20, 80), random(1+dotSize, 4+dotSize)); paper.point(x, y); function generabox(col, pos, si){ const layer = createGraphics(width, height); ill(140, 178, 250, 56); layer.noStroke(); layer.rect(pos.x + shadown.x, pos.y + shadown.y, si.w, si.h); layer.filter(BLUR, 3); layer.fill(col.r, col.g, col.b, col.a); layer.noStroke(); layer.rect(pos.x, pos.y, si.w, si.h); layers.push(layer); function setup() { const hash = rand ? rand : Math.random(); const fCol = {r: 255, g: 255, b: 255}; const s = min(window.innerWidth, window.innerHeight) createCanvas(s,s);M for(let i=0; i<9; i++){ const tHash = `${hash}_${i}`; const cyrHash = cyrb128(tHash); const mixHash_color_r = consistentRand(cyrHash[0], 0, 1); const mixHash_color_g = consistentRand(cyrHash[1], 0, 255); const mixHash_color_b = consistentRand(cyrHash[2], 0, 255); const mixHash_color_a = 255;//consistentRand(cyrHash[3], 100, 255); const sw = consistentRand(cyrHash[0],50, width / 2); const sh = consistentRaM nd(cyrHash[3], 50, height / 2); const col = {r: mixHash_color_r, g: mixHash_color_g, b: mixHash_color_b, a: mixHash_color_a}; const si = {w: sw, h: sh}; const pos_x = consistentRand(cyrHash[1], padding, width- padding - si.w); const pos_y = consistentRand(cyrHash[2], padding, height- padding - si.h); const pos = {x: pos_x, y: pos_y} // console.log('___i', col, pos, si); generabox(col, pos, si); const borderSize = 30; border = createGraphics(width, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(width - borderSize, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, width, borderSize); border.fill(fCol.r, fCol.g, fCol.b, 255)M border.noStroke(); border.rect(0, height - borderSize, width, borderSize); function draw() { background('#ffffff'); blendMode(BLEND); for(let i=0; i<9; i++){ image(layers[i], 0, 0, width, height); blendMode(MULTIPLY) createRadialGradient(width / 2, height / 2, 0, width / 2, height / 2, height); blendMode(MULTIPLY); image(paper, 0, 0, width, height); image(border,M- 0, 0, width, height); function windowResized() { const s = min(window.innerWidth, window.innerHeight) resizeCanvas(s, s); Add your code here text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"rr88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"xx88.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"rothko.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>Generative.xyz project</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script type="text/javascript"> let seed=floor(999999*mathRand()); createCanvas(1000, 1000); angleMode(DEGREES) Vector(width/2,height/2)) blob(220,createVector(width/2,height/2)) blob(260,createVector(width/2,height/2)) blob(240,createVector(width/2,height/2)) blob(260,createVector(width/2,height/2)) for (let i=0;i<300;i++){ circle(random(width),random(height),random(0,3)) translate(width*.5,height*.5) ps = generateShape(sumPoints,600) ps2 = ps.slice(sumPoints/2) ps.slice(0,sumPoints/2).reverse() const craters = Array(200).fill(0).map(a=>createVector(random(),random())) for (let i=0;i<sumPoints/2;i++){ const coorX = i/(sumPoints/2) const l = p5.Vector.dist(p1,p2) for (let x=0;x<l;x++){ let fillVal = x/(l/2) fillVal = round(fillVal*15)/5 fillVal *= (1-coorX) const coorY = x/l const coor = createVector(coorX,coorY) for (let crater of craters){ const distToCrater = p5.Vector.dist(coor,crater) if (distToCrater<.1) fillVal -= map(distToCrater,0,0.1,10,0) fillVal += 50*noise(coorX*50,coorY*50) const v = p5.Vector.lerp(p1,p2,coorY) fill(255,fillVal) circle(v.x,v.y,random(1,3)) function myLine(x,y,x2,y2){ myLineV(createVector(x,y),createVector(x2,y2)) function myLineV(v1,v2){ const l = p5.Vector.dist(v1,v2) for (let i=0;i<l;i++){ const v = p5.Vector.lerp(v1,v2,i/l) circle(v.x,v.y,random(0,3)) function fillShape(ps){ ps.forEach(p=>vertex(p.x,p.y)) function generateShape(sumPoints, radius){ noiseZ = random(20,80) for (let i=0;i<sumPoints;i++){ angle = (i/sumPoints) * 360 rr = noise(x+1+noiseZ,y+1+noiseZ)*radius v = createVector(x,y) const blob = (size, center)=>{ ase = createPoly(2,size,center) for (i=0;i<1;i++) base = noisePoly(base,center) for (layers=0;layers<totalLayers;layers++){ newPoly = [...base] for (i=0;i<5;i++) newPoly = noisePoly(newPoly,center) drawPoly(newPoly) if (layers%15==0) base = noisePoly(base,center) const drawPoly = (poly)=>{ curveVertex(poly[0].x,poly[0].y) poly.forEach(v=>curveVertex(v.x,v.y)) curveVertex(poly[poly.length-1].x,poly[poly.length-1].y) (poly[0].x,poly[0].y,20) // poly.forEach(v=>circle(v.x,v.y,5)) const createPoly = (sides, r, center)=>{ for (let i=0;i<sides;i++){ deg = (i/sides)*360 pos = p5.Vector.fromAngle(radians(deg),r) const noisePoly = (poly,center)=>{ newPoly.push(poly[0]) for (let i=0;i<poly.length;i++){ p2 = poly[(i+1)%poly.length] midP = noiseLine(p1,p2,center) newPoly.push(midP) newPoly.push(p2) const noiseLine = (p1,p2, center)=>{ d = dist(p1.x,p1.y,p2.x,p2.y) midP = p2.copy().sub(p1) newMag = midP.mag()*randomGaussian(.5,.3) midP.setMag(newMag) dir = midP.copy().sub(center) dir.setMag(randomGaussian(d/4,d/8)) dir.rotate(randomGaussian(PI/3,PI/10)) <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(M t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.suM bstring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869M 860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 ORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); margin: 0px; width: 100% !important; height: 100% !important; object-fit: contain; position: fixed; left: 0; <script type="text/javascript"> const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; return false // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object "T1": T1(rand), console.log(window.$generativeTraits) Add your code here const container = document.createElement("div") // container.innerHTML = "<span>seed: " + seed + "</span><br>"; document.body.prepend(container) Add your code here text/plain;charset=utf-8 .{"p":"sns","op":"reg","name":"bittensor.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bait.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"melt.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>outscripted by mataleone</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script id="snippet-contract-code" type="text/javascript"> const tokenIdRand = (Math.floor(Math.random() * 1000000) + 1) * 1000000 + (Math.floor(Math.random() * 100) + 1); "tokenId": tokenIdRand, "seed": tokenIdRand.toString(), pt id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattM seed = seed.substring(i + pattern.length); function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), lM = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 let mathRand = sfc32(...cyrb128(seed)); background-color: #000; width: 100% !important; height: 100% !important; object-fit: contain; <script type="text/javascript"> const _lerp = (f, min, max) => (min + (max - min) * f) const _map = (v, inMin, inMax, outMin, outMax) => (outMin + (outMax - outMin) * ((v - inMin) / (inMax - inMin))) ['#332440', 'berry'], ['#1E2F36', 'sea'], ['#36261E', 'earth'], ['#1E2036', 'deep'], ['#1E3623', 'forest'], ['#FFE0C2', 'sand'], ['#FFE0C2', 'sand'], ['#FFCA9C', 'koi'], ['#C2FcFF', 'sky'], ['#FFFDBC', 'mustard'], let _bg = Math.floor(mathRand() * bgs.length) let _clr = Math.floor(mathRand() * clrs.length) let _q = Math.floor(_lerp(mathRand(), _q_min, _q_max + 1)) Math.floor(_lerp(mathRand(), _r_min, _r_max + 1)) let _a = Math.floor(mathRand() * 5) // <+ let _ins = Math.floor(_lerp(mathRand(), _ins_min, _ins_max + 1)) let _worm_max = _r * 2 let _worm = _lerp(mathRand(), 0, _worm_max) window.$generativeTraits = { "background color": bgs[_bg][1], "incsriptions color": clrs[_clr][1], "inscriptions size": _r, "inscriptions complexity": _ins, "disconformity": Math.floor(M _map(_worm, 0, _worm_max, 0, 11)), console.log(seed, window.$generativeTraits) let _paused = false function setup() { createCanvas(2160, 2160) background(bgs[_bg][0]) function draw() { if (_paused) return background(bgs[_bg][0]) let _c = color(clrs[_clr][0]) for (let i = 0; i < _q * 10000; ++i) { const x = _randPos() const y = _randPos() let al = map(_q, _q_min, _q_max, 128, 64) star(x, y, _r, _ins) function _randPos() { const a = mathRand() * Math.PI + Math.PI let p = Math.cos(a) // p = (1-Math.abs(p))*Math.sign(p) let w = width / 2 return w + _map(p, -1, 1, -w - _worm, w + _worm) function star(cx, cy, r, c) { let n = noise(cx / sc, cy / sc) let _cx = cx + sin(n * Math.PI * 2) * _worm let _cy = cy + cos(n * Math.PI * 2) * _worm let ixs = [...Array(c).keys()] while (ixs.length > 0) { const i = Math.floor(mathRand() * ixs.length) const a = ixs[i] * ((Math.PI * 2) / c) + (Math.PI / 4) * _a vertex(_cx + sin(a) * r, _cy + cos(a) * r) ixs.splice(i, 1) function keyPressed() { if (keyCode == 32) _paused = false if (keyCode == 83) save('outscripted.png') text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"uu66.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Yellow", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "5-200", "L forms": "2-24", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 10, "Sensitivity": "M let t=[2e3,1e4],o=[50,200];let h=[80,170],W=[.1,.3];var e=[[2,8],[2,8]];let u=[5,200],_=[50,120];let b=[0,100],X=[.1,5];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=10,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#cccc00"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4caM 7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #27";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.2M 5 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357lM 74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l9M 0.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-M 0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 12M 2-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,3M 0 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94M -47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",methM od:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json(M );i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataTypM e:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempooM l_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAM ttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttribuM teNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_M changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sM z[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==colM or1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),oM ffset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_sM hade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(M null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shM apes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_M out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=dM ocument.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|rM andom_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_largeM _shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordM inates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),M xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[M 1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.apM pendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","aM -"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var eM =1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttribM uteNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3M ,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,M a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9M ==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<clusterM _end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}functionM de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("containMF er")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Orange", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-30", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 4, "SensitivityM let t=[2e3,1e4],o=[50,200];let h=[0,250],W=[.1,.3];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[50,200],X=[.1,5];let c=[5,30],f=[12,18],S=[0,1,2,3,4,5,6,7,8,9,10],N=4,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#e65c00"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknodeM .pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #72";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,2M 27 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.5M 9,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,M 425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-4M 2 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-2M 4-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,M 11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 3M 7-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1M .0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=awaitM s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",M {dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,M E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s")M ,a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.seM tAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapesM );block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shaM pes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2=M "#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,1M 00],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="M #"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttrM ibuteNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,M large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duratiM on;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.iM d),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_M shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visibM le_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=M xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+tM [1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[M 1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(M s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(nullM ,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function IM (){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.sM etAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,M l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,4M 0,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,pM 3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(iM <cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}M function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName(MN "container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bleu.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"uu88.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"bought.sats"}h! *(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)&1)&1)&1)&1)&1)&1)&1)&1G%3e$6n$7t$7t$7t$8v$:|(@ $#-(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)&1)&1)&17&2B%3K%4a$6p$7r$7s$7t$7t$7t$7t$7t$7t$7t$7t$7u$8v$9 (&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0(&0)'1)'1)'1;&2I%4X%M 5i$6p$7s$7t$7t$7t$7t$8v&8}0< "(&0(&0(&0(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)&1)&1)&1)&1)&1)&1?&3a$6l$7s$7t$7t$7t$7t$7t$7u$8u$8u$8w'9|.< (&0(&0(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1(&0(&0)'1)'1)'1)'12&1F%3Y%5g$6o$7r$7t$7t$7t$7t$7t$7t$8t$8t$8tM text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"wipe.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below. Are we missing an important library? Let us know @generative_xyz. <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script> <!-- chromajs@2.4.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script> <!-- p5.grain.js@0.6.1 <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script> <!-- tonejs@14.8.49 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <!-- svgjs@3.1.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script> <!-- aframejs@1M <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script> <!-- babylonjs@5.47.0 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script> <!-- paperjs@0.12.17 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script> <script type="text/javascript"> Add your script here Add your script here <script id="snippet-raM ndom-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - M pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), M l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, M u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); margin: 0px; <canvas id="canvas"></canvas> <script type="text/javascriM const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; return false // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object window.$generativeTraits = { "T1": T1(rand), console.log(window.$generativeTraits) const fxSeed = rand || Math.random(); function randomValueIndexArrayInt(hash, lenArray) { return hash % lenArray; function cyrb128(str) { let h1 = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imulM (h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067); h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233); h3 = Math.imul(h1 ^ (h3 >>> 17), 951274213); h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179); (h1 ^ h2 ^ h3 ^ h4) >>> 0, (h2 ^ h1) >>> 0, (h3 ^ h1) >>> 0, (h4 ^ h1) >>> 0 function sfc32_c(a, b, c, dM var t = (a + b) | 0; a = b ^ (b >>> 9); b = (c + (c << 3)) | 0; c = (c << 21) | (c >>> 11); d = (d + 1) | 0; t = (t + d) | 0; c = (c + t) | 0; return (t >>> 0) / 4294967296; // return random value from [l -> r] function consistentRand(seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return l + rand * (r - l); function getRandomItem(listP, seed) { const pref = []; of listP) pref.push(x); for (let i = 1; i < listP.length; i++) { pref[i] += pref[i - 1]; for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1]; // get random value from 0->1 const rand = consistentRand(seed, 0, 1); for (let i = 0; i < pref.length; i++) { if (rand < pref[i]) return i; function getRandomBool(seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return rand < 0.5 ? l : r; const color_palette = M ["#20191b", "#67875c", "#f3cb4d", "#f2f5e3"], ["#bab9a4", "#311f27", "#ff3931", "#007861"], ["#f4c172", "#7b8a56", "#363d4a", "#ff9369"], ["#20342a", "#f74713", "#e9b4a6", "#686d2c"] // Get the canvas element from the HTML document const canvas = document.getElementById("canvas"); const context = canvas.getContext("2d"); // Define the dimensions of the canvas and the size of each square const canvasWidth = 1000; canvas.width = canvasWidth; canvas.height = canvasHeight; const squareSize = consistentRand(fxSeed * 10, 5, 100); // Select a random color palette from the array const randomPaletteIndex = Math.floor( consistentRand(fxSeed, 0, color_palette.length - 1) const randomPalette = color_palette[randomPaletteIndex]; // Loop through each row and column to draw squares with random colors from the palette context.clearRect(0, 0, canvasWidth, canvasHeight); for (let i = 0; i < canvM asHeight / squareSize; i++) { for (let j = 0; j < canvasWidth / squareSize; j++) { const randomColorIndex = Math.floor( consistentRand( fxSeed * (i + fxSeed * 10) * (j + fxSeed * 10), randomPalette.length - 1 const randomColor = randomPalette[randomColorIndex]; context.fillStyle = randomColor; context.fillRect(j * squareSize, i * squareSize, squareSize, squareSize); text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"yy88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Green", "Colour chance": "1%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 8, "Sensitivity": "M let t=[2e3,1e4],o=[80,170];let h=[50,200],W=[.1,.4];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,100],X=[.4,2];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=8,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#00b300"],te=.01,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4M ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #28";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0M .25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.35M 7l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88M l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8M ,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 5M 6-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enableM _sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 3M 0,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-25M 0 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62M -119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!asyM nc function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",metM hod:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),aM =await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),aM =await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"atM tributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repM eatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),M ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.queM rySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shaM pes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(largM e_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offseM t1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background"M )).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randoM mness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_timeM _multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilitM ies[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_M small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAtM tributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|randoM m_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapM es),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=heM (s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"M +r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-oM rigin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256M },${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(nullM ,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];forM (let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,M 50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)M %100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3]M ,i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)M e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+stM ep/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Balanced", "Colour": "Blue", "Colour chance": "10%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 10, "SensitivitM let t=[2e3,1e4],o=[50,200];let h=[50,200],W=[.07,.2];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,250],X=[.6,3];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=10,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#000080"],te=.1,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknoM de.pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #75";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333M ,227 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128M .59,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.M 4,425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,M -42 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-M 131-52 56-16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=M e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 M 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-M 18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-1M 8-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var M O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"jM son",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:bodM y_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"jsM on"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(M null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(nM ull,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendCM hild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=docuM ment.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<sM mall_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1M =de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].M s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-bacM kground")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,9M 5],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fM ade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_vM isibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_dM uration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animatiM on.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapM es|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(smM all_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1M ]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_M id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"traM nsform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256}M ,${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributM eNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,M u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(M p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+iM %100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[pM 1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.lenM gth;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])|M |(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"zz66.sats"}h! text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> Generative supports the most popular creative coding libraries. Simply uncomment the library you want to use below. Are we missing an important library? Let us know @generative_xyz. <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <!-- c2.min.js@1.0.0 pt sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/c2/1.0.0/c2.min.js"></script> <!-- chromajs@2.4.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/chroma-js/2.4.2/chroma.min.js"></script> <!-- <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.generative.xyz/ajax/libs/p5.grain/0.6.1/p5.grain.min.js"></script>--> <!-- threejs@r124 <script sandbox="allow-scripts" typM e="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script> <!-- tonejs@14.8.49 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <!-- svgjs@3.1.2 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/svg.js/3.1.2/svg.min.js"></script> <!-- aframejs@1.2.0 <script sandbox="allow-scripts" type="text/jaM vascript" src="https://cdnjs.cloudflare.com/ajax/libs/aframe/1.2.0/aframe.min.js"></script> <!-- babylonjs@5.47.0 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/5.47.0/babylon.js"></script> <!-- paperjs@0.12.17 <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.min.js"></script> <!-- regljs@2.1.0 <script sandbox="allow-scripts" tM ype="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/regl/2.1.0/regl.min.js"></script> <script type="text/javascript"> Add your script here Add your script here <script id="snippet-random-code" type="text/javascript"> let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substM ring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); urn _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | M 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); html, body { margin: 0; padding: 0; max-width: 100%; max-height: 100%; margin: auto; overflow: auto; position: fixed; object-fit: contain; bottom: 0; left: 0; right: 0; <script type="text/javascript"> const rand = mathRand(); function T1(rand) { // calculate rarity by yourself if (rand > 0.5) { return true; // window.$generativeTraits contain list traits for token // you need to populate a $generativeTraits object in the window object window.$generativeTraits = { "T1": T1(rand), console.log(window.$generativeTraits) Add your code here nst container = document.createElement("div") // container.innerHTML = "<span>seed: " + seed + "</span><br>"; // document.body.prepend(container) //License: Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. //Author: @devhontran //Twitter: https://twitter.com/DevHontran //Website: https://hontran.dev const scaler = 1; let paper, border; let shadown = {x: -5, y: 5}; let layers = []; let padding = 40; function cyrb128(str) { = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762; for (let i = 0, k; i < str.length; i++) { k = str.charCodeAt(i); h1 = h2 ^ Math.imul(h1 ^ k, 597399067); h2 = h3 ^ Math.imul(h2 ^ k, 2869860233); h3 = h4 ^ Math.imul(h3 ^ k, 951274213); h4 = h1 ^ Math.imul(h4 ^ k, 2716044179); h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067); h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233); h3 = Math.imul(h1 ^ (h3M >>> 17), 951274213); h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179); return [(h1^h2^h3^h4)>>>0, (h2^h1)>>>0, (h3^h1)>>>0, (h4^h1)>>>0]; function sfc32_c(a, b, c, d) { a >>>= 0; b >>>= 0; c >>>= 0; d >>>= 0; var t = (a + b) | 0; a = b ^ b >>> 9; b = c + (c << 3) | 0; c = (c << 21 | c >>> 11); d = d + 1 | 0; t = t + d | 0; c = c + t | 0; return (t >>> 0) / 4294967296; // return random value from [l -> r] function consistentRand (seed, l, r) { const rand = sfc32_c(...cyrb128(seed.toString())); return l + rand * (r - l) function getRandomItem (listP, seed) { const pref = [] for (const x of listP) pref.push(x) for (let i = 1; i < listP.length; i++) { pref[i] += pref[i - 1] for (let i = 0; i < pref.length; i++) pref[i] /= pref[pref.length - 1]; // get random value from 0->1 const rand = consistentRand(seed, 0, 1) r (let i = 0; i < pref.length; i++) { if (rand < pref[i]) return i; function createRadialGradient(x, y, r, x1, y1, r1) { const grd = drawingContext.createRadialGradient(x, y, r, x1, y1, r1); grd.addColorStop(0,"#FFFFFF"); grd.addColorStop(1,"#E5E5E3"); drawingContext.fillStyle = grd; drawingContext.fillRect(0, 0, width, height); function artNosie(){ const w = width * 1.2; const h = height * 1.2M paper = createGraphics(w, h); for(let i = 0 ; i< 100000; i++){ let x = random(w); let y = random(h); let dotSize = 10.0*(noise(x/(width / 4), y/(height / 4))*2 - noise(x/width, y/height)); paper.strokeWeight(random(0.25, 3)); paper.stroke(random(20, 80), random(1+dotSize, 4+dotSize)); paper.point(x, y); function generabox(col, pos, si){ const layer = createGraphics(width, height); ill(140, 178, 250, 56); layer.noStroke(); layer.rect(pos.x + shadown.x, pos.y + shadown.y, si.w, si.h); layer.filter(BLUR, 3); layer.fill(col.r, col.g, col.b, col.a); layer.noStroke(); layer.rect(pos.x, pos.y, si.w, si.h); layers.push(layer); function setup() { const hash = rand ? rand : Math.random(); const fCol = {r: 255, g: 255, b: 255}; const s = min(window.innerWidth, window.innerHeight) createCanvas(s,s);M for(let i=0; i<9; i++){ const tHash = `${hash}_${i}`; const cyrHash = cyrb128(tHash); const mixHash_color_r = consistentRand(cyrHash[0], 0, 1); const mixHash_color_g = consistentRand(cyrHash[1], 0, 255); const mixHash_color_b = consistentRand(cyrHash[2], 0, 255); const mixHash_color_a = 255;//consistentRand(cyrHash[3], 100, 255); const sw = consistentRand(cyrHash[0],50, width / 2); const sh = consistentRaM nd(cyrHash[3], 50, height / 2); const col = {r: mixHash_color_r, g: mixHash_color_g, b: mixHash_color_b, a: mixHash_color_a}; const si = {w: sw, h: sh}; const pos_x = consistentRand(cyrHash[1], padding, width- padding - si.w); const pos_y = consistentRand(cyrHash[2], padding, height- padding - si.h); const pos = {x: pos_x, y: pos_y} // console.log('___i', col, pos, si); generabox(col, pos, si); const borderSize = 30; border = createGraphics(width, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(width - borderSize, 0, borderSize, height); border.fill(fCol.r, fCol.g, fCol.b, 255); border.noStroke(); border.rect(0, 0, width, borderSize); border.fill(fCol.r, fCol.g, fCol.b, 255)M border.noStroke(); border.rect(0, height - borderSize, width, borderSize); function draw() { background('#ffffff'); blendMode(BLEND); for(let i=0; i<9; i++){ image(layers[i], 0, 0, width, height); blendMode(MULTIPLY) createRadialGradient(width / 2, height / 2, 0, width / 2, height / 2, height); blendMode(MULTIPLY); image(paper, 0, 0, width, height); image(border,M- 0, 0, width, height); function windowResized() { const s = min(window.innerWidth, window.innerHeight) resizeCanvas(s, s); Add your code here text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"kk66.sats"}h! text/plain;charset=utf-8 +{"p":"sns","op":"reg","name":"Trades.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Light", "S Form shade": "Balanced", "Base shade": "Light", "Colour": "", "Colour chance": "0%", "Base colour": "", "Base Colour chance": "0%", "S forms": "85-165", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 10, "Sensitivity": "High"}M let t=[2e3,1e4],o=[180,250];let h=[80,170],W=[.1,.3];var e=[[2,8],[2,8]];let u=[85,165],_=[105,145];let b=[100,250],X=[.6,3];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=10,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["-"],te=0,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc833M 6d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #30";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79,M 45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,11M 5.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-40M .961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1.M 8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36M -100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,11M 3 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-M 31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getbM lockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),lM (a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"M }),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_M random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeM NS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(nulM l,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=M ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`)M );for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?cM olor1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0M ,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0M ]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duM ration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];toM tal_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duraM tion_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).7<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.M querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shM ift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<M total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_lM arge_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordM inates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2M ,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChilM d(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id)M ,a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*MatM h.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(nuM ll,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1M ,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1M ),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){forM (p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fM p[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s)M {var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0])M> .insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"pp88.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ss66.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"mixcloud.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"dd66.sats"}h! text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"place.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bb66.sats"}h! text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"vv88.sats"}h! text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Dark", "S Form shade": "Light", "Base shade": "Dark", "Colour": "Green", "Colour chance": "7%", "Base colour": "Green", "Base Colour chance": "40%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 5, "Sensitivity": "MeM let t=[2e3,1e4],o=[0,100];let h=[100,250],W=[.1,.3];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[0,100],X=[.1,5];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=5,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#00b300"],te=.07,se=["#00b300"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknodeM .pro/4ca7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #18";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,2M 27 v 0.25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.5M 9,2.357l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,M 425.88l90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-4M 2 -1.8,-0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.M 3 -29,-41 m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.M 5 m -0.78,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 1M 9 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_cM luster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3M z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0M .28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192M z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),backgroundM ={s:F([bg_shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t)M ,l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=aM wait e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*10M 0,L=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"M animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+bM ackground.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","uM rl(#background_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],M W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){foM r(m=V(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),sM mall_shapes[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-coloM r",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginM Element(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,M l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desirM ed_number_of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visM ibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"valueM s",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-M "+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(deM sired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shaM pes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0M ;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"M defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x"M ,r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(oM )}}function D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!0&.6<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElemeM ntNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}fuM nction K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,aM +30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)})M ;p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,M 15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(M 0,100,3),fp[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(nM =e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/plain;charset=utf-8 text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"nn66.sats"}h! "!+'%/(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1('1('1('1('1('1%)3 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 .7 .7 .7 .7 .7#089AFPRTYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZkkk -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6%)3('1('1('1('1('1('1('1('1('1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1329YYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ &$.(&0(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1('1('1('1('1('1('1('1('1('1('1'(2%*3",5!-6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -M 6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 .7 .7 .7 .7 .7 .7"/8/9@YYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ (&0(&0(&0(&0(&0)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1('1('1('1('1('1'(2"+5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 .7 .7 .7 M .7 .7 .7 .7 .7 .7 .7$19:BFTUVYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ #",(&0(&0(&0('1('1('1('1('1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1)'1('1('1('1('1('1('1)'1)'1)'1)'1)'1)'1)'1)'1)'1('1('1('1('1$*3 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 .7 .7 .7 .7!.7#095>DYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"ii88.sats"}h! text/plain;charset=utf-8 -{"p":"sns","op":"reg","name":"99998888.sats"}h! Bj@=:ETH.ETH:0xd51e762A20735E235E6a106B51e6ad39b535BC2a:12738518::0 LjJ=:BNB.BUSD-BD1:bnb18xynhkqttf5m9r45aqg596rhnmv20f9s0cysxt:37096987199:te:0 Sandra Marco 28.03.2008 Bj@=:ETH.ETH:0x1c31D70F55c29f267806D47Df175EA839Eacb3C2:15123617::0 text/plain;charset=utf-8 ){"p":"sns","op":"reg","name":"bbss.sats"}h! IjGREFUND:3CC4444CD0EA4E10DF325BF5FFA10E8296788636E0A223A183C6D82FC51CB702 IjGREFUND:3D4496A6E48D78EFAA6CB4594553D7C9C015FCA7EE2E391A19D9635DB1651702 IjGREFUND:AF663EA21E1A80A411181145FE493B4EF19EF8831BBE56EC084A28C65F2A1A76 Aj?=:ETH.ETH:0xD87BC481daeb69375faf9A7A08907Ca8ec8d184b:5738776::0 FjDOUT:C2D2EB9CCF6D5084903D9EC0227F79BA1047BD3BF6C6A76746D0A76B3C5A340A FjDOUT:A87EEF96939695F5AD26D68412F118BAB739239D9B38A243BEA5A3635E3F513F CjA=:ETH.ETH:0x3693994f12eF7571A26859AdbBfe34aBf7D95C8e:121657423::0 text/plain;charset=utf-8 *{"p":"sns","op":"reg","name":"chris.sats"}h! text/plain;charset=utf-8 2{"p":"sns","op":"reg","name":"trustmachines.sats"}h! text/plain;charset=utf-8 text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Balanced", "Base shade": "Light", "Colour": "", "Colour chance": "0%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "7-40", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 2, "Sensitivity": "HighM let t=[2e3,1e4],o=[180,250];let h=[0,250],W=[.1,.3];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[80,170],X=[.6,3];let c=[7,40],f=[17,27],S=[0,1,2,3,4,5,6,7,8,9,10],N=2,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["-"],te=0,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7adbc8336M d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #48";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25 l -79,4M 5 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l74.16,115M .7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90.915-40.M 961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0.051 1.8M ,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z"],fs=e,enable_sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-M 100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113M H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-3M 1m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblM ockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(M a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}M ),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_rM andom,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNM S(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(nullM ,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=nM e!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`))M ;for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?coM lor1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,M offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]M ),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"durM ation",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];totM al_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duratM ion_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).8<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.qM uerySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shiM ft)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<tM otal_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_laM rge_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapes),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordiM nates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,M _.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChildM (s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),M a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*MathM .sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(nulM l,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,M 3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1)M ,p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(M p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fpM [i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){M var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).M= insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Dark", "Base shade": "Dark", "Colour": "Orange", "Colour chance": "10%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "5-50", "S forms size": "XXXS", "L forms size": "XXXXL", "Clustering": 0, "Sensitivity": "MeM let t=[2e3,1e4],o=[0,50];let h=[0,50],W=[.1,.3];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[80,170],X=[.2,.8];let c=[5,50],f=[20,30],S=[0,1,2,3,4,5,6,7,8,9,10],N=0,A=1,M=[10,60],w=.1,Y=[3,10],k=[.5,.5],ee=["#e65c00"],te=.1,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4ca7M adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #43";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.25M l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357l7M 4.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88l90M .915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,-0M .051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m 12,1.7 -11,15 v 18 l 11,-15 28,22 -28,-40 m 0.0069,-1.7 33,47 -33,-25 -12,17 V 18 Z M 42,44 11,21 0,37 V 18 L 11,2 Z m -39,89.2 -7.9,17 8,21 14,-8.6 h 30 l -44,-29 m -0.41,-1.5 48,31 h -33 l -15,9.1 -8.6,-22 z M 3,171 -5.3,149 3,132 49,162 H 18 l -0.12,0.071 z M 72,-7.8 v 19 l -11,15 h 22 l 18,7.3 -29,-41M m -1,-3.2 33,47 -21,-8.6 H 59 l 12,-16 z M 102,34 83,26 H 60 L 72,10 v -20 z m -34,153 59,25 -52,11 8.7,-11 z M 202,79 183,124 v 30 L 167,79 Z m -288,0 h -14 l 44,-27 -4.7,34 z","m 32,2.5 -29,42 30,-7.9 h 10 l -7.2,-17 -3.6,-18 m 0.52,-2.5 4.1,20 7.8,18 h -12 l -32,8.6 z M 1.2,46 32.2,1 36,20 43.5,37 h -11 l -0.063,0.017 z m 39.8,87.2 -39,26 28,-10 11,21 7.6,-20 -7.8,-17 m 0.41,-1.5 8.5,18 -8.5,22 -12,-22 -35,13 z M 42,171 30,149 l -32,12 43,-29 8.2,17 z m -105.5,-68 -6.2,27 29,-8.2 h 33 l -15,-14 -40,-4.5 m -0.78M ,-1.1 41,4.7 17,16 h -35 l -30,8.6 z m -6.85,28.8 6.5,-28 40,4.6 16,15 h -34 l -0.067,0.019 z m 48.33,56 33,43 -27,-12 -36,5.5 z m -132,-108 18,29 v 46 l 20,-46 z M 118,87.3 145,79 101,52 91.8,74 Z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56-16 19 40-69zmM -220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_sub_cluster=!0M ),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30,-9.3 z","m 42M 4,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250 95v0.28h145l1M 7-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m187 195-84-35h-102l51-69v-89z","M 63,242 -5,34 62,-133 347,157 H 153 l -0.7,0.7 z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 M 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bgM _shade_0,bg_shade_1])};let re=0,L=0,E=0,q=777226,$=0,ne=0;var H,O;!async function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>q&&$++,q=e.result};let i=e=>{E=0==L?0:(e.result.bytes-L)/L*100,L=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);breM ak}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.jsM on(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(E=0==L?0:(t.bytes-L)/L*100,L=t.bytM es,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=await s.json();a>q&&$++,q=a;break}catch(e){}try{mempool_bytes_random=V(3e7,6e7),E=(mempool_bytes_random-L)/L*100,L=mempool_bytes_random,$++,q++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),H="http://www.w3.org/2000/svg",O=document.createElementNS(H,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=R(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(H,"animate")M ).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=R(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(H,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+backgroundM .s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeatCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),O.setAttributeNS(null,"x","0%"),O.setAttributeNS(null,"y","0%"),O.setAttributeNS(null,"width","100%"),O.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(H,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#backgM round_gradient)"),O.appendChild(g),O.appendChild(bg),e.appendChild(O),ue(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(L=V(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=J(W[0],W[1],scalM e=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=J(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=V(h[0M ],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapes.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapM es[i].s=[offset1,color1,offset2,color2]);for(m=V(b[0],b[1]),s1=de(large_shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=J(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2M ),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offset1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(V(o[0],o[0]+50)),bg_shade_1=B(V(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_1_animation.beginElement()M ,(bg_gradient_stop_2_animation=document.querySelector("#a2-background")).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",V(M[0],M[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(G(S),300,30,w=0,xy_range=[-5,95],randomness=.1),Q(G(S),300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100M ])):(xy_coordinates_large_shapes=Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);P*=1+E/100;Z*=1+E/100;Z=Math.max(Z,u[0]);Z=Math.min(Z,u[1]);P=Math.max(P,c[0]);P=Math.min(P,c[1]);desired_number_of_visible_small_shapes=Z;desired_numberM _of_visible_large_shapes=P;fade_time_multiplier=1-E/100;C=le*fade_time_multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilitiesM [i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilities[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.M opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_small_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.iM d)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_numM ber_of_visible_large_shapes>total_number_of_visible_large_shapes|random_shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),M animation.beginElement()))}re++;setTimeout(e,C)},C);let Z=U(small_shapes),P=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,w=w,sub_cluster_n=Y,k=k,xy_range=[10,10],randomness=.3):Q(N,300,30,w=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=J(n[0],n[1],scale=0),size_y=size_x,sx=V(s[0],s[1]),sy=V(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visM ible_shapes--):(visible=!1,opacity_values="0;0"),s1=V(r[0],r[1]),s2=he(s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:G(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");foM r(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+r.id,g=pe(0,0,100,0,gradient_id),s1=R(r.s[0],r.s[1],"stp1-"+r.id),s2=R(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%")M ,o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-origin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}functiM on D(e){return e=Math.abs(e),0<te&I()>1-te?G(ee):`rgb(${e%256},${e%256},${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?G(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function V(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function J(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function G(e){return e[V(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("httpM ://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,"id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function R(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(tM ,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),pM 2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,50,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=J(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+J(-5,15),y:y+J(-5,5)});p1=p,p2=pM ,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+J(-10,10)%100,y:y+J(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=V(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=V(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=J(-15,15)%100,y+=J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=J(70,80)),.6<I()&&(x=J(30,40)),x+=J(-15,15)%100,y+M =J(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],i=0;i<t-1;i++)fp.push(G(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+J(-s,s),fp[i].y=fp[cluster_start].y+J(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+V(r),s=J(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=J(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=J(0,100,3)),0<o&&I()>1-o&&(fp[i].x=J(0,100,3),fM p[i].y=J(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)e[i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=V(t[0],t[1]),direction=G([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-M 1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+step/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <title>RECALL</title> <meta charset="UTF-8"> <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | M 0]).join('') + "i0"; let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.M imul(_ ^ (r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>=M var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background: black; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; height: 90%; aspect-ratio: 6/8; border-style: solid; border-width: 3px; border-color: black; width: 75ch; font-family: Helvetica; .prompt-container{ position: absolute; background: white; padding: 10px; .prompt-container>p{ padding: 0%; margin: 0px; font-family: Helvetica; <div class="container"> <svg class="svgroot" width="100%" height="100%" version="1.1" viewBox="0 0 600 800" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"></svg> <script type="text/javascript"> //RECALL is a dynamic cryptoart series by crashblossom, inscribed as 77 ordinals on Bitcoin. The artworks react to live mempool data, altering compositM ion in response. They change constantly and evolve over long periods of block time. To see the full evolution, RECALL must be kept running. You can change node by pressing 'R'. const rand = mathRand(); window.$generativeTraits ={"L Form shade": "Balanced", "S Form shade": "Light", "Base shade": "Dark", "Colour": "Orange", "Colour chance": "30%", "Base colour": "", "Base Colour chance": "0%", "S forms": "50-250", "L forms": "2-24", "S forms size": "XXXS", "L forms size": "XXXL", "Clustering": 8, "Sensitivity": "MeM let t=[2e3,1e4],o=[0,100];let h=[100,250],W=[.1,.3];var e=[[2,8],[2,8]];let u=[50,250],_=[100,150];let b=[80,170],X=[.8,4];let c=[2,24],f=[8,16],S=[0,1,2,3,4,5,6,7,8,9,10],N=8,A=1,w=[10,60],k=.1,Y=[3,10],M=[.5,.5],ee=["#e65c00"],te=.3,se=["-"],T="",ae=["https://black-red-brook.btc.discover.quiknode.pro/724e72af82242e980321bdd5deaa97756b6210c3/","https://autumn-prettiest-butterfly.btc.discover.quiknode.pro/1b0e20b57055e3d8cfb0ff322f9d82fd58573dcb/","https://evocative-lively-breeze.btc.discover.quiknode.pro/4cM a7adbc8336d36969373a1d79cb0e8b715e5bb0/","https://virulent-light-knowledge.btc.discover.quiknode.pro/6fbc97d8bbda8c23c8bdef9463f7e4f1af3b8ccd/"],le=(t[0]+t[1])/1.8,C=le;var ie=(new Date).getTime();document.title="RECALL #52";small_shapes=oe(n=260,n_visible=_,x=[0,90],y=[0,90],z=100,s=h,sz=W,p=["m 131,178 v 0.18 l -55,75 v 19 l 55,56 v 0.18 l -30,-19 -16,-13 -31,13 9.1,-73 -21,-21 55,-39 2.7,-0.089 -15,39 z m 58,160 -49,39 -6.6,36 h -9.8 l 65,75 v 0.18 l -49,-44 15,44 -55,-75 55,-77 2.7,-0.089 h 7.3 z M 333,227 v 0.M 25 l -79,45 -18,88 97,80 v 0.25 h -43 l -5.2,-0.05 -79,-106 79,-108 3.9,-0.13 -9.3,22 z M 471,27 v 0.31 l -100,129 h -38 l 138,129 v 0.31 l -95,-77 34,77 -100,-129 100,-132 4.9,-0.15 -51,100 z M 231,16 v 0.23 l -65,72 -25,23 90,96 v 0.23 h -36 l -5.4,-31 -88,-69 89,-93 3.3,-0.11 -34,59 z","m362 12v0.4l-207 217-29 0.68 235 217v0.4l-68-45-58 45-61-122-190-142s71-3.6 134-49 117-132 117-132l10-0.28-48 111z","M29,10.67v.338L173.273,130.085l19.233,65.449h68.829L29,380.4v.338l99.59-60.266v60.164L292.1,196.109,128.59,2.357M l74.16,115.7L99.977,2.12l21.047,52.59Z","M174.1,7.429v.213l131.69,116.982,29.874,61L174.1,241.818v.213h71.68l8.335-18.41,150.5-79.413L254.115,3.748V44.6l-23.337-41ZM282.68,243.183v.1l57.592,53.42h36.705l-94.3,53.517v.1L348.6,334.173l-30.93,16.111,96.906-27.557L317.673,241.5l-2.916-.068,20.908,17.6ZM.219,170.1v.1l57.592,53.42,45.312-21.468L.219,277.138v.1H31.567l8.657-21.075,76.137-54.007L35.212,168.424l-2.916-.068,25.515,28.817Zm93.466,88.783v.151l88.409,83.292,34.594.256-123,83.188v.152l75.073-30.414L147.4,425.88lM 90.915-40.961L147.4,256.266v20.969L131.735,256.16ZM80.256,28.5.219,13.767l102.9,54.626,13.237.182L44.851,127.342v.107H76.568l3.688-28.014,58.272-30.86L80.256,7.592l-2.95-.075H69.93Z","m 57,6.2 v 0.14 l 107,80 29,-6.2 -136,86 v 0.14 l 46,-10 19,10 107,-80 -41,-38 -71,-45 v 19 z M 98,220 v 0.051 l 37,28 v 0.051 l -33,4.4 -4.1,24 v 0.051 l 53,-4.5 -30,4.5 65,-28 c 0,0 -48,-36 -42,-19 6,17 -23,-10 -23,-10 l -1.9,-0.036 1.9,8.6 z m -246.78,71 v 0.072 l 67,7.3 16,33 -83,40 v 0.073 h 20 l 2.3,-0.022 104,-40 -104,-42 -1.8,M -0.051 1.8,20 z M -53,183 v 0.1 l 38,39 49,-7.9 -87,75 v 0.1 h 29 l 27,-42 37,11 -60,-78 -2.7,-0.068 2.7,13 z M -107,36.3 v 0.086 l 52,47 -24,30 -50,17 h 22 v 0.086 h 28 l -35,55 90,-103 -42,-28 23,-14 -58,-21 z","m121 156 52-64-83 138-53 13 51 51-51-74h23l-35 23 71-23 45-53-135 24 51-36 2.5-0.082-42 36zm20 148-45 36 30 68-5.7-46 20 79v-85l22 91-75-91 22-54v74l-7.4-45zm132-102-118 92 46-51 64 40 8.2 114v0.23l30-138-74 138 30-93-30-104 3.6-0.12-8.6 20zm126-184v0.28l-33 63-14 48 46 125-55-118-31 47 31-17 36-131-52 56M -16 19 40-69zm-220-9.8-98 95 22-47-29 36 105 92-69-81-36 27 22-27-36-11 82-85 3-0.1-64 75z","m316 200-85-108v119l135 32-51 51 51-74h-23l35 23-137-5.7-28-126 183 80-51-36-2.5-0.082 42 36zm-53 104 123 83-168-55 65 30-20 79v-85l-22 91 137-85-84-59 50 123-42-93zm-131-102 118 92-46-51-128 55 56 98v0.23l109-35-66 35-114-65 114-132-3.6-0.12 8.5 20zm-126-184v0.28l32 63 14 48-46 125 55-118 31 47-31-17-8.9-181 128 96-88 30 66-58-83 12zm219-9.8 97 95 85-68-78 56 78 45-63-107-15 100-22-27v44l-45-141-3-0.1 63 75z"],fs=e,enable_M sub_cluster=!0),large_shapes=oe(n=60,n_visible=f,x=[0,90],y=[0,90],z=100,s=b,sz=X,p=["m471 80v0.3l-282 168h-66l349 168v0.3l-110-27 27 70-69-60-20 32-69-87-213-97 122-36 99-57 34-52 28-27 121-19-72 46z","m243 13v0.43l-128 144v90l-18-6 103 145 13-62 29 157v0.43l-57-42-18 42-52-192-76-43-24-6.7 122-140 36-100 27 20-8.1-26z","m 222,40 v 0.13 l -83,56 h -20 l 103,56 v 0.13 h -45 l -30,-32 -79,-24 51,-37 20,13 33,-18 15,-14 z M 62,-249.7 v 0.23 l -146,98 -43,0.42 188,98 v 0.24 l -68,-15 -21,15 -146,-98 146,-100 6.3,20 30M ,-9.3 z","m 424,404 v 0.1 l -46,43 -52,-6.6 98,50 v 0.1 h -25 l -44,-24 -78,-19 119,-44 2.3,-0.051 -31,19 z m 32,-241 v 0.16 l -76,65 h 34 l 43,65 v -45 H 327 l 84,-87 3.8,-0.078 -26,53 z m -225,152 -27,7 -53,55 h 111 l -31,62 -43,-51 v 51 l -24,-51 -61,-12 80,-64 -53,63 67,-64 z M 276,11 204,30 143,113 H 87 l 190,102 v 0.24 h -72 l -22,-33 -120,-69 133,-104 -85,89 109,-89 z","m45 30v0.49l250 208 80 0.49-330 208v0.49l182-81-30 81 155-148 132-60-108-33-80-136-111-44 27 59z","m11 123v0.27l204 77 64 76v0.28l-18 58-250M 95v0.28h145l17-35 106-39 54-5-32-24 84-33 101-18-83-0.28-230-156 83 74-131-75z","m176 27h-94l135 70 56 155 40 26-147 181-68 19 132-14 4.9 14 192-200-102-33-45-79 62-33-107-116-4.9 45-12-45z","m445 36-334 243 74-121-97 92 358 236-235-207-123 68 75-68-123-29 279-218 10-0.27-218 193z","m394 406-307-311-85 21 85-115 11 50 297 355z","m-27-63 37 188 61-33 154 234-141-275 3e-3 -0.2 0.5-45-111-69m-1-2 113 70-0.5 45 149 291-163-248-61 33-37-192z","m473 247h-152v-147l20 116-305 253 195-216-77 114 187-47-87-86 128-18-180-62-M 119-128 238 162z","m33 15-26 97 26 122 47-50h96l-143-169m-1-9 155 183h-106l-49 53-28-131z","m33 15-26 97 26 122 37-142 94-47-131-31m0.7-3 126 33-88 51-40 147-28-131z","m100-54-137 183 127-66 11 162 63-179-64-100m0.7-3 64 134-63 152-14-156-129 57z","m100-54-137 183 127-66 35-3 69 102-94-216m0.7-3 101 210-76-90-166 66z"],fs=e,enable_sub_cluster=!1),bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),background={s:F([bg_shade_0,bg_shade_1])};let re=0,E=0,q=0,L=777226,$=0,ne=0;var O,P;!asynM c function e(){body_mp=JSON.stringify({jsonrpc:"1.0",method:"getmempoolinfo"});body_bh=JSON.stringify({jsonrpc:"1.0",method:"getblockcount"});let l=e=>{e.result>L&&$++,L=e.result};let i=e=>{q=0==E?0:(e.result.bytes-E)/E*100,E=e.result.bytes};for(;;){try{if(""!=T){url=T;let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}}catch(e){}try{url=ae[0];let e=await fetch(url,{dataType:"json",methM od:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[1];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=await s.json();i(t),l(a);break}catch(e){}try{url=ae[2];let e=await fetch(url,{dataType:"json",method:"POST",body:body_mp}),t=await e.json(),s=await fetch(url,{dataType:"json",method:"POST",body:body_bh}),a=M await s.json();i(t),l(a);break}catch(e){}try{let e=await fetch("https://bitcoinexplorer.org/api/mempool/summary",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://bitcoinexplorer.org/api/blocks/tip/height",{dataType:"json"})),a=await s.json();a>L&&$++,L=a;break}catch(e){}try{let e=await fetch("https://burner.is/recall/mempool",{dataType:"json"}),t=await e.json(),s=(q=0==E?0:(t.bytes-E)/E*100,E=t.bytes,await fetch("https://burner.is/recall/blocks",{dataType:"json"})),a=M await s.json();a>L&&$++,L=a;break}catch(e){}try{mempool_bytes_random=J(3e7,6e7),q=(mempool_bytes_random-E)/E*100,E=mempool_bytes_random,$++,L++;break}catch(e){}}setTimeout(e,C)}(),background,e=document.querySelector(".svgroot"),O="http://www.w3.org/2000/svg",P=document.createElementNS(O,"svg"),gradient_id="background_gradient",g=pe(0,0,100,0,gradient_id),s1=V(0,background.s[0],"stp1-background_gradient"),(a1=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a1-background"),a1.setAttributeNS(null,"attM ributeName","stop-color"),a1.setAttributeNS(null,"values",""+background.s[0]),a1.setAttributeNS(null,"dur","10s"),a1.setAttributeNS(null,"repeatCount","0"),a1.setAttributeNS(null,"fill","freeze"),s1.appendChild(a1),s2=V(1,background.s[1],"stp2-background_gradient"),(a2=document.createElementNS(O,"animate")).setAttributeNS(null,"id","a2-background"),a2.setAttributeNS(null,"attributeName","stop-color"),a2.setAttributeNS(null,"values",""+background.s[1]),a2.setAttributeNS(null,"dur","10s"),a2.setAttributeNS(null,"repeM atCount","0"),a2.setAttributeNS(null,"fill","freeze"),s2.appendChild(a2),g.appendChild(s1),g.appendChild(s2),P.setAttributeNS(null,"x","0%"),P.setAttributeNS(null,"y","0%"),P.setAttributeNS(null,"width","100%"),P.setAttributeNS(null,"height","100%"),(bg=document.createElementNS(O,"rect")).setAttributeNS(null,"id","background"),bg.setAttributeNS(null,"width","100%"),bg.setAttributeNS(null,"height","100%"),bg.setAttributeNS(null,"fill","url(#background_gradient)"),P.appendChild(g),P.appendChild(bg),e.appendChild(P),uM e(large_shapes),ue(small_shapes),setTimeout(function e(){small_shapes=F(small_shapes);large_shapes=F(large_shapes);block_changed=ne!=$;block_changed&&(_[0]<u[0]&&_[0]++,_[0]>u[0]&&_[0]--,f[0]<c[0]&&f[0]++,f[0]>c[0])&&f[0]--;block_changed&($%A==0|1==A)&&((N+=1)>S.length-1&&(N=0),1e4<=(A*=2))&&(S=F(S),A=1);block_changed&$%123==0&&(E=J(3e7,6e7));if(block_changed&$%3==0){for(i=0;i<small_shapes.length;i++)small_shapes[i].visible||(sz=G(W[0],W[1],scale=0),small_shapes[i].sz[0]=sz,small_shapes[i].sz[1]=sz,(p=document.querM ySelector("#p-"+small_shapes[i].id)).setAttributeNS(null,"transform",`scale(${small_shapes[i].sz[0]}, ${small_shapes[i].sz[1]})`));for(i=0;i<large_shapes.length;i++)large_shapes[i].visible||(sz=G(X[0],X[1],scale=0),large_shapes[i].sz[0]=sz,large_shapes[i].sz[1]=sz,(p=document.querySelector("#p-"+large_shapes[i].id)).setAttributeNS(null,"transform",`scale(${large_shapes[i].sz[0]}, ${large_shapes[i].sz[1]})`))}if(block_changed&$%23==0){for(m=J(h[0],h[1]),s1=de(small_shapes.length,{mean:m,stdDev:m/2}),i=0;i<small_shapM es.length;i++)small_shapes[i].visible||(s2=he(s1[i],[30,100],h),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+small_shapes[i].id),stop2=document.querySelector("#stp2-"+small_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),small_shapes[i].s=[offset1,color1,offset2,color2]);for(m=J(b[0],b[1]),s1=de(largeM _shapes.length,{mean:m-20,stdDev:m-20}),i=0;i<large_shapes.length;i++)large_shapes[i].visible||(s2=he(s1[i],[30,100],b),offset1=0,offset2=G(.8,1),color1=D(s1[i]),color2="#"==color1[0]?color1:D(s2),stop1=document.querySelector("#stp1-"+large_shapes[i].id),stop2=document.querySelector("#stp2-"+large_shapes[i].id),stop1.setAttributeNS(null,"stop-color",color1),stop1.setAttributeNS(null,"offset",offset1),stop2.setAttributeNS(null,"stop-color",color2),stop2.setAttributeNS(null,"offset",offset2),large_shapes[i].s=[offsetM 1,color1,offset2,color2])}block_changed&$%111==0&&(bg_shade_0=B(J(o[0],o[0]+50)),bg_shade_1=B(J(o[1]-50,o[1]),r="#"!=bg_shade_0[0]),new_background_shades=F([bg_shade_0,bg_shade_1]),(bg_gradient_stop_1_animation=document.querySelector("#a1-background")).setAttributeNS(null,"values",background.s[0]+";"+new_background_shades[0]),bg_gradient_stop_1_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_1_animation.beginElement(),(bg_gradient_stop_2_animation=document.querySelector("#a2-background")M ).setAttributeNS(null,"values",background.s[1]+";"+new_background_shades[1]),bg_gradient_stop_2_animation.setAttributeNS(null,"duration",J(w[0],w[1])+"s"),bg_gradient_stop_2_animation.beginElement(),background.s=new_background_shades);block_changed&&(ne=$);xy_coordinates_small_shapes=.8<I()?(xy_coordinates_large_shapes=Q(R(S),300,30,k=0,xy_range=[-5,95],randomness=.1),Q(R(S),300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100])):(xy_coordinates_large_shapes=Q(N,300,30,k=0,xy_range=[-5,95],randomM ness=.1),Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[-2,90],randomness=.5,l=[-5,100]));all_shapes=[small_shapes,large_shapes];total_number_of_shapes=small_shapes.length+large_shapes.length;total_number_of_visible_small_shapes=U(small_shapes);total_number_of_visible_large_shapes=U(large_shapes);Z*=1+q/100;H*=1+q/100;H=Math.max(H,u[0]);H=Math.min(H,u[1]);Z=Math.max(Z,c[0]);Z=Math.min(Z,c[1]);desired_number_of_visible_small_shapes=H;desired_number_of_visible_large_shapes=Z;fade_time_multiplier=1-q/100;C=le*fade_time_M multiplier;C=Math.max(C,t[0]);C=Math.min(C,t[1]);fade_duration=C/1e3-.2;fade_in_duration_small_shapes=fade_duration;fade_out_duration_small_shapes=fade_duration;fade_in_duration_large_shapes=fade_duration;fade_out_duration_large_shapes=fade_duration;for(j=0;j<all_shapes.length;j++){for(next_shift_direction="visible",shapes_visibilities=_e(all_shapes[j]),i=0;i<.5*shapes_visibilities.length;i++).9<I()&&(v=shapes_visibilities[i],shapes_visibilities[i]=shapes_visibilities[shapes_visibilities.length-i],shapes_visibilitiM es[i]=v);for(i=0;i<all_shapes[j].length;i++)shape=all_shapes[j][i],animation=document.querySelector("#a-"+shape.id),svg=document.querySelector("#"+shape.id),random_shift=shapes_visibilities[i]!=shape.visible,0==j&&((desired_number_of_visible_small_shapes<total_number_of_visible_small_shapes|random_shift)&shape.visible?(total_number_of_visible_small_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_sM mall_shapes+"s"),animation.beginElement()):(desired_number_of_visible_small_shapes>total_number_of_visible_small_shapes|random_shift)&!shape.visible&&(total_number_of_visible_small_shapes++,shape.x=xy_coordinates_small_shapes[i].x,shape.y=xy_coordinates_small_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttM ributeNS(null,"dur",fade_in_duration_small_shapes+"s"),animation.beginElement())),1==j&&((desired_number_of_visible_large_shapes<total_number_of_visible_large_shapes|random_shift)&shape.visible?(total_number_of_visible_large_shapes--,shape.visible=!1,shape.opacity_values="1;0",animation.setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_out_duration_large_shapes+"s"),animation.beginElement()):(desired_number_of_visible_large_shapes>total_number_of_visible_large_shapes|randomM _shift)&!shape.visible&&(total_number_of_visible_large_shapes++,shape.x=xy_coordinates_large_shapes[i].x,shape.y=xy_coordinates_large_shapes[i].y,svg.setAttributeNS(null,"x",shape.x+"%"),svg.setAttributeNS(null,"y",shape.y+"%"),shape.visible=!0,shape.opacity_values="0;0.3;1",(animation=document.querySelector("#a-"+shape.id)).setAttributeNS(null,"values",shape.opacity_values),animation.setAttributeNS(null,"dur",fade_in_duration_large_shapes+"s"),animation.beginElement()))}re++;setTimeout(e,C)},C);let H=U(small_shapeM s),Z=U(large_shapes);function oe(e,t,s,a,l,r,n,o,u,p){var _=[];for(n_shapes=e,n_visible_shapes=Math.floor((t[0]+t[1])/2),xy_coordinates=p?Q(N,300,30,k=k,sub_cluster_n=Y,M=M,xy_range=[10,10],randomness=.3):Q(N,300,30,k=0,xy_range=[-5,95],randomness=.1),i=0;i<=n_shapes;i++)size_x=G(n[0],n[1],scale=0),size_y=size_x,sx=J(s[0],s[1]),sy=J(a[0],a[1]),sx=xy_coordinates[i].x,sy=xy_coordinates[i].y,0<n_visible_shapes?(visible=!0,opacity_values="0;1",n_visible_shapes--):(visible=!1,opacity_values="0;0"),s1=J(r[0],r[1]),s2=he(M s1,[50,100],h),color1=D(s1),color2="#"==color1[0]?color1:D(s2),fade_in_time=(u[0][0]+u[0][1])/2,fade_out_time=(u[1][0]+u[1][1])/2,_.push({id:"id"+I().toString(16).slice(2),x:sx,y:sy,z:l,s:[0,color1,1,color2],sz:[size_x,size_y],p:R(o),fs:[fade_in_time,fade_out_time],visible:visible,opacity_values:opacity_values});return _}function ue(e){var t=document.querySelector(".svgroot"),s="http://www.w3.org/2000/svg",l=document.createElementNS(s,"defs");for(t.appendChild(l),i=0;i<e.length;i++){var r=e[i],n=(gradient_id="gr-"+M r.id,g=pe(0,0,100,0,gradient_id),s1=V(r.s[0],r.s[1],"stp1-"+r.id),s2=V(r.s[2],r.s[3],"stp2-"+r.id),g.appendChild(s1),g.appendChild(s2),l.appendChild(g),document.createElementNS(s,"path")),o=(n.setAttributeNS(null,"transform",`scale(${r.sz[0]}, ${r.sz[1]})`),n.setAttributeNS(null,"d",r.p),n.setAttributeNS(null,"fill",`url(#${gradient_id})`),n.setAttributeNS(null,"id","p-"+r.id),document.createElementNS(s,"svg"));o.setAttributeNS(null,"x",r.x+"%"),o.setAttributeNS(null,"y",r.y+"%"),o.setAttributeNS(null,"transform-orM igin","center"),o.setAttributeNS(null,"id",""+r.id),(a=document.createElementNS(s,"animate")).setAttributeNS(null,"id","a-"+r.id),a.setAttributeNS(null,"attributeName","opacity"),a.setAttributeNS(null,"values",r.opacity_values),a.setAttributeNS(null,"dur",r.fs[0]+"s"),a.setAttributeNS(null,"repeatCount","0"),a.setAttributeNS(null,"fill","freeze"),a.setAttributeNS(null,"calcMode","paced"),o.appendChild(n),o.appendChild(a),t.appendChild(o)}}function D(e){return e=Math.abs(e),0<te&I()>1-te?R(ee):`rgb(${e%256},${e%256}M ,${e%256})`}function B(e,t=!0){return e=Math.abs(e),!1&1<I()&t?R(se):`rgb(${e%256},${e%256},${e%256})`}function I(){var e=1e4*Math.sin(ie++);return e-Math.floor(e)}function J(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(I()*(t+1-e)+e)}function G(e,t,s=1,a=3){return r=I()*(t+s-e)+e,t=r,s=(s=a)||0,Math.floor(t*Math.pow(10,s))/Math.pow(10,s)}function R(e){return e[J(0,e.length-1)]}function pe(e,t,s,a,l){var i=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return i.setAttributeNS(null,M "id",l),i.setAttributeNS(null,"x1",e+"%"),i.setAttributeNS(null,"x2",s+"%"),i.setAttributeNS(null,"y1",t+"%"),i.setAttributeNS(null,"y2",a+"%"),i}function V(e,t,a){return(s=document.createElementNS("http://www.w3.org/2000/svg","stop")).setAttributeNS(null,"id",a),s.setAttributeNS(null,"offset",e),s.setAttributeNS(null,"stop-color",t),s}function F(e){let t=e.length,s;for(;0!=t;)s=Math.floor(I()*t),t--,[e[t],e[s]]=[e[s],e[t]];return e}function K(t,s,e,a,l,i){var r=Math.tan(e),n=Math.cos(e)*a,o=Math.sin(e)*a,u=[];for(M let e=0;e<i;e++){var p=(I()-.5)*l,_=(I()-.5)*l,p=t+n+p;u.push({x:p,y:s+r*(p-t)+o+_})}return u}function Q(e,t,a=0,l=0,r=[3,8],n=[1,3],o=0,u=[-200,300]){if(0==e&&(p1=K(45,95,40,10,a+10,t+1),p2=K(30,55,40,0,a+20,t+1),p3=K(40,20,40,0,a+30,t+1)),1==e&&(p1=K(60,0,90,10,a+40,t+1),p2=K(20,40,20,20,a+20,t+1),p3=K(40,70,100,10,a+30,t+1)),5==e&&(p3=K(10,5,0,10,a+40,t+1),p1=K(20,10,1,50,a+50,t+1),p2=K(30,30,0,20,a+60,t+1)),3==e&&(p3=K(70,0,160,0,a+30,t+1),p2=K(50,40,160,10,a+30,t+1),p1=K(10,60,45,20,a+20,t+1)),6==e&&(p1=K(50,5M 0,10,10,a+30,t+1),p2=K(50,20,20,10,a+5,t+1),p3=K(50,50,30,10,a+10,t+1)),2==e&&(p1=K(0,10,20,10,a+5,t+1),p2=K(80,40,10,20,a+10,t+1),p3=K(90,30,40,30,a+30,t+1)),4==e){for(p=[],s=t/100,i=0;i<t;i++)m_s=s,.5<I()&&(m_s*=G(-.1,.1)),x=(100-i)*m_s,y=i*s*(1+Math.sin(s)),p.push({x:x%110,y:y%110});p1=p,p2=p,p3=p}if(7==e){for(p=[],s=t/100,i=0;i<t;i++)x=100-i%100,y=100-i%100,x=(x>>y^i)%100,y=(y|i*Math.sin(x)^x)%100,p.push({x:x+G(-5,15),y:y+G(-5,5)});p1=p,p2=p,p3=p}if(8==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,y=((y=50+i%100)&x)%M 100,.4<I()&&(y=80-Math.sin(i)),.3<I()&&(x*=Math.sin(y)),p.push({x:x+G(-10,10)%100,y:y+G(-10,10)%100});p1=p,p2=p,p3=p}if(9==e){for(p=[],s=t/100,i=0;i<t;i++)x=i%100,x=J(10,70)+i%100,y=(y&x|i)%100,.4<I()&&(y=J(20,50)-Math.sin(i)),.6<I()&&(x*=Math.sin(y)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}if(10==e){for(p=[],s=t/100,i=0;i<t;i++)x=70-i,y=60-i^(x<<10)%10,x^=y,.7<I()&&(y=G(70,80)),.6<I()&&(x=G(30,40)),x+=G(-15,15)%100,y+=G(-15,15)%100,p.push({x:x,y:y});p1=p,p2=p,p3=p}for(fp=[],p=[p1,p2,p3],M i=0;i<t-1;i++)fp.push(R(p)[i]);if(0<l)for(cluster=!1,cluster_start=0,cluster_end=0,i=0;i<fp.length;i++)cluster?(i<cluster_end&&(fp[i].x=fp[cluster_start].x+G(-s,s),fp[i].y=fp[cluster_start].y+G(-s,s)),i>cluster_end&&(cluster=!1)):I()>l&&(cluster=!0,cluster_start=i,cluster_end=i+J(r),s=G(n));for(i=0;i<fp.length-1;i++)fp[i].x<u[0]|fp[i].x>u[1]&&(fp[i].x=G(0,100,3)),fp[i].y<u[0]|fp[i].y>u[1]&&(fp[i].y=G(0,100,3)),0<o&&I()>1-o&&(fp[i].x=G(0,100,3),fp[i].y=G(0,100,3));return fp}function U(e){for(n=0,i=0;i<e.length;i++)eM [i].visible&&n++;return n}function _e(e){for(v=[],i=0;i<e.length;i++)e[i].visible?v.push(!0):v.push(!1);return v}function de(t,s){var a=[];for(let e=0;e<t;e++){let e=0,t=0;for(;0===e;)e=Math.random();for(;0===t;)t=Math.random();var l=Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t),i=s.mean||0,r=s.stdDev||1;a.push(l*r+i)}return a}function he(e,t,s){return step=J(t[0],t[1]),direction=R([-1,1]),n=Math.abs(e+step*direction),s[0]<n<s[1]||(n=e+step*(-1*direction),s[0]<n<s[1])||(n=e+step/2*direction,s[0]<n<s[1])||(n=e+steM p/2*(-1*direction),s[0],n,s[1]),n}window.onkeydown=function(e){82===e.keyCode?(d=document.getElementsByClassName("container")[0]).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change bitcoin node:</p><input id="prompt" class="prompt" value="${T}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),T=p.value,(pc=document.getElementById("prompt-container")).remove())}; text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.8.49/Tone.js"></script> <script sandbox="allow-scripts" type="text/javascript" src="https://cdn.jsdelivr.nM et/npm/tonal/browser/tonal.min.js"></script> <script type="text/javascript"> var cnv;let points=[],start=0,speed=2,wdt,margin=60,w=500,h=300,tileWidth=100,tileHeight=100,sclX=5,sclY=10,paletteIndex2=0,paletteType,paletteIndex3=0,globalNote,mainIndex=0,bnd,phi=3.14*(137.51/180),cbn=0,cbn2=0,duration=0,savedTime,startx1=0,starty1=0,start1=0,rootInc=0,format,currentKey,voiceChord=!1,randForm=0,notePlay,pastNote,keyFifths=[],sequence=[],chordArray=[],bassChord=[],reading,state,lastState,oscill,oscill2,trM ig=!1,bckg=["#F3F3F3","#000000"],palette1=[["#ce2d42","#082880","#7462f9","#f4b53f","#123676","#9c223d","#e6c7b4"],["#f43b79","#1136ed","#6b43dd","#ef9029","#4aa4ae","#69239b","#f7f1b4"],["#7fefe4","#be3edd","#70cfe5","#f2c666","#e6c7b4","#583fc4","#fff57d"],["#80aded","#7b66f7","#658fdb","#f2e18b","#f7f1b4","#773caa","#f4b537"],["#a5e2f2","#a783ed","#61c1db","#f7c872","#6eabf4","#6d52dd","#ff7db2"],["#d8d8d8","#898de0","#89afe5","#f9e78f","#85b2e8","#8110e5","#bf2b6e"],["#7094fc","#643ac9","#306bef","#9100dd","#e6M c7b4","#e2396d","#ef3a65"],["#80aded","#a28fef","#4688e8","#db003a","#f7f1b4","#d632a4","#bc174e"],["#594499","#db3e3e","#25ceb2","#02827b","#a0a09f","#56661d","#34067c"],["#425999","#bc3f3f","#9fe2cc","#108fc1","#d37676","#132691","#5b3c96"],["#ffeda1","#91205c","#2929e2","#9509b7","#70b9c0","#5474e8","#d30b8c"],["#f9cfc7","#721b74","#1c70ea","#7c1d93","#919bdb","#5574ce","#f25c87"],["#f25a7b","#e960af","#992843","#8b52f7","#6eabf4","#3714a1","#445b96"],["#ff399c","#e73250","#d32f53","#33bbff","#7de7ff","#69239b",M "#8041f9"],["#6f6674","#34a0a5","#992843","#f98450","#6eabf4","#3714a1","#445b96"],["#4d82aa","#24c6c6","#d32f53","#f973a0","#7de7ff","#69239b","#8041f9"],["#ff6d40","#361ee0","#992843","#e6c7b4","#9370f2","#3714a1","#445b96"],["#e6372f","#3a338e","#d32f53","#f7f1b4","#8092ff","#69239b","#8041f9"],["#ffa943","#2177f4","#35fc93","#f9cfd2","#6eabf4","#3714a1","#445b96"],["#ffce45","#2f7083","#5affdf","#fcf4b7","#7de7ff","#69239b","#8041f9"],["#41d9f2","#528cd1","#3a6eba","#5f64c1","#4a97f4","#7426bf","#f7d52f"],["#71M f2ff","#249cff","#63a1ea","#7f88db","#56a6f4","#7f0caf","#f7b643"],["#41d9f2","#51fcbb","#d3057b","#295cff","#7d22ff","#51d7e5","#e6c7b4"],["#71f2ff","#81fcca","#f91cb0","#0239c1","#8450d6","#05bdc6","#f7f1b4"],["#43bbef","#53f9e4","#bf2640","#5082ff","#8648ff","#36ffcf","#881ed3"],["#6bcced","#fce586","#f93ebb","#52a1ff","#8e51a8","#05bdc6","#ff0895"],["#a745ed","#fcbbbb","#f20a41","#ffd252","#0606bf","#ff459e","#881ed3"],["#7b19d1","#a7d0f9","#ba0f40","#fcd5bb","#4545ce","#9666ff","#ff0895"],["#31a4dd","#6f3bff",M "#f20a41","#4470a5","#7171f4","#e710f9","#2e92ff"],["#ffffab","#8e7de2","#ba0f40","#9312b2","#85b5f9","#830591","#034a7f"],["#06a0ba","#6f3bff","#f20a41","#8777f7","#4848c1","#6b11f7","#e6c7b4"],["#2bc5cc","#8e7de2","#ba0f40","#6155bf","#4b4bf7","#a318b7","#f7f1b4"],["#06a0ba","#6f3bff","#8473ff","#fce875","#4848c1","#ffb3c9","#2e92ff"],["#2bc5cc","#8e7de2","#9e61ba","#ffd2c7","#0f0fce","#f7e579","#034a7f"],["#c10839","#6f3bff","#ff06a6","#f2a5bb","#4848c1","#117ff7","#579ef2"],["#a20dd3","#8e7de2","#aa08ff","#f2ecM 79","#0f0fce","#a60abc","#1b64ce"],["#06a0ba","#6f3bff","#fca660","#f7f377","#9149bf","#f71165","#31f0ff"],["#2bc5cc","#8e7de2","#dd582a","#ffe09c","#630ca8","#a8275c","#04717c"],["#e041b3","#3e71ff","#ffec64","#77c1f7","#9149bf","#f71165","#e6c7b4"],["#f95089","#8e7de2","#f99175","#1d6bdd","#630ca8","#a8275c","#f7f1b4"],["#f4d334","#0636cc","#8989ef","#e6c7b4","#8005e0","#fc68a4","#3386ff"],["#fc889e","#3b72a3","#2d5cc4","#f7f1b4","#f938cb","#d61a1a","#04717c"],["#f4d334","#3ef6ff","#5347f4","#b877f7","#9149bf","#M f71165","#e6c7b4"],["#fc889e","#1fb2b2","#2d5cc4","#6e1ed6","#630ca8","#a8275c","#f7f1b4"],["#f4d334","#3ef6ff","#5347f4","#f7f777","#9149bf","#ef5090","#e6c7b4"],["#fc889e","#1fb2b2","#2d5cc4","#ffce88","#630ca8","#ba0457","#f7f1b4"],["#f4d334","#3ef6ff","#5347f4","#77c4f7","#9149bf","#f71165","#854fba"],["#fc889e","#1fb2b2","#2d5cc4","#2187bf","#630ca8","#a8275c","#e783ea"],["#f4d334","#3ef6ff","#f97575","#f4dc78","#9149bf","#f71165","#e6c7b4"],["#fc889e","#1fb2b2","#cc2929","#f28b79","#630ca8","#a8275c","#f7f1b4M "],["#f4d334","#3ef6ff","#f97575","#f279ab","#9149bf","#645eea","#e6c7b4"],["#fc889e","#52adff","#cc2929","#e81073","#630ca8","#3a3acc","#f7f1b4"],["#3ac9d8","#6f3bff","#44acf2","#fce875","#bf23f9","#ffb3c9","#2e92ff"],["#44acf2","#8e7de2","#6cffff","#ffd2c7","#9449ce","#f7e579","#034a7f"],["#06a0ba","#6f3bff","#fc4c7e","#f9b175","#6c6ce5","#8f58f9","#e6c7b4"],["#2bc5cc","#8e7de2","#cf4ef9","#f7df77","#4949c1","#a915ff","#f7f1b4"],["#ef01c4","#065ca8","#1c00ba","#ffee94","#c053ba","#8f58f9","#4ea8f9"],["#a60160","#M 30bec3","#5e52db","#ffebae","#da55f2","#a915ff","#4febf7"],["#f44260","#3c5ba0","#845ecc","#f4b53f","#3d9fc1","#9c223d","#e6c7b4"],["#f43b79","#4058ad","#6c3ca5","#ef9029","#317ec4","#69239b","#f7f1b4"],["#f44260","#3c5ba0","#7070e8","#f27740","#3d9fc1","#d34040","#e6c7b4"],["#f43b79","#4058ad","#4d4dc1","#ef9029","#317ec4","#ed5487","#f7f1b4"],["#f244ee","#5c75c6","#7070e8","#3cd3b6","#3d9fc1","#d34040","#e6c7b4"],["#f43b79","#637cc1","#4d4dc1","#1cb7b7","#317ec4","#ed5487","#f7f1b4"],["#e5491f","#2058d3","#7462f9M ","#40f2d0","#123676","#9c223d","#e6c7b4"],["#ef973f","#177199","#6b43dd","#15abba","#4aa4ae","#69239b","#f7f1b4"],["#e22079","#2058d3","#7462f9","#40f2d0","#5a92e5","#9c223d","#e6c7b4"],["#f21c59","#177199","#6b43dd","#15abba","#4658f9","#69239b","#f7f1b4"],["#e22079","#2058d3","#e6c7b4","#40f2d0","#5a92e5","#ba4564","#edf28b"],["#f21c59","#177199","#f7f1b4","#15abba","#4658f9","#e5336a","#43f7c8"],["#e22079","#4b80e0","#e6c7b4","#41a9ef","#5a92e5","#bc0d8b","#f7adf7"],["#f21c59","#197abc","#f7f1b4","#36a9cc","#46M 58f9","#d3057f","#43f7c8"],["#e22079","#4b80e0","#e6c7b4","#435ced","#e2b55a","#ea397d","#f4e2ae"],["#f21c59","#197abc","#f7f1b4","#7f63f7","#f98562","#e84b3a","#e9f49f"],["#0850b7","#6771f9","#8213bc","#75f9e0","#4848c1","#ffb3c9","#2e92ff"],["#3081e2","#5285dd","#9604af","#15abba","#0f0fce","#f7e579","#034a7f"],["#d80e3e","#6771f9","#8213bc","#f7ad77","#4848c1","#ffb3c9","#31b5ff"],["#ef4878","#5285dd","#9604af","#f4cb78","#0f0fce","#f7e579","#2a76d1"],["#f98246","#69acf7","#8213bc","#f7ad77","#4848c1","#ffb3c9",M "#31b5ff"],["#ed7d4a","#5285dd","#b529d3","#f4cb78","#0f0fce","#f7e579","#2a76d1"],["#f7cd48","#69d6f4","#8213bc","#f7ad77","#7649bf","#ffb3c9","#e6c7b4"],["#f49090","#21b5d8","#b529d3","#f4cb78","#5829b2","#f7e579","#f7f1b4"],["#4a82f4","#f22a51","#8213bc","#f7ad77","#905df4","#ffb3c9","#0c85ba"],["#4cb2f2","#b72c4e","#b529d3","#f4cb78","#542ad3","#f7e579","#096889"],["#4a82f4","#f22a51","#1522ba","#f7ad77","#d32fc0","#b6fffa","#0c85ba"],["#4cb2f2","#b72c4e","#483d9b","#f4cb78","#e50a6e","#f1ffb8","#096889"],["#4aM 82f4","#f22a51","#4b23db","#f7ad77","#d1304b","#5b99f4","#1dbcb4"],["#4cb2f2","#b72c4e","#694eea","#f4cb78","#d61660","#5cd3f2","#096889"],["#ad4cf2","#f22a51","#8213bc","#f478b0","#5ff2f2","#ffb3c9","#0c85ba"],["#8b05e2","#b72c4e","#b529d3","#f4cb78","#3ea6b7","#f7e579","#096889"],["#584def","#f22a51","#a52cdd","#f2c679","#60caef","#d2b6ff","#0d53b7"],["#4f24c6","#b72c4e","#b529d3","#efaa7b","#3ea6b7","#f7e579","#458bdd"],["#584def","#ef592b","#2cdbc1","#f2c679","#6290ed","#b8fff1","#0d53b7"],["#4f24c6","#f27949",M "#2ec0d8","#efaa7b","#4067b5","#f7e579","#458bdd"],["#584def","#ed2e8a","#2eacd8","#f2c679","#6290ed","#6929ce","#0d53b7"],["#4f24c6","#c11670","#3070d6","#efaa7b","#4067b5","#4a4add","#458bdd"],["#584def","#ed2e8a","#2eacd8","#ef9c7b","#6290ed","#6929ce","#0d53b7"],["#4f24c6","#c11670","#3070d6","#fc583d","#4067b5","#4a4add","#458bdd"],["#b7b7b7","#0a0a0a","#ffffff","#dbdcdd","#b2b2b2","#a7a7a8","#4e4f4f"],["#d8d8d8","#636363","#dbdcdd","#b2b2b2","#4e4f4f","#e0e1e2","#3f3f3f"],],paletteIndex,colorIndex,colorIndex2M ,grayscale,paletteMode,element,flavour,key,trigger=!1,anim=!1,gridIndex=0,count=0,direction,currentChord=0,nextChord=0,keyArray=["C","D","E","F","G","A","B"],flavours=["major","minor"],fifths=[["C","G","D","A","E","B","F#","Db","Ab","Eb","Bb","F"],["A","E","B","F#","C#","G#","D#","Bb","F","C","G","D"]],midSeq4,mapScale,mixer,stereo,synth2,synth4,synth6,synth3,feedback,reverb5,delay5,delay4,delay2,reverb3,lfo,pingPong,pingPong1,panner,autoPan,FFT,wave,meter,pendulum;function centerCanvas(){var e=(windowWidth-width)/M 2,t=(windowHeight-height)/2;cnv.position(e,t)}function setup(){wdt=windowWidth<windowHeight?windowWidth:windowHeight,wdt-=margin,cnv=createCanvas(wdt,wdt),centerCanvas(),bIndex=1,background(0),center=createVector(width/2,height/2),noFill(),noStroke(),smooth(),strokeWeight(1);let e=int(1990*mathRand());noiseSeed(e),randomSeed(e),noiseDetail(2,1),pixelDensity(displayDensity()),initializeAudio();let t=int(map(mathRand(),0,1,0,flavours.length));flavour=flavours[t];let f=int(map(mathRand(),0,1,0,fifths[t].length));key=fM ifths[t][f],mapScale=(scale=(scale=(scale=(scale=(scale=(scale=(scale=Tonal.Scale.get(key+"1 "+flavour).notes).concat(Tonal.Scale.get(key+"2 "+flavour).notes)).concat(Tonal.Scale.get(key+"3 "+flavour).notes)).concat(Tonal.Scale.get(key+"4 "+flavour).notes)).concat(Tonal.Scale.get(key+"5 "+flavour).notes)).concat(Tonal.Scale.get(key+"6 "+flavour).notes)).concat(Tonal.Scale.get(key+"7 "+flavour).notes)).slice(14,28);for(let i=0;i<mapScale.length;i++){mapScale.length,mapScale[i].length>2?keyFifths.push(mapScale[i].sliM ce(0,2)):keyFifths.push(mapScale[i].slice(0,1));.5>random(1)?currentKey-=1:currentKey+=1}let a=[];for(let $=0;$<keyFifths.length;$++)a.push(fifths[t].indexOf(keyFifths[$]));for(let s=0;s<a.length;s++)-1===a[s]&&(keyFifths.splice(s,1),a.splice(s,1));for(let c=0;c<a.length;c++)a[c]===a[0]-1&&(sequence.push(keyFifths[0]),sequence.push(keyFifths[c])),a[c]===a[0]+1&&sequence.push(keyFifths[c]),a[c]===a[0]+3&&(sequence.push(keyFifths[0]),sequence.push(keyFifths[c])),a[c]===a[0]+2&&sequence.push(keyFifths[c]),a[c]===a[0]+M 4&&sequence.push(keyFifths[c]);for(let n=0;n<15;n++)for(let d=0;d<sequence.length;d++)chordArray.push(generateChord(`${sequence[d]}2`,!0));for(let _=0;_<15;_++)for(let r=0;r<sequence.length;r++)bassChord.push(generateChord(`${sequence[r]}3`,!0));paletteMode=mathRand(),paletteIndexSub=(paletteIndex=2*int(map(mathRand(),0,1,0,50)))+1,paletteIndex3=2*int(map(mathRand(),0,1,0,50)),colorIndex=int(map(mathRand(),0,1,0,palette1[0].length)),colorIndex2=int(map(mathRand(),0,1,0,palette1[0].length)),paletteType=mathRand(),grM ayscale=98===paletteIndex,oscill=mathRand(),oscill2=mathRand(),format=mathRand(),direction=int(map(mathRand(),0,1,0,2)),format<.5?(w=width,h=.4*height):(w=.4*width,h=height),tileWidth=floor(w/sclX)+1,tileHeight=floor(h/sclY)+1,chordNotes=chordArray;for(let b=0;b<=w;b+=tileWidth)for(let o=0;o<=h;o+=tileHeight){let l=gridIndex;points.push(new GridPoint(b-w/2,o-h/2,tileWidth,tileHeight,0,l,0)),gridIndex=(gridIndex+1)%14}let p=map(mathRand(),0,1,.1,.5),u=points;for(let y in points)mathRand()>p?(points[y].subdivide(u,y,M 2),points.splice(y,1),count++):(u.push(points[y]),points.splice(y,1));element=(points=u).length;let g;g=paletteMode<.5?7:3,window.$generativeTraits={Type:"Audio",BPM:"60",Aspect:"Grid",Key:key,Flavour:flavour,Elements:element,Subdivision:count,Palette:g,Grayscale:grayscale,Property:"Object"}}function initializeAudio(){Tone.Transport.bpm.value=60,(mixer=new Tone.Gain).toDestination(),FFT=new Tone.FFT(64),Tone.Master.connect(FFT),wave=new Tone.Waveform,(pendulum=new Tone.LFO(.05)).start(),(meter=new Tone.Meter).normaM lRange=!0,pendulum.connect(meter),panner=new Tone.Panner(0).chain(mixer);let e=new Tone.Chorus({frequency:.83,depth:.7,wet:.85}),t=new Tone.Reverb({decay:3/4,wet:.5});t.generate();let f=new Tone.FeedbackDelay({delayTime:3/8,feedback:.32,wet:.36});(pingPong=new Tone.PingPongDelay(3/4,.5).toDestination()).set({wet:.3});let i=new Tone.Filter(2250,"lowpass",-24),a=new Tone.Filter(320,"highpass",-48);new Tone.LFO(1,250,2250).connect(i.frequency).start();let $=new Tone.FeedbackDelay({delayTime:.005,feedback:.1,wet:.33});M new Tone.LFO(1,-1,1).connect(panner.pan).start(),(synth4=new Tone.PolySynth(Tone.FMSynth).chain(e,f,t,pingPong,i,a,$,mixer)).set({harmonicity:3,modulationIndex:3,oscillator:{type:"sine"},envelope:{attack:2e-4,decay:.1,sustain:.08,release:.03},modulation:{type:"sine"},modulationEnvelope:{attack:4e-4,decay:.1,sustain:.09,release:.01},filterEnvelope:{attack:2e-4,decay:.2,sustain:.5,release:.4,baseFrequency:200,octaves:2.6},volume:-16}),delay5=new Tone.FeedbackDelay({delayTime:3/8,feedback:.3,wet:.2});let s=new Tone.ReM verb({decay:3/16,wet:.25});s.generate();let c=new Tone.Filter(2250,"lowpass",-24);(synth6=new Tone.PolySynth(Tone.Synth).chain(delay5,s,pingPong,c,mixer)).set({harmonicity:3,modulationIndex:3,detune:0,oscillator:{pitch:7,type:"sine"},envelope:{attack:1,decay:.1,sustain:.02,release:.03},modulation:{type:"sine"},modulationEnvelope:{attack:1.5,decay:.1,sustain:.02,release:.06},filterEnvelope:{attack:2,decay:.2,sustain:.5,release:.4,baseFrequency:200,octaves:2.6},volume:-24}),synth6.connect(wave),Tone.Transport.schedulM eRepeat(()=>{pingPong.set({delayTime:random([3/4,3/16,3/8,.25])}),pingPong.set({wet:random([0,.1,.5])}),f.set({delayTime:random([3/8,.25])}),delay5.set({delayTime:random([3/8,.25])})},"2m")}function draw(){background(0,20),translate(center.x,center.y);let e=.5-meter.getValue(0),t=wave.getValue(0),f=FFT.getValue(0),i=map(e,-.5,.5,-PI,PI);for(let a=0;a<points.length;a++)points[a].r=points[a].r3,points[a].move(),points[a].animate(a,i,f),points[a].render(),points[a].display(a,t,f),points[a].start+=.1,points[a].offset+=M .006;anim&&(start+=.02),trigger&&(playChord(),Tone.Transport.start(),trigger=!1)}function playChord(){Tone.Transport.schedule(bounceChord,"1"),Tone.Transport.start()}function bounceChord(){currentChord=nextChord,Promise.all([playSynthChord(chordNotes[currentChord],12,12),playStringChord(bassChord[currentChord],6,6),]).then(e=>{int(random(2));let t=int(random(6,18))+"m";!function f(i){let a=e[0],$=e[1];new Tone.BufferSource({url:a,playbackRate:.125}).toDestination().start(i),new Tone.BufferSource({url:$,playbackRateM :.125}).toDestination().start(i),Tone.Transport.scheduleOnce(f,"+"+t)}(Tone.now())}),Tone.Transport.start(),nextChord<chordNotes.length-1?nextChord+=1:nextChord=0,Tone.Transport.schedule(bounceChord,"+2m")}function playSynthChord(e,t,f){let i=Tone.Time(t).toSeconds(),a=Tone.Time(f).toSeconds();return Tone.Offline(()=>{synth6.triggerAttackRelease(e,i)},i+a)}function playStringChord(e,t,f){let i=Tone.Time(t).toSeconds(),a=Tone.Time(f).toSeconds();return Tone.Offline(()=>{synth4.triggerAttackRelease(e,i)},i+a)}functioM n voicing(e,t){let f=scale.indexOf(e)+t-1,i;if(void 0!==scale[f])i=scale[f];else if(3===(i=scale[f-7]).length)parseInt(i.slice(2));else{let a=parseInt(i.slice(1))+1;i=`${i.slice(0,1)}${a}`}return i}const getNextChordNote=(e,t)=>{let f=scale.indexOf(e)+t-1,i;if(void 0!==scale[f])i=scale[f];else if(3===(i=scale[f-7]).length)parseInt(i.slice(2));else{let a=parseInt(i.slice(1))+1;i=`${i.slice(0,1)}${a}`}return i};function generateChord(e,t){let f=1,i=1,a=1,$=1,s=1,c=1,n=1;t?(f=generateIndice1(),i=generateIndice1(),a=geM nerateIndice1(),$=generateIndice1(),s=generateIndice(),c=generateIndice2(),n=generateIndice2()):(f=1,i=1,a=1,$=1,s=1,c=1,n=1);let d=voicing(e,f),_=voicing(getNextChordNote(e,3),i),r=voicing(getNextChordNote(e,5),a),b=voicing(getNextChordNote(e,7),$),o=voicing(getNextChordNote(e,9),s);return voicing(getNextChordNote(e,11),c),voicing(getNextChordNote(e,13),n),[d,_,r,b,o]}function generateIndice(){let e=int(map(mathRand(),0,1,0,3));return 0===e?-8:1===e?1:2===e?8:void 0}function generateIndice1(){return mathRand()>.5?M 1:8}function generateIndice2(){return mathRand()>.5?-8:1}class GridPoint{constructor(e,t,f,i,a,$,s){int(map(e+t,-width/2+-height/2,width/2+height/2,0,sclX+sclY)),int(map(t,-height/2,height/2,0,4)),this.x=e,this.y=t,this.w=f,this.c2=f,this.wx=e,this.hy=t,this.ws=f,this.hs=i,this.h=i,this.r=f,this.r2=f,this.r3=f,this.mv=0,this.theta=0,this.centerX=this.x+this.w/2,this.centerY=this.y+this.h/2,this.c=int(map(mathRand(),0,1,0,3)),this.paletteIndex2=int(map(dist(this.centerX,this.centerY,0,0),0,500,0,palette1[0].length))M ,this.randForm=int(map(mathRand(),0,1,0,5)),this.randIndex=paletteMode<.5?int(map(mathRand(),0,1,0,palette1[0].length)):paletteIndex2,this.randIndex2=int(map(mathRand(),0,1,0,palette1[0].length)),this.randIndex3=int(map(mathRand(),0,1,0,palette1[0].length)),this.randIndex4=int(map(mathRand(),0,1,0,palette1[0].length)),this.start=0,this.alpha=255,this.pIndex=paletteIndex,this.pi=paletteIndex3,this.rt=map(mathRand(),0,1,PI/6,PI/3),this.incr,this.rst=random(0,TAU),this.rst2=random(0,TAU),this.rad=0,this.sub=s,this.offM set=20*mathRand(),this.offset2=0,this.div=int(map(mathRand(),0,1,10,30)),this.strk=1,this.isOn=a,this.note=$,this.init(),paletteIndex2=(paletteIndex2+1)%3}subdivide(e,t,f){let i=this.w/f,a=this.h/f,$=this.sub+1,s=this.note+7;e.push(new GridPoint(this.x,this.y,i,a,this.isOn,s,$),new GridPoint(this.x+i,this.y,i,a,this.isOn,s,$),new GridPoint(this.x,this.y+a,i,a,this.isOn,s,$),new GridPoint(this.x+i,this.y+a,i,a,this.isOn,s,$))}move(){if(0<=this.t&&this.t<this.t1){let e=norm(this.t,0,this.t1-1);this.mv=lerp(0,TAU,easeM OutQuint(e)),this.rad=lerp(0,this.w/4,easeOutQuint(e))}this.t1<this.t&&this.init(),this.t++}init(){this.t=-int(random(map(speed,1,5,500,100))),this.t1=map(speed,1,5,220,60)}animate(e,t,f){this.theta=t+e*PI/4;let i=int(map(this.x,-width/2,width/2,0,f.length)),a=f[i];a=a===-1/0?0:f[i],this.incr=map(a,0,-100,0,.2),this.i=map(e,0,points.length,0,TWO_PI),this.xoff=map(cos(this.i),-1,1,0,3),this.yoff=map(sin(this.i),-1,1,0,3),this.n=noise(this.xoff+this.offset+this.incr,this.yoff+this.offset+this.incr),this.n4=noise(thisM .xoff+50,this.yoff+50),this.n5=noise(this.xoff+50+start,this.yoff+50+start),this.n6=noise(this.offset,this.offset),this.angle=noise(this.xoff+this.offset,this.yoff+this.offset)*TAU*4,this.xa=this.x,this.ya=this.y*sin(map(this.n,0,1,0,TAU)),this.xb=this.x*sin(this.mv),this.r=map(this.n,0,1,this.w/2,this.w),this.r3=map(this.n,0,1,this.w/2,this.w),this.r2=map(this.n,0,1,0,5),this.alpha=map(this.n5,0,1,120,180),this.delay=int(map(this.n4,0,1,2,1))}render(){strokeWeight(.1);fill(color(palette1[this.pIndex][this.randIndeM x])),circle(this.x,this.ya,this.r2),circle(this.x+this.w,this.ya,this.r2),circle(this.x,this.ya+this.h,this.r2),circle(this.x+this.w,this.ya+this.h,this.r2)}display(e,t,f){if(0===direction)for(let i=this.ya;i<=this.ya+this.h;i+=2){beginShape();for(let a=this.xa;a<=this.xa+this.w;a+=5){let $=int(map(this.ya*this.xa,(this.ya+this.h)*(this.xa+this.w),0,f.length)),s=f[$];s=s===-1/0?0:f[$],this.incr2=map(s,0,-100,0,6),this.n3=noise(this.incr2,this.incr2),this.n2=noise(this.xoff+this.offset2+this.incr2,this.yoff+this.offM set2+this.incr2),this.n4=map(this.n3,0,1,.9,1.1),this.z=oscill<.5?map(this.n2,0,1,.9,1.1):1;let c=int(map(this.n2,0,1,0,255));int(map(this.n2,0,1,0,palette1[0].length));let n=map(i,this.y,this.y+this.h,0,1),d,_=color(palette1[this.pIndex][this.randIndex]),r=color(palette1[this.pIndex+1][this.randIndex]);(d=lerpColor(_,r,n)).setAlpha(c),noFill(),stroke(d),strokeWeight(.5),vertex(a,i*this.z),this.offset2+=.1}endShape()}else if(1===direction)for(let b=this.xa;b<=this.xa+this.w;b+=2){beginShape();for(let o=this.ya;o<=tM his.ya+this.h;o+=5){let l=int(map(e,points.length,0,f.length)),p=f[l];p=p===-1/0?0:f[l],this.incr2=map(p,0,-100,0,3),this.n3=noise(this.incr2,this.incr2),this.n2=noise(this.xoff+this.offset2+this.incr2,this.yoff+this.offset2+this.incr2),this.n4=map(this.n3,0,1,.9,1.1),this.z=oscill<.5?map(this.n2,0,1,.9,1.1):1,this.z2=oscill2<.5?map(this.n2,0,1,.999,1.009):1;let u=int(map(this.n2,0,1,0,255));int(map(this.n2,0,1,0,palette1[0].length));let y=map(o,this.y,this.y+this.h,0,1),g,x=color(palette1[this.pIndex][this.randIndM ex]),m=color(palette1[this.pIndex+1][this.randIndex]);(g=lerpColor(x,m,y)).setAlpha(u),noFill(),stroke(g),strokeWeight(.5),vertex(b*this.z2,o*this.z),this.offset2+=.1}endShape()}if(0===this.c);else if(1===this.c){strokeWeight(.5);let v=0;for(let I=1;I<t.length;I++)if(t[I-1]<0&&t[I]>=0){v=I;break}let k=v+t.length/2,F=100*this.h;for(let C=v;C<=k;C++){let S=map(C-1,v,k,this.xb,this.xb+this.w),T=map(t[C-1],-12,12,this.y-F,this.y+F+this.h),P=map(C,v,k,this.xb,this.xb+this.w),q=map(t[C],-12,12,this.y-F,this.y+F+this.h);lM ine(S,T,P,q)}}}}function mapNote(e,t){let f=t.length,i=t[modulo(e,f)],a=Tonal.Note.octave(t[0])+floor(e/f);return Tonal.Note.pitchClass(i)+a}function modulo(e,t){return(e%t+t)%t}function easeOutQuint(e){return 1+--e*e*e*e*e}function windowResized(){centerCanvas()}function keyTyped(){return"p"===key&&saveCanvas("liquidentropy","jpg"),!1}function touchStarted(){return Tone.start(),anim||(trigger=!0,Tone.Transport.start()),anim=!0,3===touches.length&&saveCanvas("liquidentropy","jpg"),!1}function mousePressed(){return M Tone.start(),anim||(trigger=!0,Tone.Transport.start()),anim=!0,!1} <script id="snippet-random-code" type="text/javascript"> // DO NOT EDIT THIS SECTION let seed = window.location.href.split('/').find(t => t.includes('i0')); if (seed == null) { const alphabet = "0123456789abcdefghijklmnopqrstuvwsyz"; seed = new URLSearchParams(window.location.search).get("seed") || Array(64).fill(0).map(_ => alphabet[(Math.random() * alphabet.length) | 0]).join('M let pattern = "seed="; for (let i = 0; i < seed.length - pattern.length; ++i) { if (seed.substring(i, i + pattern.length) == pattern) { seed = seed.substring(i + pattern.length); break; function cyrb128($) { let _ = 1779033703, u = 3144134277, i = 1013904242, l = 2773480762; for (let n = 0, r; n < $.length; n++) _ = u ^ Math.imul(_ ^ (M r = $.charCodeAt(n)), 597399067), u = i ^ Math.imul(u ^ r, 2869860233), i = l ^ Math.imul(i ^ r, 951274213), l = _ ^ Math.imul(l ^ r, 2716044179); return _ = Math.imul(i ^ _ >>> 18, 597399067), u = Math.imul(l ^ u >>> 22, 2869860233), i = Math.imul(_ ^ i >>> 17, 951274213), l = Math.imul(u ^ l >>> 19, 2716044179), [(_ ^ u ^ i ^ l) >>> 0, (u ^ _) >>> 0, (i ^ _) >>> 0, (l ^ _) >>> 0] function sfc32($, _, u, i) { return function () { u >>>= 0, i >>>= 0; var l = ($ >>>= 0) + (_ >>>= 0) | 0; return $ = _ ^ _ >>> 9, _ = u + (u << 3) | 0, u = (u = u << 21 | u >>> 11) + (l = l + (i = i + 1 | 0) | 0) | 0, (l >>> 0) / 4294967296 // IMPORTANT: Instead of Math.random(), use this function mathRand() for random number generation. // This function generates a random number between 0 and 1 with on-chain seed. let mathRand = sfc32(...cyrb128(seed)); background-color: #000000; margin: 0px; overflow: hidden; width: 100%; height: 100%; <script type="text/javascript"> text/html;charset=utf-8 <meta charset="UTF-8"> <title>A simple template for launching your art on Bitcoin</title> <script sandbox="allow-scripts" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.min.js"></script> <script sandbox="allow-scripts" type=