Content-addressed version deploy system for Diffuse elements.diffuse.sh

chore: deploy 4.0.0-alpha update

+4811 -2
+5
artifacts/artifacts.json
··· 203 203 "cid": "bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu", 204 204 "createdAt": "2026-03-01T10:15:55.972Z", 205 205 "version": "4.0.0-alpha" 206 + }, 207 + "bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray": { 208 + "cid": "bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray", 209 + "createdAt": "2026-03-01T13:51:12.415Z", 210 + "version": "4.0.0-alpha" 206 211 } 207 212 }
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/APEv2Parser-JBT6ZPPL.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/APEv2Parser-JBT6ZPPL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/APEv2Parser-JBT6ZPPL.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/APEv2Parser-JBT6ZPPL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AiffParser-7J3JIU4R.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AiffParser-7J3JIU4R.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AiffParser-7J3JIU4R.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AiffParser-7J3JIU4R.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AsfParser-K6K2MCFT.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AsfParser-K6K2MCFT.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/AsfParser-K6K2MCFT.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/AsfParser-K6K2MCFT.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsdiffParser-RX5L67QC.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsdiffParser-RX5L67QC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsdiffParser-RX5L67QC.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsdiffParser-RX5L67QC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsfParser-SEGRVUZ3.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsfParser-SEGRVUZ3.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/DsfParser-SEGRVUZ3.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/DsfParser-SEGRVUZ3.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/FlacParser-JAF54BZM.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/FlacParser-JAF54BZM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/FlacParser-JAF54BZM.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/FlacParser-JAF54BZM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MP4Parser-TI5DETOV.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MP4Parser-TI5DETOV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MP4Parser-TI5DETOV.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MP4Parser-TI5DETOV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MatroskaParser-2BD5GINE.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MatroskaParser-2BD5GINE.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/MatroskaParser-2BD5GINE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MpegParser-BNW6GDHZ.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MpegParser-BNW6GDHZ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MpegParser-BNW6GDHZ.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MpegParser-BNW6GDHZ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MusepackParser-AOTNNUS6.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MusepackParser-AOTNNUS6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/MusepackParser-AOTNNUS6.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/MusepackParser-AOTNNUS6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/OggParser-UNPX7QR4.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/OggParser-UNPX7QR4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/OggParser-UNPX7QR4.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/OggParser-UNPX7QR4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WavPackParser-BRAHRFOP.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WavPackParser-BRAHRFOP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WavPackParser-BRAHRFOP.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WavPackParser-BRAHRFOP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WaveParser-EPX6CXTY.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WaveParser-EPX6CXTY.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/WaveParser-EPX6CXTY.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/WaveParser-EPX6CXTY.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/android-chrome-192x192.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-192x192.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/android-chrome-512x512.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/android-chrome-512x512.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/apple-touch-icon.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/apple-touch-icon.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/browserconfig.xml
··· 1 + ../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/browserconfig.xml
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-242LG3VP.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-242LG3VP.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-242LG3VP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-26GILFF4.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-26GILFF4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-26GILFF4.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-26GILFF4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-2E662X3X.js
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-2E662X3X.js.map
··· 1 + ../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/chunk-2E662X3X.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3AO35WC3.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3AO35WC3.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3AO35WC3.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3AO35WC3.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3CXPPL5Z.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3CXPPL5Z.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-3CXPPL5Z.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3ENCKNXO.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3ENCKNXO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3ENCKNXO.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3ENCKNXO.js.map
+705
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3HY7HXXJ.js
··· 1 + import { 2 + NAME as NAME2 3 + } from "./chunk-BLEJHIYA.js"; 4 + import { 5 + NAME as NAME3 6 + } from "./chunk-IGKYDHDK.js"; 7 + import { 8 + NAME 9 + } from "./chunk-GASLBSUN.js"; 10 + import { 11 + A, 12 + DiffuseElement, 13 + query 14 + } from "./chunk-V7EQPFPD.js"; 15 + import { 16 + signal 17 + } from "./chunk-HNJPKCUJ.js"; 18 + import { 19 + __name, 20 + init_Buffer, 21 + init_process 22 + } from "./chunk-FZQXS3RE.js"; 23 + 24 + // themes/webamp/configurators/output/element.js 25 + init_Buffer(); 26 + init_process(); 27 + var OutputConfig = class extends DiffuseElement { 28 + static { 29 + __name(this, "OutputConfig"); 30 + } 31 + constructor() { 32 + super(); 33 + this.attachShadow({ mode: "open" }); 34 + } 35 + // SIGNALS 36 + $output = signal( 37 + /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements> | undefined} */ 38 + void 0 39 + ); 40 + $atproto = signal( 41 + /** @type {ATProtoOutputElement | null} */ 42 + null 43 + ); 44 + $atprotoPasskey = signal( 45 + /** @type {TrackUriPasskeyTransformer | null} */ 46 + null 47 + ); 48 + $s3 = signal( 49 + /** @type {S3OutputElement | null} */ 50 + null 51 + ); 52 + $atprotoError = signal( 53 + /** @type {string | null} */ 54 + null 55 + ); 56 + $passkeyError = signal( 57 + /** @type {string | null} */ 58 + null 59 + ); 60 + $passkeyWorking = signal(false); 61 + $tab = signal("overview"); 62 + // LIFECYCLE 63 + /** @override */ 64 + async connectedCallback() { 65 + super.connectedCallback(); 66 + const output = query(this, "output-selector"); 67 + await customElements.whenDefined(output.localName); 68 + this.$output.value = output; 69 + const atproto = output.root().querySelector(NAME); 70 + if (atproto) { 71 + this.$atproto.value = /** @type {ATProtoOutputElement} */ 72 + atproto; 73 + } 74 + const atprotoPasskey = output.root().querySelector( 75 + `${NAME2}[namespace="atproto"]` 76 + ); 77 + if (atprotoPasskey) { 78 + await customElements.whenDefined(NAME2); 79 + this.$atprotoPasskey.value = /** @type {TrackUriPasskeyTransformer} */ 80 + atprotoPasskey; 81 + } 82 + const s3 = output.root().querySelector(NAME3); 83 + if (s3) { 84 + this.$s3.value = /** @type {S3OutputElement} */ 85 + s3; 86 + } 87 + } 88 + // EVENTS 89 + /** @param {Event} event */ 90 + #handleAtprotoLogin = /* @__PURE__ */ __name(async (event) => { 91 + event.preventDefault(); 92 + const input = this.root().querySelector("#atproto-handle"); 93 + const handle = input?.value?.trim(); 94 + if (!handle) return; 95 + const atproto = this.$atproto.value; 96 + if (!atproto) return; 97 + const button = this.root().querySelector("#atproto-submit"); 98 + if (button) { 99 + button.disabled = true; 100 + button.textContent = "Loading ..."; 101 + } 102 + this.$atprotoError.value = null; 103 + try { 104 + await atproto.login(handle); 105 + } catch (err) { 106 + this.$atprotoError.value = err instanceof Error ? err.message : "login failed"; 107 + if (button) { 108 + button.disabled = false; 109 + button.textContent = "Sign in"; 110 + } 111 + } 112 + }, "#handleAtprotoLogin"); 113 + #handleAtprotoLogout = /* @__PURE__ */ __name(async () => { 114 + const atproto = this.$atproto.value; 115 + if (!atproto) return; 116 + await atproto.logout(); 117 + }, "#handleAtprotoLogout"); 118 + #handlePasskeySetup = /* @__PURE__ */ __name(async () => { 119 + const passkey = this.$atprotoPasskey.value; 120 + if (!passkey) return; 121 + this.$passkeyError.value = null; 122 + this.$passkeyWorking.value = true; 123 + try { 124 + await passkey.setupPasskey(); 125 + } catch (err) { 126 + this.$passkeyError.value = err instanceof Error ? err.message : "Passkey setup failed"; 127 + } finally { 128 + this.$passkeyWorking.value = false; 129 + } 130 + }, "#handlePasskeySetup"); 131 + #handlePasskeyAdopt = /* @__PURE__ */ __name(async () => { 132 + const passkey = this.$atprotoPasskey.value; 133 + if (!passkey) return; 134 + this.$passkeyError.value = null; 135 + this.$passkeyWorking.value = true; 136 + try { 137 + await passkey.adoptPasskey(); 138 + } catch (err) { 139 + this.$passkeyError.value = err instanceof Error ? err.message : "Passkey adoption failed"; 140 + } finally { 141 + this.$passkeyWorking.value = false; 142 + } 143 + }, "#handlePasskeyAdopt"); 144 + #handlePasskeyRemove = /* @__PURE__ */ __name(async () => { 145 + const passkey = this.$atprotoPasskey.value; 146 + if (!passkey) return; 147 + this.$passkeyError.value = null; 148 + await passkey.removePasskey(); 149 + }, "#handlePasskeyRemove"); 150 + /** @param {Event} event */ 151 + #handleAtprotoActivate = /* @__PURE__ */ __name(async (event) => { 152 + event.preventDefault(); 153 + const output = this.$output.value; 154 + if (!output || !("select" in output)) return; 155 + const atproto = this.$atproto.value; 156 + if (!atproto) return; 157 + const option = (await output.options()).find( 158 + (o) => o.label === "AT Protocol" 159 + ); 160 + if (option) await output.select(option.id); 161 + }, "#handleAtprotoActivate"); 162 + /** 163 + * @param {Event} event 164 + */ 165 + #handleS3SetBucket = /* @__PURE__ */ __name(async (event) => { 166 + event.preventDefault(); 167 + const s3 = this.$s3.value; 168 + if (!s3) return; 169 + const button = this.root().querySelector("#s3-submit"); 170 + if (button) button.disabled = true; 171 + const accessKey = ( 172 + /** @type {HTMLInputElement | null} */ 173 + this.root().querySelector( 174 + "#s3-access-key" 175 + )?.value 176 + ); 177 + const bucketName = ( 178 + /** @type {HTMLInputElement | null} */ 179 + this.root().querySelector( 180 + "#s3-bucket-name" 181 + )?.value 182 + ); 183 + const host = ( 184 + /** @type {HTMLInputElement | null} */ 185 + this.root().querySelector( 186 + "#s3-host" 187 + )?.value 188 + ); 189 + const path = ( 190 + /** @type {HTMLInputElement | null} */ 191 + this.root().querySelector( 192 + "#s3-path" 193 + )?.value 194 + ); 195 + const region = ( 196 + /** @type {HTMLInputElement | null} */ 197 + this.root().querySelector( 198 + "#s3-region" 199 + )?.value 200 + ); 201 + const secretKey = ( 202 + /** @type {HTMLInputElement | null} */ 203 + this.root().querySelector( 204 + "#s3-secret-key" 205 + )?.value 206 + ); 207 + if (!accessKey || !bucketName || !secretKey) return; 208 + const bucket = { 209 + accessKey, 210 + bucketName, 211 + host: host?.length ? host.replace(/^\w+:\/\//, "") : "s3.amazonaws.com", 212 + path: path?.length ? path : "/", 213 + region: region?.length ? region : "us-east-1", 214 + secretKey 215 + }; 216 + await s3.setBucket(bucket); 217 + if (button) button.disabled = false; 218 + }, "#handleS3SetBucket"); 219 + #handleS3Unset = /* @__PURE__ */ __name(async () => { 220 + const s3 = this.$s3.value; 221 + if (!s3) return; 222 + await s3.unsetBucket(); 223 + }, "#handleS3Unset"); 224 + /** @param {Event} event */ 225 + #handleS3Activate = /* @__PURE__ */ __name(async (event) => { 226 + event.preventDefault(); 227 + const output = this.$output.value; 228 + if (!output || !("select" in output)) return; 229 + const s3 = this.$s3.value; 230 + if (!s3) return; 231 + const option = (await output.options()).find((o) => o.label === "S3"); 232 + if (option) await output.select(option.id); 233 + }, "#handleS3Activate"); 234 + #handleDeactivate = /* @__PURE__ */ __name(async () => { 235 + const output = this.$output.value; 236 + if (!output || !("deselect" in output)) return; 237 + await output.deselect(); 238 + }, "#handleDeactivate"); 239 + // RENDER 240 + /** 241 + * @param {RenderArg} _ 242 + */ 243 + render({ html }) { 244 + return html` 245 + <link rel="stylesheet" href="styles/vendor/98.css" /> 246 + <link rel="stylesheet" href="themes/webamp/98-extra.css" /> 247 + 248 + <style> 249 + @import "./themes/webamp/98-vars.css"; 250 + 251 + .button-row { 252 + display: inline-flex; 253 + gap: var(--grouped-button-spacing); 254 + } 255 + 256 + #tabbed { 257 + display: flex; 258 + flex-direction: column; 259 + height: 100%; 260 + } 261 + 262 + .window { 263 + flex: 1; 264 + overflow-y: auto; 265 + } 266 + 267 + /* TABS */ 268 + 269 + menu[role="tablist"] { 270 + padding-top: 2px; 271 + 272 + li > label { 273 + cursor: pointer; 274 + display: block; 275 + padding: var(--radio-label-spacing); 276 + } 277 + 278 + li[aria-selected="true"] { 279 + padding-bottom: 2px; 280 + margin-top: -2px; 281 + background-color: var(--surface); 282 + position: relative; 283 + z-index: 8; 284 + margin-left: -3px; 285 + } 286 + } 287 + </style> 288 + 289 + <div id="tabbed"> 290 + <menu role="tablist" class="multirows"> 291 + <li role="tab" aria-selected="${this.$tab.value === "overview"}"> 292 + <label @click="${() => this.$tab.value = "overview"}"> 293 + <span>Overview</span> 294 + </label> 295 + </li> 296 + <li role="tab" aria-selected="${this.$tab.value === "atproto"}"> 297 + <label @click="${() => this.$tab.value = "atproto"}"> 298 + <span>AT Protocol</span> 299 + </label> 300 + </li> 301 + <li role="tab" aria-selected="${this.$tab.value === "s3"}"> 302 + <label @click="${() => this.$tab.value = "s3"}"> 303 + <span>S3</span> 304 + </label> 305 + </li> 306 + </menu> 307 + 308 + <div class="window" role="tabpanel"> 309 + ${this.#renderTab(html)} 310 + </div> 311 + </div> 312 + `; 313 + } 314 + /** 315 + * @param {RenderArg["html"]} html 316 + */ 317 + #renderTab(html) { 318 + switch (this.$tab.value) { 319 + case "overview": 320 + return this.#renderOverviewTab(html); 321 + case "atproto": 322 + return this.#renderAtprotoTab(html); 323 + case "s3": 324 + return this.#renderS3Tab(html); 325 + default: 326 + return A; 327 + } 328 + } 329 + /** 330 + * @param {RenderArg["html"]} html 331 + */ 332 + #renderOverviewTab(html) { 333 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 334 + return html` 335 + <div class="window-body"> 336 + <fieldset> 337 + <span class="with-icon with-icon--large"> 338 + <img 339 + src="images/icons/windows_98/computer_user_pencil-0.png" 340 + width="24" 341 + /> 342 + <span>Here you can configure where to keep your user data.<br />Each 343 + storage method comes with its pros and cons.<br />By default your data 344 + is only kept locally here in the browser. 345 + </span> 346 + </span> 347 + </fieldset> 348 + 349 + <fieldset> 350 + <span class="with-icon with-icon--large"> 351 + <img 352 + src="images/icons/windows_98/msg_information-0.png" 353 + width="24" 354 + /> 355 + <span> 356 + Data does not transfer across storage methods!<br />You can however 357 + merge data between them though, if you wish to do so. 358 + </span> 359 + </span> 360 + </fieldset> 361 + 362 + <fieldset> 363 + <legend>Active storage method</legend> 364 + <div class="with-icon with-icon--large"> 365 + <img 366 + src="images/icons/windows_98/${selectedOutput ? `directory_channels-2.png` : `msg_warning-0.png`}" 367 + width="24" 368 + /> 369 + <div> 370 + ${this.$output.value && "selected" in this.$output.value ? selectedOutput ? html` 371 + <p> 372 + Selected output: 373 + <strong>${selectedOutput.label}</strong><br /> 374 + </p> 375 + <p> 376 + <button @click="${this.#handleDeactivate}">Deactivate</button> 377 + </p> 378 + ` : this.#defaultOutputMessage : this.#defaultOutputMessage} 379 + </div> 380 + </div> 381 + </fieldset> 382 + </div> 383 + `; 384 + } 385 + /** 386 + * @param {RenderArg["html"]} html 387 + */ 388 + #renderAtprotoTab(html) { 389 + const did = this.$atproto.value?.did() ?? null; 390 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 391 + const authenticated = /* @__PURE__ */ __name(() => { 392 + return html` 393 + <fieldset> 394 + <span class="with-icon with-icon--large"> 395 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 396 + <span>Signed in as <strong>${did}</strong></span> 397 + </span> 398 + </fieldset> 399 + 400 + ${this.#renderPasskeySection(html)} 401 + 402 + <p class="button-row"> 403 + <button @click="${this.#handleAtprotoLogout}">Sign out</button> 404 + ${this.#renderAtprotoActivation(html, selectedOutput)} 405 + </p> 406 + `; 407 + }, "authenticated"); 408 + const unauthenticated = /* @__PURE__ */ __name(() => { 409 + return html` 410 + <fieldset> 411 + <span class="with-icon with-icon--large"> 412 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 413 + <span> 414 + Store your user data on the storage associated with your AT Protocol 415 + identity. 416 + </span> 417 + </span> 418 + </fieldset> 419 + 420 + <fieldset> 421 + <form @submit="${this.#handleAtprotoLogin}" class="field-row"> 422 + <label for="atproto-handle">Your internet handle:</label> 423 + <input 424 + id="atproto-handle" 425 + type="text" 426 + required 427 + placeholder="you.bsky.social" 428 + /> 429 + </form> 430 + </fieldset> 431 + 432 + ${this.$atprotoError.value ? html` 433 + <fieldset> 434 + <span class="with-icon with-icon--large"> 435 + <img src="images/icons/windows_98/msg_error-0.png" width="24" /> 436 + <span> 437 + Sign in failed, please check the provided handle and try again. 438 + </span> 439 + </span> 440 + </fieldset> 441 + ` : A} ${this.#renderPasskeySection(html)} 442 + 443 + <p> 444 + <button @click="${this.#handleAtprotoLogin}" id="atproto-submit">Sign in</button> 445 + ${this.#renderAtprotoActivation(html, selectedOutput)} 446 + </p> 447 + `; 448 + }, "unauthenticated"); 449 + return html` 450 + <div class="window-body"> 451 + ${did ? authenticated() : unauthenticated()} 452 + </div> 453 + `; 454 + } 455 + /** 456 + * @param {RenderArg["html"]} html 457 + */ 458 + #renderS3Tab(html) { 459 + const s3 = this.$s3.value; 460 + const ready = s3?.ready() ?? false; 461 + const selectedOutput = this.$output.value && "selected" in this.$output.value ? this.$output.value.selected() : void 0; 462 + const configured = /* @__PURE__ */ __name(() => { 463 + const bucket = s3?.bucket(); 464 + return html` 465 + <fieldset> 466 + <div class="with-icon with-icon--large"> 467 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 468 + <div> 469 + Bucket configured: 470 + <ul 471 + style="margin-bottom: 0; padding-left: 0; list-style-position: inside;" 472 + > 473 + <li>Name: <strong>${bucket?.bucketName}</strong></li> 474 + <li>Host: ${bucket?.host}</li> 475 + <li>Access key: ${bucket?.accessKey}</li> 476 + </ul> 477 + </div> 478 + </div> 479 + </fieldset> 480 + 481 + <fieldset> 482 + <span class="with-icon with-icon--large"> 483 + <img 484 + src="images/icons/windows_98/msg_information-0.png" 485 + width="24" 486 + /> 487 + <span> 488 + Make sure the bucket has CORS configured properly. 489 + </span> 490 + </span> 491 + </fieldset> 492 + 493 + <p class="button-row"> 494 + <button id="s3-unset-bucket" @click="${this.#handleS3Unset}"> 495 + Remove bucket configuration 496 + </button> 497 + ${this.#renderS3Activation(html, selectedOutput)} 498 + </p> 499 + `; 500 + }, "configured"); 501 + const unconfigured = /* @__PURE__ */ __name(() => { 502 + return html` 503 + <fieldset> 504 + <span class="with-icon with-icon--large"> 505 + <img src="images/icons/windows_98/computer_user_pencil-0.png" width="24" /> 506 + <span> 507 + Store your user data on an S3-compatible storage service. 508 + </span> 509 + </span> 510 + </fieldset> 511 + 512 + <form @submit="${this.#handleS3SetBucket}"> 513 + <fieldset> 514 + <legend>Bucket details</legend> 515 + 516 + <div class="field-row"> 517 + <label for="s3-access-key">Access Key:*</label> 518 + <input type="text" id="s3-access-key" required /> 519 + </div> 520 + 521 + <div class="field-row"> 522 + <label for="s3-secret-key">Secret Key:*</label> 523 + <input type="password" id="s3-secret-key" required /> 524 + </div> 525 + 526 + <div class="field-row"> 527 + <label for="s3-bucket-name">Bucket Name:*</label> 528 + <input type="text" id="s3-bucket-name" required /> 529 + </div> 530 + 531 + <div class="field-row"> 532 + <label for="s3-host">Host:</label> 533 + <input 534 + type="text" 535 + id="s3-host" 536 + placeholder="s3.amazonaws.com" 537 + /> 538 + </div> 539 + 540 + <div class="field-row"> 541 + <label for="s3-region">Region:</label> 542 + <input 543 + type="text" 544 + id="s3-region" 545 + placeholder="us-east-1" 546 + /> 547 + </div> 548 + 549 + <div class="field-row"> 550 + <label for="s3-path">Path:</label> 551 + <input type="text" id="s3-path" /> 552 + </div> 553 + 554 + <p> 555 + * are required fields. 556 + </p> 557 + </fieldset> 558 + 559 + <p> 560 + <button type="submit" id="s3-submit">Set bucket</button> 561 + ${this.#renderS3Activation(html, selectedOutput)} 562 + </p> 563 + </form> 564 + `; 565 + }, "unconfigured"); 566 + return html` 567 + <div class="window-body"> 568 + ${ready ? configured() : unconfigured()} 569 + </div> 570 + `; 571 + } 572 + /** 573 + * @param {RenderArg["html"]} html 574 + */ 575 + #renderPasskeySection(html) { 576 + const passkey = this.$atprotoPasskey.value; 577 + if (!passkey) return A; 578 + const passkeyActive = passkey.passkeyActive() ?? false; 579 + const lockedTracksCount = passkey.lockedTracks().length ?? 0; 580 + return html` 581 + <fieldset> 582 + <legend>Passkey encryption (optional)</legend> 583 + 584 + <div class="with-icon with-icon--large"> 585 + <img src="images/icons/windows_98/keys-5.png" width="24" /> 586 + 587 + <div> 588 + ${passkeyActive ? html` 589 + <p class="with-icon with-icon--large"> 590 + <input type="checkbox" checked /> 591 + <label>Passkey active — Track URIs are encrypted</label> 592 + </p> 593 + 594 + ${this.$passkeyError.value ? html` 595 + <fieldset> 596 + <span class="with-icon with-icon--large"> 597 + <img src="images/icons/windows_98/msg_error-0.png" width="24" /> 598 + <span>${this.$passkeyError.value}</span> 599 + </span> 600 + </fieldset> 601 + ` : A} 602 + 603 + <p> 604 + <button @click="${this.#handlePasskeyRemove}">Remove passkey</button> 605 + </p> 606 + 607 + <p> 608 + Removing the passkey will expose all the sensitive<br /> 609 + information that was previously encrypted. 610 + </p> 611 + ` : html` 612 + <p> 613 + Track URIs can optionally be encrypted so that passwords and<br /> 614 + other sensitive authentication details are kept private. 615 + </p> 616 + <p> 617 + Note that, with this enabled, other people can NOT play audio listed on your 618 + account. 619 + </p> 620 + 621 + ${this.$passkeyError.value ? html` 622 + <fieldset> 623 + <span class="with-icon with-icon--large"> 624 + <img src="images/icons/windows_98/msg_error-0.png" width="24" /> 625 + <span>${this.$passkeyError.value}</span> 626 + </span> 627 + </fieldset> 628 + ` : A} 629 + 630 + <p class="button-row"> 631 + <button 632 + ?disabled="${this.$passkeyWorking.value}" 633 + @click="${this.#handlePasskeySetup}" 634 + > 635 + ${this.$passkeyWorking.value ? "Setting up ..." : "Set up passkey encryption"} 636 + </button> 637 + <button 638 + ?disabled="${this.$passkeyWorking.value}" 639 + @click="${this.#handlePasskeyAdopt}" 640 + > 641 + ${this.$passkeyWorking.value ? "Authenticating ..." : "Use existing passkey"} 642 + </button> 643 + </p> 644 + `} 645 + </div> 646 + </div> 647 + </fieldset> 648 + 649 + ${lockedTracksCount > 0 ? html` 650 + <fieldset> 651 + <p class="with-icon with-icon--large"> 652 + <img 653 + src="images/icons/windows_98/msg_warning-0.png" 654 + width="24" 655 + /> 656 + ${lockedTracksCount} encrypted track(s) cannot be played until you unlock them with 657 + your passkey. If you're already using a passkey, remember that you have to 658 + use same passkey as the one you originally locked the tracks with. 659 + </p> 660 + </fieldset> 661 + ` : A} 662 + `; 663 + } 664 + /** 665 + * @param {RenderArg['html']} html 666 + * @param {VariousOutputElements | null | undefined} selectedOutput 667 + */ 668 + #renderAtprotoActivation(html, selectedOutput) { 669 + const output = this.$output.value; 670 + if (!output || !("select" in output)) return A; 671 + const isActive = selectedOutput?.label === "AT Protocol"; 672 + return isActive ? html` 673 + <button @click="${this.#handleDeactivate}">Deactivate</button> 674 + ` : html` 675 + <button @click="${this.#handleAtprotoActivate}">Activate this storage</button> 676 + `; 677 + } 678 + /** 679 + * @param {RenderArg['html']} html 680 + * @param {VariousOutputElements | null | undefined} selectedOutput 681 + */ 682 + #renderS3Activation(html, selectedOutput) { 683 + const output = this.$output.value; 684 + if (!output || !("select" in output)) return A; 685 + const isActive = selectedOutput?.label === "S3"; 686 + return isActive ? html` 687 + <button @click="${this.#handleDeactivate}">Deactivate</button> 688 + ` : html` 689 + <button @click="${this.#handleS3Activate}">Activate this storage</button> 690 + `; 691 + } 692 + #defaultOutputMessage = "Storing data locally in the browser without any backup or syncing enabled."; 693 + }; 694 + var element_default = OutputConfig; 695 + var CLASS = OutputConfig; 696 + var NAME4 = "dtw-output-config"; 697 + customElements.define(NAME4, CLASS); 698 + 699 + export { 700 + element_default, 701 + CLASS, 702 + NAME4 as NAME 703 + }; 704 + 705 + //# sourceMappingURL=./chunk-3HY7HXXJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3HY7HXXJ.js.map
··· 1 + {"version":3,"sources":["/themes/webamp/configurators/output/element.js"],"sourcesContent":["import { DiffuseElement, nothing, query } from \"@common/element.js\";\nimport { signal } from \"@common/signal.js\";\n\nimport { NAME as ATPROTO_NAME } from \"@components/output/raw/atproto/element.js\";\nimport { NAME as S3_NAME } from \"@components/output/bytes/s3/element.js\";\n\nimport { NAME as PASSKEY_NAME } from \"@components/transformer/output/refiner/track-uri-passkey/element.js\";\n\n/**\n * @import {ATProtoOutputElement} from \"@components/output/raw/atproto/types.d.ts\"\n *\n * @import {Bucket as S3Bucket} from \"@components/input/s3/types.d.ts\"\n * @import {S3OutputElement} from \"@components/output/bytes/s3/types.d.ts\"\n *\n * @import {OutputElement} from \"@components/output/types.d.ts\"\n * @import {OutputConfiguratorElement} from \"@components/configurator/output/types.d.ts\"\n * @import TrackUriPasskeyTransformer from \"@components/transformer/output/refiner/track-uri-passkey/element.js\";\n *\n * @import {RenderArg} from \"@common/element.d.ts\"\n */\n\n/**\n * @typedef {OutputElement<any>} VariousOutputElements\n */\n\nclass OutputConfig extends DiffuseElement {\n constructor() {\n super();\n this.attachShadow({ mode: \"open\" });\n }\n\n // SIGNALS\n\n $output = signal(\n /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements> | undefined} */ (undefined),\n );\n\n $atproto = signal(\n /** @type {ATProtoOutputElement | null} */ (null),\n );\n\n $atprotoPasskey = signal(\n /** @type {TrackUriPasskeyTransformer | null} */ (null),\n );\n\n $s3 = signal(\n /** @type {S3OutputElement | null} */ (null),\n );\n\n $atprotoError = signal(/** @type {string | null} */ (null));\n $passkeyError = signal(/** @type {string | null} */ (null));\n $passkeyWorking = signal(false);\n $tab = signal(\"overview\");\n\n // LIFECYCLE\n\n /** @override */\n async connectedCallback() {\n super.connectedCallback();\n\n /** @type {OutputElement | OutputConfiguratorElement<VariousOutputElements>} */\n const output = query(this, \"output-selector\");\n\n await customElements.whenDefined(output.localName);\n\n this.$output.value = output;\n\n // Try setting up specific outputs\n const atproto = output.root().querySelector(ATPROTO_NAME);\n\n if (atproto) {\n this.$atproto.value = /** @type {ATProtoOutputElement} */ (atproto);\n }\n\n const atprotoPasskey = output.root().querySelector(\n `${PASSKEY_NAME}[namespace=\"atproto\"]`,\n );\n\n if (atprotoPasskey) {\n await customElements.whenDefined(PASSKEY_NAME);\n this.$atprotoPasskey.value =\n /** @type {TrackUriPasskeyTransformer} */ (atprotoPasskey);\n }\n\n const s3 = output.root().querySelector(S3_NAME);\n\n if (s3) {\n this.$s3.value = /** @type {S3OutputElement} */ (s3);\n }\n }\n\n // EVENTS\n\n /** @param {Event} event */\n #handleAtprotoLogin = async (event) => {\n event.preventDefault();\n\n /** @type {HTMLInputElement | null} */\n const input = this.root().querySelector(\"#atproto-handle\");\n const handle = input?.value?.trim();\n if (!handle) return;\n\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n /** @type {HTMLButtonElement | null} */\n const button = this.root().querySelector(\"#atproto-submit\");\n if (button) {\n button.disabled = true;\n button.textContent = \"Loading ...\";\n }\n\n this.$atprotoError.value = null;\n\n try {\n await atproto.login(handle);\n } catch (err) {\n this.$atprotoError.value = err instanceof Error\n ? err.message\n : \"login failed\";\n if (button) {\n button.disabled = false;\n button.textContent = \"Sign in\";\n }\n }\n };\n\n #handleAtprotoLogout = async () => {\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n await atproto.logout();\n };\n\n #handlePasskeySetup = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n this.$passkeyWorking.value = true;\n\n try {\n await passkey.setupPasskey();\n } catch (err) {\n this.$passkeyError.value = err instanceof Error\n ? err.message\n : \"Passkey setup failed\";\n } finally {\n this.$passkeyWorking.value = false;\n }\n };\n\n #handlePasskeyAdopt = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n this.$passkeyWorking.value = true;\n\n try {\n await passkey.adoptPasskey();\n } catch (err) {\n this.$passkeyError.value = err instanceof Error\n ? err.message\n : \"Passkey adoption failed\";\n } finally {\n this.$passkeyWorking.value = false;\n }\n };\n\n #handlePasskeyRemove = async () => {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return;\n\n this.$passkeyError.value = null;\n await passkey.removePasskey();\n };\n\n /** @param {Event} event */\n #handleAtprotoActivate = async (event) => {\n event.preventDefault();\n\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return;\n\n const atproto = this.$atproto.value;\n if (!atproto) return;\n\n const option = (await output.options()).find((o) =>\n o.label === \"AT Protocol\"\n );\n if (option) await output.select(option.id);\n };\n\n /**\n * @param {Event} event\n */\n #handleS3SetBucket = async (event) => {\n event.preventDefault();\n\n const s3 = this.$s3.value;\n if (!s3) return;\n\n /** @type {HTMLButtonElement | null} */\n const button = this.root().querySelector(\"#s3-submit\");\n if (button) button.disabled = true;\n\n const accessKey =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-access-key\",\n ))?.value;\n const bucketName =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-bucket-name\",\n ))?.value;\n const host =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-host\",\n ))?.value;\n const path =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-path\",\n ))?.value;\n const region =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-region\",\n ))?.value;\n const secretKey =\n /** @type {HTMLInputElement | null} */ (this.root().querySelector(\n \"#s3-secret-key\",\n ))?.value;\n\n if (!accessKey || !bucketName || !secretKey) return;\n\n /** @type {S3Bucket} */\n const bucket = {\n accessKey,\n bucketName,\n host: host?.length ? host.replace(/^\\w+:\\/\\//, \"\") : \"s3.amazonaws.com\",\n path: path?.length ? path : \"/\",\n region: region?.length ? region : \"us-east-1\",\n secretKey,\n };\n\n await s3.setBucket(bucket);\n\n if (button) button.disabled = false;\n };\n\n #handleS3Unset = async () => {\n const s3 = this.$s3.value;\n if (!s3) return;\n\n await s3.unsetBucket();\n };\n\n /** @param {Event} event */\n #handleS3Activate = async (event) => {\n event.preventDefault();\n\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return;\n\n const s3 = this.$s3.value;\n if (!s3) return;\n\n const option = (await output.options()).find((o) => o.label === \"S3\");\n if (option) await output.select(option.id);\n };\n\n #handleDeactivate = async () => {\n const output = this.$output.value;\n if (!output || !(\"deselect\" in output)) return;\n\n await output.deselect();\n };\n\n // RENDER\n\n /**\n * @param {RenderArg} _\n */\n render({ html }) {\n return html`\n <link rel=\"stylesheet\" href=\"styles/vendor/98.css\" />\n <link rel=\"stylesheet\" href=\"themes/webamp/98-extra.css\" />\n\n <style>\n @import \"./themes/webamp/98-vars.css\";\n\n .button-row {\n display: inline-flex;\n gap: var(--grouped-button-spacing);\n }\n\n #tabbed {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .window {\n flex: 1;\n overflow-y: auto;\n }\n\n /* TABS */\n\n menu[role=\"tablist\"] {\n padding-top: 2px;\n\n li > label {\n cursor: pointer;\n display: block;\n padding: var(--radio-label-spacing);\n }\n\n li[aria-selected=\"true\"] {\n padding-bottom: 2px;\n margin-top: -2px;\n background-color: var(--surface);\n position: relative;\n z-index: 8;\n margin-left: -3px;\n }\n }\n </style>\n\n <div id=\"tabbed\">\n <menu role=\"tablist\" class=\"multirows\">\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"overview\"}\">\n <label @click=\"${() => this.$tab.value = \"overview\"}\">\n <span>Overview</span>\n </label>\n </li>\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"atproto\"}\">\n <label @click=\"${() => this.$tab.value = \"atproto\"}\">\n <span>AT Protocol</span>\n </label>\n </li>\n <li role=\"tab\" aria-selected=\"${this.$tab.value === \"s3\"}\">\n <label @click=\"${() => this.$tab.value = \"s3\"}\">\n <span>S3</span>\n </label>\n </li>\n </menu>\n\n <div class=\"window\" role=\"tabpanel\">\n ${this.#renderTab(html)}\n </div>\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderTab(html) {\n switch (this.$tab.value) {\n case \"overview\":\n return this.#renderOverviewTab(html);\n case \"atproto\":\n return this.#renderAtprotoTab(html);\n case \"s3\":\n return this.#renderS3Tab(html);\n default:\n return nothing;\n }\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderOverviewTab(html) {\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n return html`\n <div class=\"window-body\">\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/computer_user_pencil-0.png\"\n width=\"24\"\n />\n <span>Here you can configure where to keep your user data.<br />Each\n storage method comes with its pros and cons.<br />By default your data\n is only kept locally here in the browser.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_information-0.png\"\n width=\"24\"\n />\n <span>\n Data does not transfer across storage methods!<br />You can however\n merge data between them though, if you wish to do so.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <legend>Active storage method</legend>\n <div class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/${selectedOutput\n ? `directory_channels-2.png`\n : `msg_warning-0.png`}\"\n width=\"24\"\n />\n <div>\n ${this.$output.value &&\n \"selected\" in this.$output.value\n ? selectedOutput\n ? html`\n <p>\n Selected output:\n <strong>${selectedOutput.label}</strong><br />\n </p>\n <p>\n <button @click=\"${this\n .#handleDeactivate}\">Deactivate</button>\n </p>\n `\n : this.#defaultOutputMessage\n : this.#defaultOutputMessage}\n </div>\n </div>\n </fieldset>\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderAtprotoTab(html) {\n const did = this.$atproto.value?.did() ?? null;\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n const authenticated = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>Signed in as <strong>${did}</strong></span>\n </span>\n </fieldset>\n\n ${this.#renderPasskeySection(html)}\n\n <p class=\"button-row\">\n <button @click=\"${this.#handleAtprotoLogout}\">Sign out</button>\n ${this.#renderAtprotoActivation(html, selectedOutput)}\n </p>\n `;\n };\n\n const unauthenticated = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>\n Store your user data on the storage associated with your AT Protocol\n identity.\n </span>\n </span>\n </fieldset>\n\n <fieldset>\n <form @submit=\"${this.#handleAtprotoLogin}\" class=\"field-row\">\n <label for=\"atproto-handle\">Your internet handle:</label>\n <input\n id=\"atproto-handle\"\n type=\"text\"\n required\n placeholder=\"you.bsky.social\"\n />\n </form>\n </fieldset>\n\n ${this.$atprotoError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>\n Sign in failed, please check the provided handle and try again.\n </span>\n </span>\n </fieldset>\n `\n : nothing} ${this.#renderPasskeySection(html)}\n\n <p>\n <button @click=\"${this\n .#handleAtprotoLogin}\" id=\"atproto-submit\">Sign in</button>\n ${this.#renderAtprotoActivation(html, selectedOutput)}\n </p>\n `;\n };\n\n return html`\n <div class=\"window-body\">\n ${did ? authenticated() : unauthenticated()}\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderS3Tab(html) {\n const s3 = this.$s3.value;\n const ready = s3?.ready() ?? false;\n const selectedOutput =\n this.$output.value && \"selected\" in this.$output.value\n ? this.$output.value.selected()\n : undefined;\n\n const configured = () => {\n const bucket = s3?.bucket();\n\n return html`\n <fieldset>\n <div class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <div>\n Bucket configured:\n <ul\n style=\"margin-bottom: 0; padding-left: 0; list-style-position: inside;\"\n >\n <li>Name: <strong>${bucket?.bucketName}</strong></li>\n <li>Host: ${bucket?.host}</li>\n <li>Access key: ${bucket?.accessKey}</li>\n </ul>\n </div>\n </div>\n </fieldset>\n\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_information-0.png\"\n width=\"24\"\n />\n <span>\n Make sure the bucket has CORS configured properly.\n </span>\n </span>\n </fieldset>\n\n <p class=\"button-row\">\n <button id=\"s3-unset-bucket\" @click=\"${this.#handleS3Unset}\">\n Remove bucket configuration\n </button>\n ${this.#renderS3Activation(html, selectedOutput)}\n </p>\n `;\n };\n\n const unconfigured = () => {\n return html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/computer_user_pencil-0.png\" width=\"24\" />\n <span>\n Store your user data on an S3-compatible storage service.\n </span>\n </span>\n </fieldset>\n\n <form @submit=\"${this.#handleS3SetBucket}\">\n <fieldset>\n <legend>Bucket details</legend>\n\n <div class=\"field-row\">\n <label for=\"s3-access-key\">Access Key:*</label>\n <input type=\"text\" id=\"s3-access-key\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-secret-key\">Secret Key:*</label>\n <input type=\"password\" id=\"s3-secret-key\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-bucket-name\">Bucket Name:*</label>\n <input type=\"text\" id=\"s3-bucket-name\" required />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-host\">Host:</label>\n <input\n type=\"text\"\n id=\"s3-host\"\n placeholder=\"s3.amazonaws.com\"\n />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-region\">Region:</label>\n <input\n type=\"text\"\n id=\"s3-region\"\n placeholder=\"us-east-1\"\n />\n </div>\n\n <div class=\"field-row\">\n <label for=\"s3-path\">Path:</label>\n <input type=\"text\" id=\"s3-path\" />\n </div>\n\n <p>\n * are required fields.\n </p>\n </fieldset>\n\n <p>\n <button type=\"submit\" id=\"s3-submit\">Set bucket</button>\n ${this.#renderS3Activation(html, selectedOutput)}\n </p>\n </form>\n `;\n };\n\n return html`\n <div class=\"window-body\">\n ${ready ? configured() : unconfigured()}\n </div>\n `;\n }\n\n /**\n * @param {RenderArg[\"html\"]} html\n */\n #renderPasskeySection(html) {\n const passkey = this.$atprotoPasskey.value;\n if (!passkey) return nothing;\n\n const passkeyActive = passkey.passkeyActive() ?? false;\n const lockedTracksCount = passkey.lockedTracks().length ?? 0;\n\n return html`\n <fieldset>\n <legend>Passkey encryption (optional)</legend>\n\n <div class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/keys-5.png\" width=\"24\" />\n\n <div>\n ${passkeyActive\n ? html`\n <p class=\"with-icon with-icon--large\">\n <input type=\"checkbox\" checked />\n <label>Passkey active — Track URIs are encrypted</label>\n </p>\n\n ${this.$passkeyError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>${this.$passkeyError.value}</span>\n </span>\n </fieldset>\n `\n : nothing}\n\n <p>\n <button @click=\"${this\n .#handlePasskeyRemove}\">Remove passkey</button>\n </p>\n\n <p>\n Removing the passkey will expose all the sensitive<br />\n information that was previously encrypted.\n </p>\n `\n : html`\n <p>\n Track URIs can optionally be encrypted so that passwords and<br />\n other sensitive authentication details are kept private.\n </p>\n <p>\n Note that, with this enabled, other people can NOT play audio listed on your\n account.\n </p>\n\n ${this.$passkeyError.value\n ? html`\n <fieldset>\n <span class=\"with-icon with-icon--large\">\n <img src=\"images/icons/windows_98/msg_error-0.png\" width=\"24\" />\n <span>${this.$passkeyError.value}</span>\n </span>\n </fieldset>\n `\n : nothing}\n\n <p class=\"button-row\">\n <button\n ?disabled=\"${this.$passkeyWorking.value}\"\n @click=\"${this.#handlePasskeySetup}\"\n >\n ${this.$passkeyWorking.value\n ? \"Setting up ...\"\n : \"Set up passkey encryption\"}\n </button>\n <button\n ?disabled=\"${this.$passkeyWorking.value}\"\n @click=\"${this.#handlePasskeyAdopt}\"\n >\n ${this.$passkeyWorking.value\n ? \"Authenticating ...\"\n : \"Use existing passkey\"}\n </button>\n </p>\n `}\n </div>\n </div>\n </fieldset>\n\n ${lockedTracksCount > 0\n ? html`\n <fieldset>\n <p class=\"with-icon with-icon--large\">\n <img\n src=\"images/icons/windows_98/msg_warning-0.png\"\n width=\"24\"\n />\n ${lockedTracksCount} encrypted track(s) cannot be played until you unlock them with\n your passkey. If you're already using a passkey, remember that you have to\n use same passkey as the one you originally locked the tracks with.\n </p>\n </fieldset>\n `\n : nothing}\n `;\n }\n\n /**\n * @param {RenderArg['html']} html\n * @param {VariousOutputElements | null | undefined} selectedOutput\n */\n #renderAtprotoActivation(html, selectedOutput) {\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return nothing;\n\n const isActive = selectedOutput?.label === \"AT Protocol\";\n\n return isActive\n ? html`\n <button @click=\"${this.#handleDeactivate}\">Deactivate</button>\n `\n : html`\n <button @click=\"${this\n .#handleAtprotoActivate}\">Activate this storage</button>\n `;\n }\n\n /**\n * @param {RenderArg['html']} html\n * @param {VariousOutputElements | null | undefined} selectedOutput\n */\n #renderS3Activation(html, selectedOutput) {\n const output = this.$output.value;\n if (!output || !(\"select\" in output)) return nothing;\n\n const isActive = selectedOutput?.label === \"S3\";\n\n return isActive\n ? html`\n <button @click=\"${this.#handleDeactivate}\">Deactivate</button>\n `\n : html`\n <button @click=\"${this\n .#handleS3Activate}\">Activate this storage</button>\n `;\n }\n\n #defaultOutputMessage =\n \"Storing data locally in the browser without any backup or syncing enabled.\";\n}\n\nexport default OutputConfig;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = OutputConfig;\nexport const NAME = \"dtw-output-config\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":"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","names":["NAME"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-3HY7HXXJ.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3IXJYTB6.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3IXJYTB6.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-3IXJYTB6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3THWHK2M.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3THWHK2M.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-3THWHK2M.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-3THWHK2M.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4LOJTZ72.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-4LOJTZ72.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4LOJTZ72.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-4LOJTZ72.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4YB6QUPN.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-4YB6QUPN.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-4YB6QUPN.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-676R57TH.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-676R57TH.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-676R57TH.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-676R57TH.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6CB2LXND.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6CB2LXND.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6CB2LXND.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6CB2LXND.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DKPDMFE.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DKPDMFE.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-6DKPDMFE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DRHTH2U.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6DRHTH2U.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-6DRHTH2U.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6JNRNMZQ.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6JNRNMZQ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6JNRNMZQ.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6JNRNMZQ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6KMZB5IA.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6KMZB5IA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6KMZB5IA.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6KMZB5IA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6WKBRQHS.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6WKBRQHS.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-6WKBRQHS.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-6WKBRQHS.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-77ZY4GQV.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-77ZY4GQV.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-77ZY4GQV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7BHFTEJL.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7BHFTEJL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7BHFTEJL.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7BHFTEJL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7SBFGDAO.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7SBFGDAO.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-7SBFGDAO.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7XAKBJEU.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7XAKBJEU.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-7XAKBJEU.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-7XAKBJEU.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-AHN37DQ6.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-AHN37DQ6.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-AHN37DQ6.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-AHN37DQ6.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-B63ZUKFI.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-B63ZUKFI.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-B63ZUKFI.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-B63ZUKFI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BKRD2ZIW.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BKRD2ZIW.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BKRD2ZIW.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BKRD2ZIW.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BLEJHIYA.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BLEJHIYA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-BLEJHIYA.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-BLEJHIYA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CMU4QLMC.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CMU4QLMC.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-CMU4QLMC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CRZ7HJJ4.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-CRZ7HJJ4.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-CRZ7HJJ4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-DDF5P57I.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-DDF5P57I.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-DDF5P57I.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-EEUCFWD4.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-EEUCFWD4.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-EEUCFWD4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ESYALJPH.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-ESYALJPH.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ESYALJPH.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-ESYALJPH.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-F27JDJI2.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-F27JDJI2.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-F27JDJI2.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FAW4EB7G.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FAW4EB7G.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FAW4EB7G.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJAAY3PY.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJAAY3PY.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJAAY3PY.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJAAY3PY.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJBTJV3K.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJBTJV3K.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FJBTJV3K.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-FJBTJV3K.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FPIXTJ7E.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FPIXTJ7E.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-FPIXTJ7E.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FVLUJBZP.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FVLUJBZP.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-FVLUJBZP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FZQXS3RE.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-FZQXS3RE.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-FZQXS3RE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G4P4YFWD.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-G4P4YFWD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G4P4YFWD.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-G4P4YFWD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G56PUJUJ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-G56PUJUJ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-G56PUJUJ.js.map
+374
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GASLBSUN.js
··· 1 + import { 2 + OAuthUserAgent, 3 + TokenRefreshError, 4 + clearStoredSession, 5 + login, 6 + logout, 7 + restoreOrFinalize 8 + } from "./chunk-NSJY6VZI.js"; 9 + import { 10 + BroadcastedOutputElement, 11 + outputManager 12 + } from "./chunk-YCKIJVMK.js"; 13 + import { 14 + Client, 15 + ClientResponseError, 16 + ok 17 + } from "./chunk-WN6GL63Q.js"; 18 + import { 19 + now 20 + } from "./chunk-BKRD2ZIW.js"; 21 + import { 22 + computed, 23 + signal 24 + } from "./chunk-HNJPKCUJ.js"; 25 + import { 26 + __name, 27 + init_Buffer, 28 + init_process 29 + } from "./chunk-FZQXS3RE.js"; 30 + 31 + // components/output/raw/atproto/element.js 32 + init_Buffer(); 33 + init_process(); 34 + var ATProtoOutput = class extends BroadcastedOutputElement { 35 + static { 36 + __name(this, "ATProtoOutput"); 37 + } 38 + static NAME = "diffuse/output/raw/atproto"; 39 + #manager; 40 + /** @type {PromiseWithResolvers<void>} */ 41 + #authenticated = Promise.withResolvers(); 42 + /** @type {Client | null} */ 43 + #rpc = null; 44 + /** @type {OAuthUserAgent | null} */ 45 + #agent = null; 46 + constructor() { 47 + super(); 48 + this.#manager = outputManager({ 49 + facets: { 50 + empty: /* @__PURE__ */ __name(() => [], "empty"), 51 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.facet"), "get"), 52 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.facet", data), "put") 53 + }, 54 + playlistItems: { 55 + empty: /* @__PURE__ */ __name(() => [], "empty"), 56 + get: /* @__PURE__ */ __name(async () => { 57 + const bundles = await this.listRecords( 58 + "sh.diffuse.output.playlistItemBundle" 59 + ); 60 + return bundles.flatMap((bundle) => bundle.playlistItems ?? []); 61 + }, "get"), 62 + put: /* @__PURE__ */ __name((data) => { 63 + const bundles = []; 64 + for (let i = 0; i < data.length; i += 100) { 65 + bundles.push({ 66 + $type: "sh.diffuse.output.playlistItemBundle", 67 + id: now(), 68 + playlistItems: data.slice(i, i + 100) 69 + }); 70 + } 71 + return this.#putRecords( 72 + "sh.diffuse.output.playlistItemBundle", 73 + bundles, 74 + { upsertBatchSize: 1 } 75 + ); 76 + }, "put") 77 + }, 78 + themes: { 79 + empty: /* @__PURE__ */ __name(() => [], "empty"), 80 + get: /* @__PURE__ */ __name(() => this.listRecords("sh.diffuse.output.theme"), "get"), 81 + put: /* @__PURE__ */ __name((data) => this.#putRecords("sh.diffuse.output.theme", data), "put") 82 + }, 83 + tracks: { 84 + empty: /* @__PURE__ */ __name(() => [], "empty"), 85 + get: /* @__PURE__ */ __name(async () => { 86 + const bundles = await this.listRecords( 87 + "sh.diffuse.output.trackBundle" 88 + ); 89 + return bundles.flatMap((bundle) => bundle.tracks ?? []); 90 + }, "get"), 91 + put: /* @__PURE__ */ __name((data) => { 92 + const bundles = []; 93 + for (let i = 0; i < data.length; i += 100) { 94 + bundles.push({ 95 + $type: "sh.diffuse.output.trackBundle", 96 + id: now(), 97 + tracks: data.slice(i, i + 100) 98 + }); 99 + } 100 + return this.#putRecords("sh.diffuse.output.trackBundle", bundles, { 101 + upsertBatchSize: 1 102 + }); 103 + }, "put") 104 + } 105 + }); 106 + this.facets = this.#manager.facets; 107 + this.playlistItems = this.#manager.playlistItems; 108 + this.themes = this.#manager.themes; 109 + this.tracks = this.#manager.tracks; 110 + } 111 + // SIGNALS 112 + #did = signal( 113 + /** @type {string | null} */ 114 + null 115 + ); 116 + #isOnline = signal(navigator.onLine); 117 + #rev = signal( 118 + /** @type {string | null} */ 119 + null 120 + ); 121 + did = this.#did.get; 122 + rev = this.#rev.get; 123 + ready = computed(() => { 124 + return this.#did.value !== null && !!this.#rpc && this.#isOnline.value; 125 + }); 126 + // LIFECYCLE 127 + /** @override */ 128 + connectedCallback() { 129 + this.replicateSavedData(this.#manager); 130 + super.connectedCallback(); 131 + this.#tryRestore(); 132 + globalThis.addEventListener("online", this.#online); 133 + globalThis.addEventListener("offline", this.#offline); 134 + } 135 + /** @override */ 136 + disconnectedCallback() { 137 + globalThis.removeEventListener("online", this.#online); 138 + globalThis.removeEventListener("offline", this.#offline); 139 + } 140 + #offline = /* @__PURE__ */ __name(() => this.#isOnline.set(false), "#offline"); 141 + #online = /* @__PURE__ */ __name(() => this.#isOnline.set(true), "#online"); 142 + // AUTH 143 + /** 144 + * Initiate the OAuth flow. 145 + * Navigates the browser to the authorization server. 146 + * 147 + * @param {string} handle 148 + */ 149 + async login(handle) { 150 + await login(handle); 151 + } 152 + /** 153 + * Sign out and revoke the current session. 154 + */ 155 + async logout() { 156 + if (this.#agent) { 157 + await logout(this.#agent); 158 + this.#agent = null; 159 + this.#authenticated = Promise.withResolvers(); 160 + this.#did.value = null; 161 + this.#rpc = null; 162 + } 163 + } 164 + /** 165 + * Clear session state without contacting the server. 166 + * Used when the session has already been revoked. 167 + */ 168 + #clearSession() { 169 + this.#agent = null; 170 + this.#authenticated = Promise.withResolvers(); 171 + this.#did.value = null; 172 + this.#rpc = null; 173 + clearStoredSession(); 174 + } 175 + /** 176 + * @param {unknown} err 177 + * @returns {boolean} 178 + */ 179 + #isSessionError(err) { 180 + if (err instanceof TokenRefreshError) return true; 181 + if (err instanceof ClientResponseError && err.status === 401) return true; 182 + if (err && typeof err === "object" && "cause" in err) { 183 + return this.#isSessionError( 184 + /** @type {any} */ 185 + err.cause 186 + ); 187 + } 188 + return false; 189 + } 190 + async #tryRestore() { 191 + await this.whenConnected(); 192 + try { 193 + const session = await restoreOrFinalize(); 194 + if (session) { 195 + this.#setSession(session); 196 + } 197 + } catch (err) { 198 + if (this.#isSessionError(err)) { 199 + this.#clearSession(); 200 + } else { 201 + throw err; 202 + } 203 + } 204 + } 205 + /** 206 + * @param {import("@atcute/oauth-browser-client").Session} session 207 + */ 208 + #setSession(session) { 209 + const agent = new OAuthUserAgent(session); 210 + const originalGetSession = agent.getSession.bind(agent); 211 + agent.getSession = /** @param {any[]} args */ 212 + (...args) => { 213 + const promise = originalGetSession(...args); 214 + promise.catch((err) => { 215 + if (err instanceof TokenRefreshError) { 216 + this.#clearSession(); 217 + } 218 + }); 219 + return promise; 220 + }; 221 + this.#agent = agent; 222 + this.#rpc = new Client({ handler: agent }); 223 + this.#did.value = session.info.sub; 224 + this.#authenticated.resolve(); 225 + } 226 + // RECORDS 227 + /** 228 + * Fetch the latest commit rev for this repo. 229 + * Returns `null` if not authenticated or on error. 230 + * 231 + * @returns {Promise<string | null>} 232 + */ 233 + async getLatestCommit() { 234 + const did = this.#did.value; 235 + const rpc = this.#rpc; 236 + if (!rpc || !did) return null; 237 + try { 238 + const result = await ok(rpc.get( 239 + "com.atproto.sync.getLatestCommit", 240 + { params: { did } } 241 + )); 242 + this.#rev.value = result?.rev; 243 + return result?.rev; 244 + } catch (err) { 245 + if (this.#isSessionError(err)) { 246 + this.#clearSession(); 247 + return null; 248 + } 249 + throw err; 250 + } 251 + } 252 + /** 253 + * @template T 254 + * @param {string} collection 255 + * @param {string} [did] 256 + * @returns {Promise<T[]>} 257 + */ 258 + async listRecords(collection, did) { 259 + did ??= this.#did.value ?? void 0; 260 + const rpc = this.#rpc; 261 + if (!rpc || !did) return []; 262 + try { 263 + const records = []; 264 + let cursor; 265 + do { 266 + const page = await ok(rpc.get( 267 + "com.atproto.repo.listRecords", 268 + { params: { repo: did, collection, limit: 100, cursor } } 269 + )); 270 + for (const record of page?.records ?? []) { 271 + records.push(record.value); 272 + } 273 + cursor = page?.cursor; 274 + } while (cursor); 275 + return records; 276 + } catch (err) { 277 + if (this.#isSessionError(err)) { 278 + this.#clearSession(); 279 + return []; 280 + } 281 + throw err; 282 + } 283 + } 284 + /** 285 + * @param {string} collection 286 + * @param {Array<{ id: string }>} data 287 + * @param {{ deleteBatchSize?: number, upsertBatchSize?: number }} [options] 288 + */ 289 + async #putRecords(collection, data, { deleteBatchSize = 100, upsertBatchSize = deleteBatchSize } = {}) { 290 + const rpc = this.#rpc; 291 + if (!rpc || !this.#did.value) return; 292 + try { 293 + const existing = /* @__PURE__ */ new Map(); 294 + let cursor; 295 + do { 296 + const page = await ok(rpc.get( 297 + "com.atproto.repo.listRecords", 298 + { 299 + params: { repo: this.#did.value, collection, limit: 100, cursor } 300 + } 301 + )); 302 + for (const record of page?.records ?? []) { 303 + const rkey = record.uri.split("/").pop(); 304 + existing.set(record.value.id, { rkey, value: record.value }); 305 + } 306 + cursor = page?.cursor; 307 + } while (cursor); 308 + const desired = new Map( 309 + data.map((record) => [record.id, { $type: collection, ...record }]) 310 + ); 311 + const deletes = []; 312 + const upserts = []; 313 + for (const [id, { rkey }] of existing) { 314 + if (!desired.has(id)) { 315 + deletes.push({ 316 + $type: "com.atproto.repo.applyWrites#delete", 317 + collection, 318 + rkey 319 + }); 320 + } 321 + } 322 + for (const [id, record] of desired) { 323 + const entry = existing.get(id); 324 + if (!entry) { 325 + upserts.push({ 326 + $type: "com.atproto.repo.applyWrites#create", 327 + collection, 328 + rkey: id, 329 + value: record 330 + }); 331 + } else if (JSON.stringify(entry.value) !== JSON.stringify(record)) { 332 + upserts.push({ 333 + $type: "com.atproto.repo.applyWrites#update", 334 + collection, 335 + rkey: entry.rkey, 336 + value: record 337 + }); 338 + } 339 + } 340 + const applyBatch = /* @__PURE__ */ __name(async (batch) => { 341 + const result = await ok(rpc.post("com.atproto.repo.applyWrites", { 342 + input: { repo: this.#did.value, writes: batch } 343 + })); 344 + if (result?.commit?.rev) { 345 + this.#rev.value = result.commit.rev; 346 + } 347 + }, "applyBatch"); 348 + for (let i = 0; i < deletes.length; i += deleteBatchSize) { 349 + await applyBatch(deletes.slice(i, i + deleteBatchSize)); 350 + } 351 + for (let i = 0; i < upserts.length; i += upsertBatchSize) { 352 + await applyBatch(upserts.slice(i, i + upsertBatchSize)); 353 + } 354 + } catch (err) { 355 + if (this.#isSessionError(err)) { 356 + this.#clearSession(); 357 + return; 358 + } 359 + throw err; 360 + } 361 + } 362 + }; 363 + var element_default = ATProtoOutput; 364 + var CLASS = ATProtoOutput; 365 + var NAME = "dor-atproto"; 366 + customElements.define(NAME, ATProtoOutput); 367 + 368 + export { 369 + element_default, 370 + CLASS, 371 + NAME 372 + }; 373 + 374 + //# sourceMappingURL=./chunk-GASLBSUN.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GASLBSUN.js.map
··· 1 + {"version":3,"sources":["/components/output/raw/atproto/element.js"],"sourcesContent":["import { Client, ClientResponseError, ok } from \"@atcute/client\";\nimport * as TID from \"@atcute/tid\";\n\nimport { computed, signal } from \"@common/signal.js\";\nimport { BroadcastedOutputElement, outputManager } from \"../../common.js\";\n\nimport {\n clearStoredSession,\n login,\n logout,\n OAuthUserAgent,\n restoreOrFinalize,\n TokenRefreshError,\n} from \"./oauth.js\";\n\n/**\n * @import {PlaylistItemBundle, TrackBundle} from \"@definitions/types.d.ts\"\n * @import {OutputManager} from \"../../types.d.ts\"\n * @import {ATProtoOutputElement} from \"./types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * @implements {ATProtoOutputElement}\n */\nclass ATProtoOutput extends BroadcastedOutputElement {\n static NAME = \"diffuse/output/raw/atproto\";\n\n #manager;\n\n /** @type {PromiseWithResolvers<void>} */\n #authenticated = Promise.withResolvers();\n\n /** @type {Client | null} */\n #rpc = null;\n\n /** @type {OAuthUserAgent | null} */\n #agent = null;\n\n constructor() {\n super();\n\n /** @type {OutputManager} */\n this.#manager = outputManager({\n facets: {\n empty: () => [],\n get: () => this.listRecords(\"sh.diffuse.output.facet\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.facet\", data),\n },\n playlistItems: {\n empty: () => [],\n get: async () => {\n const bundles = await this.listRecords(\n \"sh.diffuse.output.playlistItemBundle\",\n );\n\n return bundles.flatMap((bundle) => bundle.playlistItems ?? []);\n },\n put: (data) => {\n /** @type {PlaylistItemBundle[]} */\n const bundles = [];\n\n for (let i = 0; i < data.length; i += 100) {\n bundles.push({\n $type: \"sh.diffuse.output.playlistItemBundle\",\n id: TID.now(),\n playlistItems: data.slice(i, i + 100),\n });\n }\n\n return this.#putRecords(\n \"sh.diffuse.output.playlistItemBundle\",\n bundles,\n { upsertBatchSize: 1 },\n );\n },\n },\n themes: {\n empty: () => [],\n get: () => this.listRecords(\"sh.diffuse.output.theme\"),\n put: (data) => this.#putRecords(\"sh.diffuse.output.theme\", data),\n },\n tracks: {\n empty: () => [],\n get: async () => {\n const bundles = await this.listRecords(\n \"sh.diffuse.output.trackBundle\",\n );\n\n return bundles.flatMap((bundle) => bundle.tracks ?? []);\n },\n put: (data) => {\n /** @type {TrackBundle[]} */\n const bundles = [];\n\n for (let i = 0; i < data.length; i += 100) {\n bundles.push({\n $type: \"sh.diffuse.output.trackBundle\",\n id: TID.now(),\n tracks: data.slice(i, i + 100),\n });\n }\n\n return this.#putRecords(\"sh.diffuse.output.trackBundle\", bundles, {\n upsertBatchSize: 1,\n });\n },\n },\n });\n\n this.facets = this.#manager.facets;\n this.playlistItems = this.#manager.playlistItems;\n this.themes = this.#manager.themes;\n this.tracks = this.#manager.tracks;\n }\n\n // SIGNALS\n\n #did = signal(/** @type {string | null} */ (null));\n #isOnline = signal(navigator.onLine);\n #rev = signal(/** @type {string | null} */ (null));\n\n did = this.#did.get;\n rev = this.#rev.get;\n\n ready = computed(() => {\n return this.#did.value !== null && !!this.#rpc && this.#isOnline.value;\n });\n\n // LIFECYCLE\n\n /** @override */\n connectedCallback() {\n this.replicateSavedData(this.#manager);\n\n super.connectedCallback();\n\n this.#tryRestore();\n\n globalThis.addEventListener(\"online\", this.#online);\n globalThis.addEventListener(\"offline\", this.#offline);\n }\n\n /** @override */\n disconnectedCallback() {\n globalThis.removeEventListener(\"online\", this.#online);\n globalThis.removeEventListener(\"offline\", this.#offline);\n }\n\n #offline = () => this.#isOnline.set(false);\n #online = () => this.#isOnline.set(true);\n\n // AUTH\n\n /**\n * Initiate the OAuth flow.\n * Navigates the browser to the authorization server.\n *\n * @param {string} handle\n */\n async login(handle) {\n await login(handle);\n }\n\n /**\n * Sign out and revoke the current session.\n */\n async logout() {\n if (this.#agent) {\n await logout(this.#agent);\n this.#agent = null;\n this.#authenticated = Promise.withResolvers();\n this.#did.value = null;\n this.#rpc = null;\n }\n }\n\n /**\n * Clear session state without contacting the server.\n * Used when the session has already been revoked.\n */\n #clearSession() {\n this.#agent = null;\n this.#authenticated = Promise.withResolvers();\n this.#did.value = null;\n this.#rpc = null;\n\n clearStoredSession();\n }\n\n /**\n * @param {unknown} err\n * @returns {boolean}\n */\n #isSessionError(err) {\n if (err instanceof TokenRefreshError) return true;\n // OAuthUserAgent.handle() swallows TokenRefreshError and returns the\n // original 401 response, which ok() wraps as a ClientResponseError.\n if (err instanceof ClientResponseError && err.status === 401) return true;\n if (err && typeof err === \"object\" && \"cause\" in err) {\n return this.#isSessionError(/** @type {any} */ (err).cause);\n }\n return false;\n }\n\n async #tryRestore() {\n await this.whenConnected();\n\n try {\n const session = await restoreOrFinalize();\n\n if (session) {\n this.#setSession(session);\n }\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n } else {\n throw err;\n }\n }\n }\n\n /**\n * @param {import(\"@atcute/oauth-browser-client\").Session} session\n */\n #setSession(session) {\n const agent = new OAuthUserAgent(session);\n\n // Intercept token refresh to detect session revocation proactively.\n // OAuthUserAgent.handle() swallows TokenRefreshError silently,\n // so we hook into getSession to clear state as soon as refresh fails.\n const originalGetSession = agent.getSession.bind(agent);\n agent.getSession = /** @param {any[]} args */ (...args) => {\n const promise = originalGetSession(...args);\n\n promise.catch((err) => {\n if (err instanceof TokenRefreshError) {\n this.#clearSession();\n }\n });\n\n return promise;\n };\n\n this.#agent = agent;\n this.#rpc = new Client({ handler: agent });\n this.#did.value = session.info.sub;\n this.#authenticated.resolve();\n }\n\n // RECORDS\n\n /**\n * Fetch the latest commit rev for this repo.\n * Returns `null` if not authenticated or on error.\n *\n * @returns {Promise<string | null>}\n */\n async getLatestCommit() {\n const did = this.#did.value;\n\n const rpc = this.#rpc;\n if (!rpc || !did) return null;\n\n try {\n const result = await ok(rpc.get(\n \"com.atproto.sync.getLatestCommit\",\n { params: { did } },\n ));\n\n this.#rev.value = result?.rev;\n return result?.rev;\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return null;\n }\n\n throw err;\n }\n }\n\n /**\n * @template T\n * @param {string} collection\n * @param {string} [did]\n * @returns {Promise<T[]>}\n */\n async listRecords(collection, did) {\n did ??= this.#did.value ?? undefined;\n\n const rpc = this.#rpc;\n if (!rpc || !did) return [];\n\n try {\n const records = [];\n\n /** @type {any} */\n let cursor;\n\n do {\n const page = await ok(rpc.get(\n \"com.atproto.repo.listRecords\",\n { params: { repo: did, collection, limit: 100, cursor } },\n ));\n\n for (const record of (page?.records ?? [])) {\n records.push(record.value);\n }\n\n cursor = page?.cursor;\n } while (cursor);\n\n return records;\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return [];\n }\n\n throw err;\n }\n }\n\n /**\n * @param {string} collection\n * @param {Array<{ id: string }>} data\n * @param {{ deleteBatchSize?: number, upsertBatchSize?: number }} [options]\n */\n async #putRecords(collection, data, { deleteBatchSize = 100, upsertBatchSize = deleteBatchSize } = {}) {\n const rpc = this.#rpc;\n if (!rpc || !this.#did.value) return;\n\n try {\n // 1. Fetch current state\n /** @type {Map<string, { rkey: string, value: unknown }>} */\n const existing = new Map();\n\n /** @type {any} */\n let cursor;\n\n do {\n const page = await ok(rpc.get(\n \"com.atproto.repo.listRecords\",\n {\n params: { repo: this.#did.value, collection, limit: 100, cursor },\n },\n ));\n\n for (const record of (page?.records ?? [])) {\n const rkey = record.uri.split(\"/\").pop();\n existing.set(record.value.id, { rkey, value: record.value });\n }\n\n cursor = page?.cursor;\n } while (cursor);\n\n // 2. Build desired state\n const desired = new Map(\n data.map((record) => [record.id, { $type: collection, ...record }]),\n );\n\n // 3. Compute diff\n /** @type {unknown[]} */\n const deletes = [];\n\n /** @type {unknown[]} */\n const upserts = [];\n\n for (const [id, { rkey }] of existing) {\n if (!desired.has(id)) {\n deletes.push({\n $type: \"com.atproto.repo.applyWrites#delete\",\n collection,\n rkey,\n });\n }\n }\n\n for (const [id, record] of desired) {\n const entry = existing.get(id);\n\n if (!entry) {\n upserts.push({\n $type: \"com.atproto.repo.applyWrites#create\",\n collection,\n rkey: id,\n value: record,\n });\n } else if (JSON.stringify(entry.value) !== JSON.stringify(record)) {\n upserts.push({\n $type: \"com.atproto.repo.applyWrites#update\",\n collection,\n rkey: entry.rkey,\n value: record,\n });\n }\n }\n\n // 4. Apply in batches\n const applyBatch = async (/** @type {unknown[]} */ batch) => {\n const result = await ok(rpc.post(\"com.atproto.repo.applyWrites\", {\n input: { repo: this.#did.value, writes: batch },\n }));\n\n if (result?.commit?.rev) {\n this.#rev.value = result.commit.rev;\n }\n };\n\n for (let i = 0; i < deletes.length; i += deleteBatchSize) {\n await applyBatch(deletes.slice(i, i + deleteBatchSize));\n }\n\n for (let i = 0; i < upserts.length; i += upsertBatchSize) {\n await applyBatch(upserts.slice(i, i + upsertBatchSize));\n }\n } catch (err) {\n if (this.#isSessionError(err)) {\n this.#clearSession();\n return;\n }\n\n throw err;\n }\n }\n}\n\nexport default ATProtoOutput;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = ATProtoOutput;\nexport const NAME = \"dor-atproto\";\n\ncustomElements.define(NAME, ATProtoOutput);\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-GASLBSUN.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GCLDJKYV.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GCLDJKYV.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GCLDJKYV.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GCLDJKYV.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GQIBEDKG.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GQIBEDKG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GQIBEDKG.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-GQIBEDKG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GX3WPNEX.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-GX3WPNEX.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-GX3WPNEX.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-H3WG7GN4.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-H3WG7GN4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-H3WG7GN4.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-H3WG7GN4.js.map
+312
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HDFVYYOI.js
··· 1 + import { 2 + element_default 3 + } from "./chunk-G4P4YFWD.js"; 4 + import { 5 + element_default as element_default7 6 + } from "./chunk-6JNRNMZQ.js"; 7 + import { 8 + element_default as element_default11 9 + } from "./chunk-UMMPFCLQ.js"; 10 + import { 11 + element_default as element_default16 12 + } from "./chunk-PKN6FN7E.js"; 13 + import { 14 + element_default as element_default3 15 + } from "./chunk-NP7LZHKR.js"; 16 + import { 17 + element_default as element_default13 18 + } from "./chunk-M2MAFKPM.js"; 19 + import { 20 + element_default as element_default14 21 + } from "./chunk-YV3SRJQF.js"; 22 + import { 23 + element_default as element_default15 24 + } from "./chunk-ESYALJPH.js"; 25 + import { 26 + element_default as element_default5 27 + } from "./chunk-U5LVPDQM.js"; 28 + import { 29 + element_default as element_default6 30 + } from "./chunk-JEGKC6HA.js"; 31 + import { 32 + element_default as element_default8 33 + } from "./chunk-TXU4RB3O.js"; 34 + import { 35 + element_default as element_default9 36 + } from "./chunk-3ENCKNXO.js"; 37 + import { 38 + element_default as element_default2 39 + } from "./chunk-NBQPHQFP.js"; 40 + import { 41 + element_default as element_default4 42 + } from "./chunk-OBWEBS4T.js"; 43 + import { 44 + element_default as element_default10 45 + } from "./chunk-S6SMX4HA.js"; 46 + import { 47 + element_default as element_default12 48 + } from "./chunk-XRGLBUX4.js"; 49 + import { 50 + __name, 51 + init_Buffer, 52 + init_process 53 + } from "./chunk-FZQXS3RE.js"; 54 + 55 + // common/facets/foundation.js 56 + init_Buffer(); 57 + init_process(); 58 + var url = new URL(document.location.href); 59 + var GROUP = url.searchParams.get("group") ?? "facets"; 60 + var config = { 61 + GROUP, 62 + features: { 63 + fillQueueAutomatically, 64 + playAudioFromQueue, 65 + processInputs, 66 + searchThroughCollection 67 + }, 68 + // Elements 69 + engine: { 70 + audio, 71 + queue, 72 + repeatShuffle, 73 + scope 74 + }, 75 + orchestrator: { 76 + autoQueue, 77 + favourites, 78 + input, 79 + mediaSession, 80 + output, 81 + queueAudio, 82 + processTracks, 83 + scopedTracks, 84 + sources 85 + }, 86 + processor: { 87 + artwork, 88 + metadata, 89 + search 90 + } 91 + }; 92 + var foundation_default = config; 93 + function fillQueueAutomatically() { 94 + return { 95 + engine: { 96 + queue: queue(), 97 + repeatShuffle: repeatShuffle(), 98 + scope: scope() 99 + }, 100 + orchestrator: { 101 + autoQueue: autoQueue(), 102 + input: input(), 103 + output: output(), 104 + scopedTracks: scopedTracks() 105 + } 106 + }; 107 + } 108 + __name(fillQueueAutomatically, "fillQueueAutomatically"); 109 + function playAudioFromQueue() { 110 + return { 111 + engine: { 112 + audio: audio(), 113 + queue: queue() 114 + }, 115 + orchestrator: { 116 + mediaSession: mediaSession(), 117 + queueAudio: queueAudio() 118 + } 119 + }; 120 + } 121 + __name(playAudioFromQueue, "playAudioFromQueue"); 122 + function processInputs() { 123 + return { 124 + orchestrator: { 125 + input: input(), 126 + output: output(), 127 + processTracks: processTracks() 128 + }, 129 + processor: { 130 + metadata: metadata() 131 + } 132 + }; 133 + } 134 + __name(processInputs, "processInputs"); 135 + function searchThroughCollection() { 136 + return { 137 + engine: { 138 + scope: scope() 139 + }, 140 + orchestrator: { 141 + output: output(), 142 + scopedTracks: scopedTracks() 143 + }, 144 + processor: { 145 + search: search() 146 + } 147 + }; 148 + } 149 + __name(searchThroughCollection, "searchThroughCollection"); 150 + function audio() { 151 + const a = new element_default2(); 152 + a.setAttribute("group", GROUP); 153 + return findExistingOrAdd(a); 154 + } 155 + __name(audio, "audio"); 156 + function queue() { 157 + const q = new element_default4(); 158 + q.setAttribute("group", GROUP); 159 + return findExistingOrAdd(q); 160 + } 161 + __name(queue, "queue"); 162 + function repeatShuffle() { 163 + const r = new element_default10(); 164 + r.setAttribute("group", GROUP); 165 + return findExistingOrAdd(r); 166 + } 167 + __name(repeatShuffle, "repeatShuffle"); 168 + function scope() { 169 + const s = new element_default12(); 170 + s.setAttribute("group", GROUP); 171 + return findExistingOrAdd(s); 172 + } 173 + __name(scope, "scope"); 174 + function artwork() { 175 + const a = new element_default(); 176 + a.setAttribute("group", GROUP); 177 + return findExistingOrAdd(a); 178 + } 179 + __name(artwork, "artwork"); 180 + function metadata() { 181 + const m = new element_default7(); 182 + m.setAttribute("group", GROUP); 183 + return findExistingOrAdd(m); 184 + } 185 + __name(metadata, "metadata"); 186 + function search() { 187 + const s = new element_default11(); 188 + s.setAttribute("group", GROUP); 189 + return findExistingOrAdd(s); 190 + } 191 + __name(search, "search"); 192 + function autoQueue() { 193 + const q = queue(); 194 + const r = repeatShuffle(); 195 + const t = scopedTracks(); 196 + const aqo = new element_default3(); 197 + aqo.setAttribute("group", GROUP); 198 + aqo.setAttribute("queue-engine-selector", q.selector); 199 + aqo.setAttribute("repeat-shuffle-engine-selector", r.selector); 200 + aqo.setAttribute("tracks-selector", t.selector); 201 + return findExistingOrAdd(aqo); 202 + } 203 + __name(autoQueue, "autoQueue"); 204 + function favourites() { 205 + const o = output(); 206 + const fo = new element_default14(); 207 + fo.setAttribute("group", GROUP); 208 + fo.setAttribute("output-selector", o.selector); 209 + return findExistingOrAdd(fo); 210 + } 211 + __name(favourites, "favourites"); 212 + function input() { 213 + const i = new element_default5(); 214 + i.setAttribute("group", GROUP); 215 + i.setAttribute("id", "input"); 216 + return findExistingOrAdd(i); 217 + } 218 + __name(input, "input"); 219 + function mediaSession() { 220 + const a = audio(); 221 + const aw = artwork(); 222 + const o = output(); 223 + const q = queue(); 224 + const mso = new element_default15(); 225 + mso.setAttribute("group", GROUP); 226 + mso.setAttribute("audio-engine-selector", a.selector); 227 + mso.setAttribute("artwork-processor-selector", aw.selector); 228 + mso.setAttribute("output-selector", o.selector); 229 + mso.setAttribute("queue-engine-selector", q.selector); 230 + return findExistingOrAdd(mso); 231 + } 232 + __name(mediaSession, "mediaSession"); 233 + function output() { 234 + const o = new element_default6(); 235 + o.setAttribute("group", GROUP); 236 + o.setAttribute("id", "output"); 237 + return findExistingOrAdd(o); 238 + } 239 + __name(output, "output"); 240 + function processTracks(opts = { disableWhenReady: false }) { 241 + const i = input(); 242 + const o = output(); 243 + const m = metadata(); 244 + const opt = new element_default8(); 245 + opt.setAttribute("group", GROUP); 246 + opt.setAttribute("input-selector", i.selector); 247 + opt.setAttribute("output-selector", o.selector); 248 + opt.setAttribute("metadata-processor-selector", m.selector); 249 + if (!opts.disableWhenReady) { 250 + opt.toggleAttribute("process-when-ready"); 251 + } 252 + return findExistingOrAdd(opt); 253 + } 254 + __name(processTracks, "processTracks"); 255 + function queueAudio() { 256 + const a = audio(); 257 + const i = input(); 258 + const o = output(); 259 + const q = queue(); 260 + const r = repeatShuffle(); 261 + const oqa = new element_default9(); 262 + oqa.setAttribute("group", GROUP); 263 + oqa.setAttribute("audio-engine-selector", a.selector); 264 + oqa.setAttribute("input-selector", i.selector); 265 + oqa.setAttribute("output-selector", o.selector); 266 + oqa.setAttribute("queue-engine-selector", q.selector); 267 + oqa.setAttribute("repeat-shuffle-engine-selector", r.selector); 268 + return findExistingOrAdd(oqa); 269 + } 270 + __name(queueAudio, "queueAudio"); 271 + function scopedTracks() { 272 + const i = input(); 273 + const o = output(); 274 + const e = scope(); 275 + const s = search(); 276 + const sto = new element_default13(); 277 + sto.setAttribute("group", GROUP); 278 + sto.setAttribute("input-selector", i.selector); 279 + sto.setAttribute("output-selector", o.selector); 280 + sto.setAttribute("scope-engine-selector", e.selector); 281 + sto.setAttribute("search-processor-selector", s.selector); 282 + return findExistingOrAdd(sto); 283 + } 284 + __name(scopedTracks, "scopedTracks"); 285 + function sources() { 286 + const i = input(); 287 + const o = output(); 288 + const so = new element_default16(); 289 + so.setAttribute("group", GROUP); 290 + so.setAttribute("input-selector", i.selector); 291 + so.setAttribute("output-selector", o.selector); 292 + return findExistingOrAdd(so); 293 + } 294 + __name(sources, "sources"); 295 + function findExistingOrAdd(element) { 296 + const alreadyAdded = document.body.querySelector(element.selector); 297 + if (!alreadyAdded) { 298 + document.body.append(element); 299 + return element; 300 + } 301 + return alreadyAdded; 302 + } 303 + __name(findExistingOrAdd, "findExistingOrAdd"); 304 + 305 + export { 306 + GROUP, 307 + config, 308 + foundation_default, 309 + findExistingOrAdd 310 + }; 311 + 312 + //# sourceMappingURL=./chunk-HDFVYYOI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HDFVYYOI.js.map
··· 1 + {"version":3,"sources":["/common/facets/foundation.js"],"sourcesContent":["import ArtworkProcessor from \"@components/processor/artwork/element.js\";\nimport AudioEngine from \"@components/engine/audio/element.js\";\nimport AutoQueueOrchestrator from \"@components/orchestrator/auto-queue/element.js\";\nimport Queue from \"@components/engine/queue/element.js\";\nimport InputOrchestrator from \"@components/orchestrator/input/element.js\";\nimport OutputOrchestrator from \"@components/orchestrator/output/element.js\";\nimport MetadataProcessor from \"@components/processor/metadata/element.js\";\nimport ProcessTracksOrchestrator from \"@components/orchestrator/process-tracks/element.js\";\nimport QueueAudioOrchestrator from \"@components/orchestrator/queue-audio/element.js\";\nimport RepeatShuffleEngine from \"@components/engine/repeat-shuffle/element.js\";\nimport SearchProcessor from \"@components/processor/search/element.js\";\nimport ScopeEngine from \"@components/engine/scope/element.js\";\nimport ScopedTracksOrchestrator from \"@components/orchestrator/scoped-tracks/element.js\";\nimport FavouritesOrchestrator from \"@components/orchestrator/favourites/element.js\";\nimport MediaSessionOrchestrator from \"@components/orchestrator/media-session/element.js\";\nimport SourcesOrchestrator from \"@components/orchestrator/sources/element.js\";\n\n/**\n * @import { DiffuseElement } from \"@toko/diffuse/common/element.js\";\n */\n\nconst url = new URL(document.location.href);\nexport const GROUP = url.searchParams.get(\"group\") ?? \"facets\";\n\n/**\n * Default config for facets.\n */\nexport const config = {\n GROUP,\n\n features: {\n fillQueueAutomatically,\n playAudioFromQueue,\n processInputs,\n searchThroughCollection,\n },\n\n // Elements\n engine: {\n audio,\n queue,\n repeatShuffle,\n scope,\n },\n orchestrator: {\n autoQueue,\n favourites,\n input,\n mediaSession,\n output,\n queueAudio,\n processTracks,\n scopedTracks,\n sources,\n },\n processor: {\n artwork,\n metadata,\n search,\n },\n};\n\nexport default config;\n\n// 📦️\n\nfunction fillQueueAutomatically() {\n return {\n engine: {\n queue: queue(),\n repeatShuffle: repeatShuffle(),\n scope: scope(),\n },\n orchestrator: {\n autoQueue: autoQueue(),\n input: input(),\n output: output(),\n scopedTracks: scopedTracks(),\n },\n };\n}\n\nfunction playAudioFromQueue() {\n return {\n engine: {\n audio: audio(),\n queue: queue(),\n },\n orchestrator: {\n mediaSession: mediaSession(),\n queueAudio: queueAudio(),\n },\n };\n}\n\nfunction processInputs() {\n return {\n orchestrator: {\n input: input(),\n output: output(),\n processTracks: processTracks(),\n },\n processor: {\n metadata: metadata(),\n },\n };\n}\n\nfunction searchThroughCollection() {\n return {\n engine: {\n scope: scope(),\n },\n orchestrator: {\n output: output(),\n scopedTracks: scopedTracks(),\n },\n processor: {\n search: search(),\n },\n };\n}\n\n// 🥡\n\n// Engines\nfunction audio() {\n const a = new AudioEngine();\n a.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(a);\n}\n\nfunction queue() {\n const q = new Queue();\n q.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(q);\n}\n\nfunction repeatShuffle() {\n const r = new RepeatShuffleEngine();\n r.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(r);\n}\n\nfunction scope() {\n const s = new ScopeEngine();\n s.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(s);\n}\n\n// Processors\nfunction artwork() {\n const a = new ArtworkProcessor();\n a.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(a);\n}\n\nfunction metadata() {\n const m = new MetadataProcessor();\n m.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(m);\n}\n\nfunction search() {\n const s = new SearchProcessor();\n s.setAttribute(\"group\", GROUP);\n\n return findExistingOrAdd(s);\n}\n\n// Orchestrators\nfunction autoQueue() {\n const q = queue();\n const r = repeatShuffle();\n const t = scopedTracks();\n\n const aqo = new AutoQueueOrchestrator();\n aqo.setAttribute(\"group\", GROUP);\n aqo.setAttribute(\"queue-engine-selector\", q.selector);\n aqo.setAttribute(\"repeat-shuffle-engine-selector\", r.selector);\n aqo.setAttribute(\"tracks-selector\", t.selector);\n\n return findExistingOrAdd(aqo);\n}\n\nfunction favourites() {\n const o = output();\n\n const fo = new FavouritesOrchestrator();\n fo.setAttribute(\"group\", GROUP);\n fo.setAttribute(\"output-selector\", o.selector);\n\n return findExistingOrAdd(fo);\n}\n\nfunction input() {\n const i = new InputOrchestrator();\n i.setAttribute(\"group\", GROUP);\n i.setAttribute(\"id\", \"input\");\n\n return findExistingOrAdd(i);\n}\n\nfunction mediaSession() {\n const a = audio();\n const aw = artwork();\n const o = output();\n const q = queue();\n\n const mso = new MediaSessionOrchestrator();\n mso.setAttribute(\"group\", GROUP);\n mso.setAttribute(\"audio-engine-selector\", a.selector);\n mso.setAttribute(\"artwork-processor-selector\", aw.selector);\n mso.setAttribute(\"output-selector\", o.selector);\n mso.setAttribute(\"queue-engine-selector\", q.selector);\n\n return findExistingOrAdd(mso);\n}\n\nfunction output() {\n const o = new OutputOrchestrator();\n o.setAttribute(\"group\", GROUP);\n o.setAttribute(\"id\", \"output\");\n\n return findExistingOrAdd(o);\n}\n\n/**\n * @param {Object} opts - Options\n * @param {boolean} [opts.disableWhenReady] - Whether to disable processing when ready.\n */\nfunction processTracks(opts = { disableWhenReady: false }) {\n const i = input();\n const o = output();\n const m = metadata();\n\n const opt = new ProcessTracksOrchestrator();\n opt.setAttribute(\"group\", GROUP);\n opt.setAttribute(\"input-selector\", i.selector);\n opt.setAttribute(\"output-selector\", o.selector);\n opt.setAttribute(\"metadata-processor-selector\", m.selector);\n\n if (!opts.disableWhenReady) {\n opt.toggleAttribute(\"process-when-ready\");\n }\n\n return findExistingOrAdd(opt);\n}\n\nfunction queueAudio() {\n const a = audio();\n const i = input();\n const o = output();\n const q = queue();\n const r = repeatShuffle();\n\n const oqa = new QueueAudioOrchestrator();\n oqa.setAttribute(\"group\", GROUP);\n oqa.setAttribute(\"audio-engine-selector\", a.selector);\n oqa.setAttribute(\"input-selector\", i.selector);\n oqa.setAttribute(\"output-selector\", o.selector);\n oqa.setAttribute(\"queue-engine-selector\", q.selector);\n oqa.setAttribute(\"repeat-shuffle-engine-selector\", r.selector);\n\n return findExistingOrAdd(oqa);\n}\n\nfunction scopedTracks() {\n const i = input();\n const o = output();\n const e = scope();\n const s = search();\n\n const sto = new ScopedTracksOrchestrator();\n sto.setAttribute(\"group\", GROUP);\n sto.setAttribute(\"input-selector\", i.selector);\n sto.setAttribute(\"output-selector\", o.selector);\n sto.setAttribute(\"scope-engine-selector\", e.selector);\n sto.setAttribute(\"search-processor-selector\", s.selector);\n\n return findExistingOrAdd(sto);\n}\n\nfunction sources() {\n const i = input();\n const o = output();\n const so = new SourcesOrchestrator();\n so.setAttribute(\"group\", GROUP);\n so.setAttribute(\"input-selector\", i.selector);\n so.setAttribute(\"output-selector\", o.selector);\n\n return findExistingOrAdd(so);\n}\n\n// 🛠️\n\n/**\n * @template {DiffuseElement} T\n * @param {T} element\n * @returns {T}\n */\nexport function findExistingOrAdd(element) {\n /** @type {T | null} */\n const alreadyAdded = document.body.querySelector(element.selector);\n if (!alreadyAdded) {\n document.body.append(element);\n return element;\n }\n\n return alreadyAdded;\n}\n"],"mappings":"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","names":["element_default"],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-HDFVYYOI.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HMBZONBJ.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HMBZONBJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HMBZONBJ.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HMBZONBJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HN4F5JEZ.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HN4F5JEZ.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-HN4F5JEZ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HNJPKCUJ.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HNJPKCUJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-HNJPKCUJ.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-HNJPKCUJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-IGKYDHDK.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-IGKYDHDK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-IGKYDHDK.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-IGKYDHDK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-J67JY2AB.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-J67JY2AB.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-J67JY2AB.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JBHW662S.js
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JBHW662S.js.map
··· 1 + ../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/chunk-JBHW662S.js.map
+189
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JEGKC6HA.js
··· 1 + import { 2 + o 3 + } from "./chunk-XGM6M423.js"; 4 + import { 5 + DEFAULT_GROUP, 6 + DiffuseElement 7 + } from "./chunk-V7EQPFPD.js"; 8 + import { 9 + __name, 10 + init_Buffer, 11 + init_process 12 + } from "./chunk-FZQXS3RE.js"; 13 + 14 + // components/orchestrator/output/element.js 15 + init_Buffer(); 16 + init_process(); 17 + var OutputOrchestrator = class extends DiffuseElement { 18 + static { 19 + __name(this, "OutputOrchestrator"); 20 + } 21 + static NAME = "diffuse/orchestrator/output"; 22 + // LIFECYCLE 23 + /** 24 + * @override 25 + */ 26 + async connectedCallback() { 27 + super.connectedCallback(); 28 + let previouslyActivated = /* @__PURE__ */ new Set(); 29 + this.effect(() => { 30 + const set = this.outputConfigurator.activated(); 31 + const newlyActicated = set.difference(previouslyActivated); 32 + newlyActicated.forEach((id) => { 33 + switch (id) { 34 + case "do-output__dc-output__local": { 35 + import("./components/output/polymorphic/indexed-db/element.js"); 36 + import("./components/transformer/output/string/json/element.js"); 37 + break; 38 + } 39 + case "do-output__dc-output__atproto": { 40 + import("./components/output/raw/atproto/element.js"); 41 + import("./components/transformer/output/raw/atproto-sync/element.js"); 42 + import("./components/transformer/output/refiner/track-uri-passkey/element.js"); 43 + break; 44 + } 45 + case "do-output__dc-output__s3": { 46 + import("./components/output/bytes/s3/element.js"); 47 + import("./components/transformer/output/bytes/dasl-sync/element.js"); 48 + break; 49 + } 50 + } 51 + }); 52 + previouslyActivated = set; 53 + }); 54 + } 55 + // ELEMENT GETTERS 56 + /** 57 + * @returns {OutputElement} 58 + */ 59 + get output() { 60 + const output = this.root().querySelector("#do-output__output"); 61 + if (!output) throw new Error("Output orchestrator did not render yet."); 62 + return output; 63 + } 64 + /** 65 + * @returns {OutputConfiguratorElement} 66 + */ 67 + get outputConfigurator() { 68 + const outputConfigurator = this.root().querySelector( 69 + "#do-output__dc-output" 70 + ); 71 + if (!outputConfigurator) { 72 + throw new Error("Output orchestrator did not render yet."); 73 + } 74 + return outputConfigurator; 75 + } 76 + // PROXY OUTPUT ACTIONS 77 + get facets() { 78 + return this.output.facets; 79 + } 80 + get playlistItems() { 81 + return this.output.playlistItems; 82 + } 83 + get themes() { 84 + return this.output.themes; 85 + } 86 + get tracks() { 87 + return this.output.tracks; 88 + } 89 + get ready() { 90 + return this.output.ready; 91 + } 92 + // PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS 93 + get activated() { 94 + return this.outputConfigurator.activated; 95 + } 96 + get deselect() { 97 + return this.outputConfigurator.deselect; 98 + } 99 + get options() { 100 + return this.outputConfigurator.options; 101 + } 102 + get select() { 103 + return this.outputConfigurator.select; 104 + } 105 + get selected() { 106 + return this.outputConfigurator.selected; 107 + } 108 + // RENDER 109 + /** 110 + * @param {RenderArg} _ 111 + */ 112 + render({ html }) { 113 + const group = this.group === DEFAULT_GROUP ? void 0 : this.group; 114 + return html` 115 + <dop-indexed-db 116 + id="do-output__dop-indexed-db__json" 117 + namespace="json" 118 + group="${o(group)}" 119 + ></dop-indexed-db> 120 + 121 + <!-- ⚙️ S3 --> 122 + <dob-s3 id="do-output__dob-s3" group="${o(group)}"></dob-s3> 123 + 124 + <!-- ⚙️ ATPROTO --> 125 + <dtor-atproto-sync 126 + id="do-output__dtor-atproto-sync" 127 + namespace="atproto" 128 + output-selector="#do-output__dor-atproto" 129 + group="${o(group)}" 130 + ></dtor-atproto-sync> 131 + 132 + <dor-atproto 133 + id="do-output__dor-atproto" 134 + group="${o(group)}" 135 + ></dor-atproto> 136 + 137 + <!-- OUTPUT CONFIGURATOR --> 138 + <dc-output 139 + id="do-output__dc-output" 140 + default="do-output__dc-output__local" 141 + group="${o(group)}" 142 + > 143 + <!-- local --> 144 + <dtos-json 145 + id="do-output__dc-output__local" 146 + output-selector="#do-output__dop-indexed-db__json" 147 + label="Local" 148 + ></dtos-json> 149 + 150 + <!-- atproto --> 151 + <dtor-track-uri-passkey 152 + id="do-output__dc-output__atproto" 153 + namespace="atproto" 154 + output-selector="#do-output__dtor-atproto-sync" 155 + group="${o(group)}" 156 + label="AT Protocol" 157 + > 158 + </dtor-track-uri-passkey> 159 + 160 + <!-- s3 --> 161 + <dtob-dasl-sync 162 + id="do-output__dc-output__s3" 163 + namespace="s3" 164 + output-selector="#do-output__dob-s3" 165 + group="${o(group)}" 166 + label="S3" 167 + ></dtob-dasl-sync> 168 + </dc-output> 169 + 170 + <!-- ENTRY ⬆️ --> 171 + <dtor-default 172 + id="do-output__output" 173 + output-selector="#do-output__dc-output" 174 + ></dtor-default> 175 + `; 176 + } 177 + }; 178 + var element_default = OutputOrchestrator; 179 + var CLASS = OutputOrchestrator; 180 + var NAME = "do-output"; 181 + customElements.define(NAME, CLASS); 182 + 183 + export { 184 + element_default, 185 + CLASS, 186 + NAME 187 + }; 188 + 189 + //# sourceMappingURL=./chunk-JEGKC6HA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JEGKC6HA.js.map
··· 1 + {"version":3,"sources":["/components/orchestrator/output/element.js"],"sourcesContent":["import { ifDefined } from \"lit-html/directives/if-defined.js\";\nimport { DEFAULT_GROUP, DiffuseElement } from \"@common/element.js\";\n\nimport \"@components/configurator/output/element.js\";\nimport \"@components/transformer/output/refiner/default/element.js\";\n\n/**\n * @import {RenderArg} from \"@common/element.d.ts\"\n * @import {OutputElement} from \"@components/output/types.d.ts\"\n * @import {OutputConfiguratorElement} from \"@components/configurator/output/types.d.ts\"\n */\n\n////////////////////////////////////////////\n// ELEMENT\n////////////////////////////////////////////\n\n/**\n * A default setup for managing output.\n *\n * @implements {OutputConfiguratorElement}\n */\nclass OutputOrchestrator extends DiffuseElement {\n static NAME = \"diffuse/orchestrator/output\";\n\n // LIFECYCLE\n\n /**\n * @override\n */\n async connectedCallback() {\n super.connectedCallback();\n\n /** @type {Set<string>} */\n let previouslyActivated = new Set();\n\n this.effect(() => {\n const set = this.outputConfigurator.activated();\n const newlyActicated = set.difference(previouslyActivated);\n\n newlyActicated.forEach((id) => {\n switch (id) {\n case \"do-output__dc-output__local\": {\n import(\"@components/output/polymorphic/indexed-db/element.js\");\n import(\"@components/transformer/output/string/json/element.js\");\n break;\n }\n case \"do-output__dc-output__atproto\": {\n import(\"@components/output/raw/atproto/element.js\");\n import(\n \"@components/transformer/output/raw/atproto-sync/element.js\"\n );\n import(\n \"@components/transformer/output/refiner/track-uri-passkey/element.js\"\n );\n break;\n }\n case \"do-output__dc-output__s3\": {\n import(\"@components/output/bytes/s3/element.js\");\n import(\"@components/transformer/output/bytes/dasl-sync/element.js\");\n break;\n }\n }\n });\n\n previouslyActivated = set;\n });\n }\n\n // ELEMENT GETTERS\n\n /**\n * @returns {OutputElement}\n */\n get output() {\n /** @type {OutputElement | null} */\n const output = this.root().querySelector(\"#do-output__output\");\n\n if (!output) throw new Error(\"Output orchestrator did not render yet.\");\n return output;\n }\n\n /**\n * @returns {OutputConfiguratorElement}\n */\n get outputConfigurator() {\n /** @type {OutputConfiguratorElement | null} */\n const outputConfigurator = this.root().querySelector(\n \"#do-output__dc-output\",\n );\n\n if (!outputConfigurator) {\n throw new Error(\"Output orchestrator did not render yet.\");\n }\n\n return outputConfigurator;\n }\n\n // PROXY OUTPUT ACTIONS\n\n get facets() {\n return this.output.facets;\n }\n\n get playlistItems() {\n return this.output.playlistItems;\n }\n\n get themes() {\n return this.output.themes;\n }\n\n get tracks() {\n return this.output.tracks;\n }\n\n get ready() {\n return this.output.ready;\n }\n\n // PROXY ADDITIONAL OUTPUT CONFIGURATOR ACTIONS\n\n get activated() {\n return this.outputConfigurator.activated;\n }\n\n get deselect() {\n return this.outputConfigurator.deselect;\n }\n\n get options() {\n return this.outputConfigurator.options;\n }\n\n get select() {\n return this.outputConfigurator.select;\n }\n\n get selected() {\n return this.outputConfigurator.selected;\n }\n\n // RENDER\n\n /**\n * @param {RenderArg} _\n */\n render({ html }) {\n const group = this.group === DEFAULT_GROUP ? undefined : this.group;\n\n return html`\n <dop-indexed-db\n id=\"do-output__dop-indexed-db__json\"\n namespace=\"json\"\n group=\"${ifDefined(group)}\"\n ></dop-indexed-db>\n\n <!-- ⚙️ S3 -->\n <dob-s3 id=\"do-output__dob-s3\" group=\"${ifDefined(group)}\"></dob-s3>\n\n <!-- ⚙️ ATPROTO -->\n <dtor-atproto-sync\n id=\"do-output__dtor-atproto-sync\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dor-atproto\"\n group=\"${ifDefined(group)}\"\n ></dtor-atproto-sync>\n\n <dor-atproto\n id=\"do-output__dor-atproto\"\n group=\"${ifDefined(group)}\"\n ></dor-atproto>\n\n <!-- OUTPUT CONFIGURATOR -->\n <dc-output\n id=\"do-output__dc-output\"\n default=\"do-output__dc-output__local\"\n group=\"${ifDefined(group)}\"\n >\n <!-- local -->\n <dtos-json\n id=\"do-output__dc-output__local\"\n output-selector=\"#do-output__dop-indexed-db__json\"\n label=\"Local\"\n ></dtos-json>\n\n <!-- atproto -->\n <dtor-track-uri-passkey\n id=\"do-output__dc-output__atproto\"\n namespace=\"atproto\"\n output-selector=\"#do-output__dtor-atproto-sync\"\n group=\"${ifDefined(group)}\"\n label=\"AT Protocol\"\n >\n </dtor-track-uri-passkey>\n\n <!-- s3 -->\n <dtob-dasl-sync\n id=\"do-output__dc-output__s3\"\n namespace=\"s3\"\n output-selector=\"#do-output__dob-s3\"\n group=\"${ifDefined(group)}\"\n label=\"S3\"\n ></dtob-dasl-sync>\n </dc-output>\n\n <!-- ENTRY ⬆️ -->\n <dtor-default\n id=\"do-output__output\"\n output-selector=\"#do-output__dc-output\"\n ></dtor-default>\n `;\n }\n}\n\nexport default OutputOrchestrator;\n\n////////////////////////////////////////////\n// REGISTER\n////////////////////////////////////////////\n\nexport const CLASS = OutputOrchestrator;\nexport const NAME = \"do-output\";\n\ncustomElements.define(NAME, CLASS);\n"],"mappings":"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","names":[],"sourceRoot":"file:///var/home/toko/Code/tokono.ma/diffuse-artifacts/diffuse","file":"/chunk-JEGKC6HA.js.map"}
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JZMTETBD.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-JZMTETBD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-JZMTETBD.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-JZMTETBD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-KJFA7KRK.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-KJFA7KRK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-KJFA7KRK.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-KJFA7KRK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-M2MAFKPM.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-M2MAFKPM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-M2MAFKPM.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-M2MAFKPM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MKOANARL.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MKOANARL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MKOANARL.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MKOANARL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MVUUUQRL.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MVUUUQRL.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-MVUUUQRL.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-MVUUUQRL.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NBQPHQFP.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NBQPHQFP.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NBQPHQFP.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NBQPHQFP.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NKNZGHQG.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NKNZGHQG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NKNZGHQG.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NKNZGHQG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NP7LZHKR.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NP7LZHKR.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NP7LZHKR.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-NP7LZHKR.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NSJY6VZI.js
··· 1 + ../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/chunk-NSJY6VZI.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NSJY6VZI.js.map
··· 1 + ../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/chunk-NSJY6VZI.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NZ7ODGIJ.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-NZ7ODGIJ.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-NZ7ODGIJ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OBWEBS4T.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OBWEBS4T.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OBWEBS4T.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OBWEBS4T.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OIRYE7B4.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OIRYE7B4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-OIRYE7B4.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-OIRYE7B4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PJWFBDSG.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PJWFBDSG.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/chunk-PJWFBDSG.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PKN6FN7E.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-PKN6FN7E.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PKN6FN7E.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-PKN6FN7E.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PTVB4Y37.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-PTVB4Y37.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-PTVB4Y37.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QERJLR3Q.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QERJLR3Q.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QERJLR3Q.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QERJLR3Q.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QXBWZVFE.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QXBWZVFE.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-QXBWZVFE.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-QXBWZVFE.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-R3EQQDW5.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-R3EQQDW5.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-R3EQQDW5.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-R3EQQDW5.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-S6SMX4HA.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-S6SMX4HA.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-S6SMX4HA.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-S6SMX4HA.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SGR5ST3A.js
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SGR5ST3A.js.map
··· 1 + ../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/chunk-SGR5ST3A.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SVYFDHZC.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-SVYFDHZC.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-SVYFDHZC.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-SVYFDHZC.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T2ADV37I.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-T2ADV37I.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T2ADV37I.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-T2ADV37I.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T6JAPJ7J.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-T6JAPJ7J.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-T6JAPJ7J.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TP5GZFTO.js
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TP5GZFTO.js.map
··· 1 + ../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/chunk-TP5GZFTO.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TSYF7OPM.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TSYF7OPM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TSYF7OPM.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TSYF7OPM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TXU4RB3O.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TXU4RB3O.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-TXU4RB3O.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-TXU4RB3O.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-U5LVPDQM.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-U5LVPDQM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-U5LVPDQM.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-U5LVPDQM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-UMMPFCLQ.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-UMMPFCLQ.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-UMMPFCLQ.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-UMMPFCLQ.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-V7EQPFPD.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-V7EQPFPD.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-V7EQPFPD.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-V7EQPFPD.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-WN6GL63Q.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-WN6GL63Q.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-WN6GL63Q.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-X6J7NMRW.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-X6J7NMRW.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-X6J7NMRW.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-X6J7NMRW.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XGM6M423.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XGM6M423.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XGM6M423.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XGM6M423.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XMHD7DTB.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XMHD7DTB.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XMHD7DTB.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XMHD7DTB.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XRGLBUX4.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XRGLBUX4.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-XRGLBUX4.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-XRGLBUX4.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YCKIJVMK.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YCKIJVMK.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YCKIJVMK.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YCKIJVMK.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YEYOLW6N.js
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YEYOLW6N.js.map
··· 1 + ../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/chunk-YEYOLW6N.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YV3SRJQF.js
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YV3SRJQF.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-YV3SRJQF.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/chunk-YV3SRJQF.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-Z2SJTSR2.js
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-Z2SJTSR2.js.map
··· 1 + ../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/chunk-Z2SJTSR2.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ZQZJJU3T.js
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/chunk-ZQZJJU3T.js.map
··· 1 + ../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/chunk-ZQZJJU3T.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/cid.js
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/cid.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/cid.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/compare.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/compare.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/compare.js.map
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/compare.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/element.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/element.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/element.js.map
+61
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/foundation.js
··· 1 + import { 2 + GROUP, 3 + config, 4 + findExistingOrAdd, 5 + foundation_default 6 + } from "../../chunk-HDFVYYOI.js"; 7 + import "../../chunk-G4P4YFWD.js"; 8 + import "../../chunk-6JNRNMZQ.js"; 9 + import "../../chunk-UMMPFCLQ.js"; 10 + import "../../chunk-PKN6FN7E.js"; 11 + import "../../chunk-NP7LZHKR.js"; 12 + import "../../chunk-M2MAFKPM.js"; 13 + import "../../chunk-YV3SRJQF.js"; 14 + import "../../chunk-MVUUUQRL.js"; 15 + import "../../chunk-ESYALJPH.js"; 16 + import "../../chunk-U5LVPDQM.js"; 17 + import "../../chunk-JEGKC6HA.js"; 18 + import "../../chunk-6KMZB5IA.js"; 19 + import "../../chunk-XGM6M423.js"; 20 + import "../../chunk-B63ZUKFI.js"; 21 + import "../../chunk-TXU4RB3O.js"; 22 + import "../../chunk-3ENCKNXO.js"; 23 + import "../../chunk-OIRYE7B4.js"; 24 + import "../../chunk-3AO35WC3.js"; 25 + import "../../chunk-JBHW662S.js"; 26 + import "../../chunk-GX3WPNEX.js"; 27 + import "../../chunk-FJBTJV3K.js"; 28 + import "../../chunk-PTVB4Y37.js"; 29 + import "../../chunk-HN4F5JEZ.js"; 30 + import "../../chunk-NBQPHQFP.js"; 31 + import "../../chunk-QERJLR3Q.js"; 32 + import "../../chunk-OBWEBS4T.js"; 33 + import "../../chunk-S6SMX4HA.js"; 34 + import "../../chunk-XRGLBUX4.js"; 35 + import "../../chunk-R3EQQDW5.js"; 36 + import "../../chunk-GQIBEDKG.js"; 37 + import "../../chunk-DDF5P57I.js"; 38 + import "../../chunk-EEUCFWD4.js"; 39 + import "../../chunk-6DRHTH2U.js"; 40 + import "../../chunk-TSYF7OPM.js"; 41 + import "../../chunk-GCLDJKYV.js"; 42 + import "../../chunk-KJFA7KRK.js"; 43 + import "../../chunk-HMBZONBJ.js"; 44 + import "../../chunk-6CB2LXND.js"; 45 + import "../../chunk-V7EQPFPD.js"; 46 + import "../../chunk-G56PUJUJ.js"; 47 + import "../../chunk-6DKPDMFE.js"; 48 + import "../../chunk-TP5GZFTO.js"; 49 + import "../../chunk-ZQZJJU3T.js"; 50 + import "../../chunk-BKRD2ZIW.js"; 51 + import "../../chunk-HNJPKCUJ.js"; 52 + import "../../chunk-SGR5ST3A.js"; 53 + import "../../chunk-FZQXS3RE.js"; 54 + export { 55 + GROUP, 56 + config, 57 + foundation_default as default, 58 + findExistingOrAdd 59 + }; 60 + 61 + //# sourceMappingURL=./foundation.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/foundation.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/foundation.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/utils.js
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/facets/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/facets/utils.js.map
··· 1 + ../../../bafybeibpmqpxuvey34kzaxj3yyprwbkgvhbuz3xpxb74jpk7nxgxu2yr74/common/facets/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/loader.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/loader.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/loader.js.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/loader.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/playlist.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/playlist.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/playlist.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/playlist.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/signal.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/signal.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/signal.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/signal.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/themes/utils.js
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/themes/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/themes/utils.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/common/themes/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/track.js
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/track.js.map
··· 1 + ../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/common/track.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/utils.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/common/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/utils.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker.js
··· 1 + ../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/common/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker.js.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/common/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker/rpc-channel.js
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/common/worker/rpc-channel.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/common/worker/rpc-channel.js.map
··· 1 + ../../../bafybeidql7hdkrjfygjungtaqteq4sjgcxcjpndgmjqp7yt4rjqzrdfvja/common/worker/rpc-channel.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/input/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/input/worker.js.map
··· 1 + ../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/configurator/input/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/output/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/configurator/output/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/configurator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/configurator/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/audio/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/audio/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/audio/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/queue/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/engine/queue/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/queue/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/queue/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/engine/queue/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/repeat-shuffle/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/repeat-shuffle/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/repeat-shuffle/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/engine/repeat-shuffle/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/scope/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/engine/scope/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/engine/scope/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/engine/scope/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/common.js
··· 1 + ../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/common.js
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/constants.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/https/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/https/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/https/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/https/worker.js.map
··· 1 + ../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/input/https/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/class.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/class.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/class.js.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/components/input/opensubsonic/class.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/common.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/opensubsonic/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/opensubsonic/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/opensubsonic/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/opensubsonic/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/opensubsonic/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/common.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/input/s3/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/input/s3/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/input/s3/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/input/s3/worker.js.map
··· 1 + ../../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/components/input/s3/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/auto-queue/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/auto-queue/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/auto-queue/element.js.map
··· 1 + ../../../../bafybeia4lo67fqia3emjf54vzbrvfyao6fwndoc4rnqpav4yezowfg4j6e/components/orchestrator/auto-queue/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/common.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/common.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/element.js.map
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/orchestrator/favourites/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/favourites/worker.js.map
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/favourites/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/input/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/input/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/media-session/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/media-session/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/media-session/element.js.map
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/media-session/element.js.map
+23
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/output/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../chunk-JEGKC6HA.js"; 6 + import "../../../chunk-6KMZB5IA.js"; 7 + import "../../../chunk-XGM6M423.js"; 8 + import "../../../chunk-B63ZUKFI.js"; 9 + import "../../../chunk-6CB2LXND.js"; 10 + import "../../../chunk-V7EQPFPD.js"; 11 + import "../../../chunk-G56PUJUJ.js"; 12 + import "../../../chunk-6DKPDMFE.js"; 13 + import "../../../chunk-TP5GZFTO.js"; 14 + import "../../../chunk-ZQZJJU3T.js"; 15 + import "../../../chunk-HNJPKCUJ.js"; 16 + import "../../../chunk-FZQXS3RE.js"; 17 + export { 18 + CLASS, 19 + NAME, 20 + element_default as default 21 + }; 22 + 23 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/output/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/process-tracks/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/process-tracks/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/process-tracks/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/process-tracks/worker.js.map
··· 1 + ../../../../bafybeidi3kcddz5dkh3zvsszshh4pe37cf4zjgco3xgydj77g7v3ksd2ya/components/orchestrator/process-tracks/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/queue-audio/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/queue-audio/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/queue-audio/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/queue-audio/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/scoped-tracks/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/scoped-tracks/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/scoped-tracks/element.js.map
··· 1 + ../../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/components/orchestrator/scoped-tracks/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/sources/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/orchestrator/sources/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/orchestrator/sources/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/orchestrator/sources/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/constants.js
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/constants.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/bytes/s3/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/element.js
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/bytes/s3/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/element.js.map
··· 1 + ../../../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/components/output/bytes/s3/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/worker.js
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/bytes/s3/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/bytes/s3/worker.js.map
··· 1 + ../../../../../bafybeidjafrs7ninvfei7lpwwdxcb6iddo52q2twtmznramlolmp6mi5ai/components/output/bytes/s3/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/common.js
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/common.js.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/constants.js
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/polymorphic/indexed-db/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/constants.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/element.js
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/output/polymorphic/indexed-db/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/polymorphic/indexed-db/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/output/polymorphic/indexed-db/element.js.map
+29
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-GASLBSUN.js"; 6 + import "../../../../chunk-NSJY6VZI.js"; 7 + import "../../../../chunk-77ZY4GQV.js"; 8 + import "../../../../chunk-NZ7ODGIJ.js"; 9 + import "../../../../chunk-YCKIJVMK.js"; 10 + import "../../../../chunk-JZMTETBD.js"; 11 + import "../../../../chunk-H3WG7GN4.js"; 12 + import "../../../../chunk-V7EQPFPD.js"; 13 + import "../../../../chunk-G56PUJUJ.js"; 14 + import "../../../../chunk-6DKPDMFE.js"; 15 + import "../../../../chunk-TP5GZFTO.js"; 16 + import "../../../../chunk-ZQZJJU3T.js"; 17 + import "../../../../chunk-WN6GL63Q.js"; 18 + import "../../../../chunk-CRZ7HJJ4.js"; 19 + import "../../../../chunk-242LG3VP.js"; 20 + import "../../../../chunk-BKRD2ZIW.js"; 21 + import "../../../../chunk-HNJPKCUJ.js"; 22 + import "../../../../chunk-FZQXS3RE.js"; 23 + export { 24 + CLASS, 25 + NAME, 26 + element_default as default 27 + }; 28 + 29 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/oauth.js
··· 1 + ../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/output/raw/atproto/oauth.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/output/raw/atproto/oauth.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/output/raw/atproto/oauth.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/constants.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/processor/artwork/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/artwork/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/artwork/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/artwork/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/artwork/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/artwork/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/common.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/common.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/common.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/common.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/metadata/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/metadata/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/metadata/worker.js.map
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/metadata/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/constants.js
··· 1 + ../../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/components/processor/search/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/constants.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/processor/search/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/worker.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/worker.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/processor/search/worker.js.map
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/processor/search/worker.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/base.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/base.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/base.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/base.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/constants.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/constants.js.map
··· 1 + ../../../../../../bafybeieo3vdz7hmuriods6ueueg5yt6xctzjqrmqdasqr4plalwojiwvou/components/transformer/output/bytes/automerge/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/element.js.map
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/utils.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/automerge/utils.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/automerge/utils.js.map
··· 1 + ../../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/components/transformer/output/bytes/automerge/utils.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/constants.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/constants.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/constants.js.map
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/constants.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/dasl-sync/element.js.map
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/dasl-sync/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/json/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/bytes/json/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/bytes/json/element.js.map
··· 1 + ../../../../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/components/transformer/output/bytes/json/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/raw/atproto-sync/element.js
··· 1 + ../../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/transformer/output/raw/atproto-sync/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/raw/atproto-sync/element.js.map
··· 1 + ../../../../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/components/transformer/output/raw/atproto-sync/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/default/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/default/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/default/element.js.map
··· 1 + ../../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/components/transformer/output/refiner/default/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/element.js.map
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/passkey.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/passkey.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/refiner/track-uri-passkey/passkey.js.map
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/refiner/track-uri-passkey/passkey.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/string/json/element.js
··· 1 + ../../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/components/transformer/output/string/json/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/components/transformer/output/string/json/element.js.map
··· 1 + ../../../../../../bafybeif36x7yy3gignoyekheplnhh4og5l5z3nrvviouxgiy36iimz3vai/components/transformer/output/string/json/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/index.ts
··· 1 + ../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/definitions/index.ts
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/collaboration.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/collaboration.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/facet.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/facet.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/playlistItem.json
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/definitions/output/playlistItem.json
+23
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/playlistItemBundle.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.diffuse.output.playlistItemBundle", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "record": { 8 + "type": "object", 9 + "required": ["id", "playlistItems"], 10 + "properties": { 11 + "id": { "type": "string" }, 12 + "createdAt": { "type": "string", "format": "datetime" }, 13 + "playlistItems": { 14 + "type": "array", 15 + "description": "A bundle of playlist items", 16 + "items": { "type": "ref", "ref": "sh.diffuse.output.playlistItem" } 17 + }, 18 + "updatedAt": { "type": "string", "format": "datetime" } 19 + } 20 + } 21 + } 22 + } 23 + }
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/theme.json
··· 1 + ../../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/definitions/output/theme.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/track.json
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/definitions/output/track.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/definitions/output/trackBundle.json
··· 1 + ../../../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/definitions/output/trackBundle.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/examples/generate-playlist.html.txt
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/examples/generate-playlist.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/examples/now-playing.html.txt
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/examples/now-playing.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.html
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/facets/index.html
+1636
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + facetFromURI 11 + } from "../chunk-7XAKBJEU.js"; 12 + import { 13 + foundation_default 14 + } from "../chunk-HDFVYYOI.js"; 15 + import "../chunk-G4P4YFWD.js"; 16 + import "../chunk-6JNRNMZQ.js"; 17 + import "../chunk-UMMPFCLQ.js"; 18 + import "../chunk-PKN6FN7E.js"; 19 + import "../chunk-NP7LZHKR.js"; 20 + import "../chunk-M2MAFKPM.js"; 21 + import "../chunk-YV3SRJQF.js"; 22 + import "../chunk-MVUUUQRL.js"; 23 + import "../chunk-ESYALJPH.js"; 24 + import "../chunk-U5LVPDQM.js"; 25 + import "../chunk-JEGKC6HA.js"; 26 + import "../chunk-6KMZB5IA.js"; 27 + import "../chunk-XGM6M423.js"; 28 + import "../chunk-B63ZUKFI.js"; 29 + import "../chunk-TXU4RB3O.js"; 30 + import "../chunk-3ENCKNXO.js"; 31 + import "../chunk-OIRYE7B4.js"; 32 + import "../chunk-3AO35WC3.js"; 33 + import "../chunk-JBHW662S.js"; 34 + import "../chunk-GX3WPNEX.js"; 35 + import "../chunk-FJBTJV3K.js"; 36 + import "../chunk-PTVB4Y37.js"; 37 + import "../chunk-HN4F5JEZ.js"; 38 + import { 39 + i as i2 40 + } from "../chunk-NBQPHQFP.js"; 41 + import { 42 + e, 43 + i, 44 + t 45 + } from "../chunk-QERJLR3Q.js"; 46 + import "../chunk-OBWEBS4T.js"; 47 + import "../chunk-S6SMX4HA.js"; 48 + import "../chunk-XRGLBUX4.js"; 49 + import "../chunk-R3EQQDW5.js"; 50 + import "../chunk-GQIBEDKG.js"; 51 + import "../chunk-DDF5P57I.js"; 52 + import "../chunk-EEUCFWD4.js"; 53 + import "../chunk-6DRHTH2U.js"; 54 + import "../chunk-TSYF7OPM.js"; 55 + import "../chunk-GCLDJKYV.js"; 56 + import "../chunk-KJFA7KRK.js"; 57 + import "../chunk-HMBZONBJ.js"; 58 + import "../chunk-6CB2LXND.js"; 59 + import { 60 + A, 61 + B, 62 + E, 63 + T 64 + } from "../chunk-V7EQPFPD.js"; 65 + import "../chunk-G56PUJUJ.js"; 66 + import "../chunk-6DKPDMFE.js"; 67 + import "../chunk-TP5GZFTO.js"; 68 + import "../chunk-ZQZJJU3T.js"; 69 + import { 70 + loadURI 71 + } from "../chunk-X6J7NMRW.js"; 72 + import "../chunk-WN6GL63Q.js"; 73 + import "../chunk-CRZ7HJJ4.js"; 74 + import "../chunk-242LG3VP.js"; 75 + import { 76 + now 77 + } from "../chunk-BKRD2ZIW.js"; 78 + import { 79 + effect, 80 + signal 81 + } from "../chunk-HNJPKCUJ.js"; 82 + import { 83 + create 84 + } from "../chunk-4YB6QUPN.js"; 85 + import "../chunk-SGR5ST3A.js"; 86 + import { 87 + __name, 88 + init_Buffer, 89 + init_process 90 + } from "../chunk-FZQXS3RE.js"; 91 + 92 + // facets/index.js 93 + init_Buffer(); 94 + init_process(); 95 + 96 + // ../node_modules/.deno/marked@17.0.3/node_modules/marked/lib/marked.esm.js 97 + init_Buffer(); 98 + init_process(); 99 + function M() { 100 + return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null }; 101 + } 102 + __name(M, "M"); 103 + var T2 = M(); 104 + function H(u3) { 105 + T2 = u3; 106 + } 107 + __name(H, "H"); 108 + var _ = { exec: /* @__PURE__ */ __name(() => null, "exec") }; 109 + function k(u3, e3 = "") { 110 + let t2 = typeof u3 == "string" ? u3 : u3.source, n = { replace: /* @__PURE__ */ __name((r, i3) => { 111 + let s = typeof i3 == "string" ? i3 : i3.source; 112 + return s = s.replace(m.caret, "$1"), t2 = t2.replace(r, s), n; 113 + }, "replace"), getRegex: /* @__PURE__ */ __name(() => new RegExp(t2, e3), "getRegex") }; 114 + return n; 115 + } 116 + __name(k, "k"); 117 + var Re = (() => { 118 + try { 119 + return !!new RegExp("(?<=1)(?<!1)"); 120 + } catch { 121 + return false; 122 + } 123 + })(); 124 + var m = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^( {0,3}${u3})((?:[ ][^\\n]*)?(?:\\n|$))`), "listItemRegex"), nextBulletRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), "nextBulletRegex"), hrRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), "hrRegex"), fencesBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}(?:\`\`\`|~~~)`), "fencesBeginRegex"), headingBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}#`), "headingBeginRegex"), htmlBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}<(?:[a-z].*>|!--)`, "i"), "htmlBeginRegex"), blockquoteBeginRegex: /* @__PURE__ */ __name((u3) => new RegExp(`^ {0,${Math.min(3, u3 - 1)}}>`), "blockquoteBeginRegex") }; 125 + var Te = /^(?:[ \t]*(?:\n|$))+/; 126 + var Oe = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/; 127 + var we = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/; 128 + var I = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/; 129 + var ye = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/; 130 + var N = / {0,3}(?:[*+-]|\d{1,9}[.)])/; 131 + var re = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/; 132 + var se = k(re).replace(/bull/g, N).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(); 133 + var Pe = k(re).replace(/bull/g, N).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(); 134 + var Q = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/; 135 + var Se = /^[^\n]+/; 136 + var F = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/; 137 + var $e = k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", F).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(); 138 + var _e = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, N).getRegex(); 139 + var q = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul"; 140 + var j = /<!--(?:-?>|[\s\S]*?(?:-->|$))/; 141 + var Le = k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", j).replace("tag", q).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(); 142 + var ie = k(Q).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex(); 143 + var Me = k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ie).getRegex(); 144 + var U = { blockquote: Me, code: Oe, def: $e, fences: we, heading: ye, hr: I, html: Le, lheading: se, list: _e, newline: Te, paragraph: ie, table: _, text: Se }; 145 + var te = k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex(); 146 + var ze = { ...U, lheading: Pe, table: te, paragraph: k(Q).replace("hr", I).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", te).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", q).getRegex() }; 147 + var Ce = { ...U, html: k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", j).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: _, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: k(Q).replace("hr", I).replace("heading", ` *#{1,6} *[^ 148 + ]`).replace("lheading", se).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }; 149 + var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/; 150 + var Ie = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/; 151 + var oe = /^( {2,}|\\)\n(?!\s*$)/; 152 + var Ee = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/; 153 + var v = /[\p{P}\p{S}]/u; 154 + var K = /[\s\p{P}\p{S}]/u; 155 + var ae = /[^\s\p{P}\p{S}]/u; 156 + var Be = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, K).getRegex(); 157 + var le = /(?!~)[\p{P}\p{S}]/u; 158 + var De = /(?!~)[\s\p{P}\p{S}]/u; 159 + var qe = /(?:[^\s\p{P}\p{S}]|~)/u; 160 + var ue = /(?![*_])[\p{P}\p{S}]/u; 161 + var ve = /(?![*_])[\s\p{P}\p{S}]/u; 162 + var Ge = /(?:[^\s\p{P}\p{S}]|[*_])/u; 163 + var He = k(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Re ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(); 164 + var pe = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/; 165 + var Ze = k(pe, "u").replace(/punct/g, v).getRegex(); 166 + var Ne = k(pe, "u").replace(/punct/g, le).getRegex(); 167 + var ce = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)"; 168 + var Qe = k(ce, "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex(); 169 + var Fe = k(ce, "gu").replace(/notPunctSpace/g, qe).replace(/punctSpace/g, De).replace(/punct/g, le).getRegex(); 170 + var je = k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ae).replace(/punctSpace/g, K).replace(/punct/g, v).getRegex(); 171 + var Ue = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, ue).getRegex(); 172 + var Ke = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)"; 173 + var We = k(Ke, "gu").replace(/notPunctSpace/g, Ge).replace(/punctSpace/g, ve).replace(/punct/g, ue).getRegex(); 174 + var Xe = k(/\\(punct)/, "gu").replace(/punct/g, v).getRegex(); 175 + var Je = k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(); 176 + var Ve = k(j).replace("(?:-->|$)", "-->").getRegex(); 177 + var Ye = k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", Ve).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(); 178 + var D = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/; 179 + var et = k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", D).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(); 180 + var he = k(/^!?\[(label)\]\[(ref)\]/).replace("label", D).replace("ref", F).getRegex(); 181 + var ke = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", F).getRegex(); 182 + var tt = k("reflink|nolink(?!\\()", "g").replace("reflink", he).replace("nolink", ke).getRegex(); 183 + var ne = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/; 184 + var W = { _backpedal: _, anyPunctuation: Xe, autolink: Je, blockSkip: He, br: oe, code: Ie, del: _, delLDelim: _, delRDelim: _, emStrongLDelim: Ze, emStrongRDelimAst: Qe, emStrongRDelimUnd: je, escape: Ae, link: et, nolink: ke, punctuation: Be, reflink: he, reflinkSearch: tt, tag: Ye, text: Ee, url: _ }; 185 + var nt = { ...W, link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", D).getRegex(), reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", D).getRegex() }; 186 + var Z = { ...W, emStrongRDelimAst: Fe, emStrongLDelim: Ne, delLDelim: Ue, delRDelim: We, url: k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", ne).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", ne).getRegex() }; 187 + var rt = { ...Z, br: k(oe).replace("{2,}", "*").getRegex(), text: k(Z.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }; 188 + var E2 = { normal: U, gfm: ze, pedantic: Ce }; 189 + var z = { normal: W, gfm: Z, breaks: rt, pedantic: nt }; 190 + var st = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }; 191 + var de = /* @__PURE__ */ __name((u3) => st[u3], "de"); 192 + function O(u3, e3) { 193 + if (e3) { 194 + if (m.escapeTest.test(u3)) return u3.replace(m.escapeReplace, de); 195 + } else if (m.escapeTestNoEncode.test(u3)) return u3.replace(m.escapeReplaceNoEncode, de); 196 + return u3; 197 + } 198 + __name(O, "O"); 199 + function X(u3) { 200 + try { 201 + u3 = encodeURI(u3).replace(m.percentDecode, "%"); 202 + } catch { 203 + return null; 204 + } 205 + return u3; 206 + } 207 + __name(X, "X"); 208 + function J(u3, e3) { 209 + let t2 = u3.replace(m.findPipe, (i3, s, a) => { 210 + let o2 = false, l = s; 211 + for (; --l >= 0 && a[l] === "\\"; ) o2 = !o2; 212 + return o2 ? "|" : " |"; 213 + }), n = t2.split(m.splitPipe), r = 0; 214 + if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e3) if (n.length > e3) n.splice(e3); 215 + else for (; n.length < e3; ) n.push(""); 216 + for (; r < n.length; r++) n[r] = n[r].trim().replace(m.slashPipe, "|"); 217 + return n; 218 + } 219 + __name(J, "J"); 220 + function C(u3, e3, t2) { 221 + let n = u3.length; 222 + if (n === 0) return ""; 223 + let r = 0; 224 + for (; r < n; ) { 225 + let i3 = u3.charAt(n - r - 1); 226 + if (i3 === e3 && !t2) r++; 227 + else if (i3 !== e3 && t2) r++; 228 + else break; 229 + } 230 + return u3.slice(0, n - r); 231 + } 232 + __name(C, "C"); 233 + function ge(u3, e3) { 234 + if (u3.indexOf(e3[1]) === -1) return -1; 235 + let t2 = 0; 236 + for (let n = 0; n < u3.length; n++) if (u3[n] === "\\") n++; 237 + else if (u3[n] === e3[0]) t2++; 238 + else if (u3[n] === e3[1] && (t2--, t2 < 0)) return n; 239 + return t2 > 0 ? -2 : -1; 240 + } 241 + __name(ge, "ge"); 242 + function fe(u3, e3 = 0) { 243 + let t2 = e3, n = ""; 244 + for (let r of u3) if (r === " ") { 245 + let i3 = 4 - t2 % 4; 246 + n += " ".repeat(i3), t2 += i3; 247 + } else n += r, t2++; 248 + return n; 249 + } 250 + __name(fe, "fe"); 251 + function me(u3, e3, t2, n, r) { 252 + let i3 = e3.href, s = e3.title || null, a = u3[1].replace(r.other.outputLinkReplace, "$1"); 253 + n.state.inLink = true; 254 + let o2 = { type: u3[0].charAt(0) === "!" ? "image" : "link", raw: t2, href: i3, title: s, text: a, tokens: n.inlineTokens(a) }; 255 + return n.state.inLink = false, o2; 256 + } 257 + __name(me, "me"); 258 + function it(u3, e3, t2) { 259 + let n = u3.match(t2.other.indentCodeCompensation); 260 + if (n === null) return e3; 261 + let r = n[1]; 262 + return e3.split(` 263 + `).map((i3) => { 264 + let s = i3.match(t2.other.beginningSpace); 265 + if (s === null) return i3; 266 + let [a] = s; 267 + return a.length >= r.length ? i3.slice(r.length) : i3; 268 + }).join(` 269 + `); 270 + } 271 + __name(it, "it"); 272 + var w = class { 273 + static { 274 + __name(this, "w"); 275 + } 276 + options; 277 + rules; 278 + lexer; 279 + constructor(e3) { 280 + this.options = e3 || T2; 281 + } 282 + space(e3) { 283 + let t2 = this.rules.block.newline.exec(e3); 284 + if (t2 && t2[0].length > 0) return { type: "space", raw: t2[0] }; 285 + } 286 + code(e3) { 287 + let t2 = this.rules.block.code.exec(e3); 288 + if (t2) { 289 + let n = t2[0].replace(this.rules.other.codeRemoveIndent, ""); 290 + return { type: "code", raw: t2[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : C(n, ` 291 + `) }; 292 + } 293 + } 294 + fences(e3) { 295 + let t2 = this.rules.block.fences.exec(e3); 296 + if (t2) { 297 + let n = t2[0], r = it(n, t2[3] || "", this.rules); 298 + return { type: "code", raw: n, lang: t2[2] ? t2[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t2[2], text: r }; 299 + } 300 + } 301 + heading(e3) { 302 + let t2 = this.rules.block.heading.exec(e3); 303 + if (t2) { 304 + let n = t2[2].trim(); 305 + if (this.rules.other.endingHash.test(n)) { 306 + let r = C(n, "#"); 307 + (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim()); 308 + } 309 + return { type: "heading", raw: t2[0], depth: t2[1].length, text: n, tokens: this.lexer.inline(n) }; 310 + } 311 + } 312 + hr(e3) { 313 + let t2 = this.rules.block.hr.exec(e3); 314 + if (t2) return { type: "hr", raw: C(t2[0], ` 315 + `) }; 316 + } 317 + blockquote(e3) { 318 + let t2 = this.rules.block.blockquote.exec(e3); 319 + if (t2) { 320 + let n = C(t2[0], ` 321 + `).split(` 322 + `), r = "", i3 = "", s = []; 323 + for (; n.length > 0; ) { 324 + let a = false, o2 = [], l; 325 + for (l = 0; l < n.length; l++) if (this.rules.other.blockquoteStart.test(n[l])) o2.push(n[l]), a = true; 326 + else if (!a) o2.push(n[l]); 327 + else break; 328 + n = n.slice(l); 329 + let p = o2.join(` 330 + `), c = p.replace(this.rules.other.blockquoteSetextReplace, ` 331 + $1`).replace(this.rules.other.blockquoteSetextReplace2, ""); 332 + r = r ? `${r} 333 + ${p}` : p, i3 = i3 ? `${i3} 334 + ${c}` : c; 335 + let d = this.lexer.state.top; 336 + if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = d, n.length === 0) break; 337 + let h = s.at(-1); 338 + if (h?.type === "code") break; 339 + if (h?.type === "blockquote") { 340 + let R = h, f = R.raw + ` 341 + ` + n.join(` 342 + `), S = this.blockquote(f); 343 + s[s.length - 1] = S, r = r.substring(0, r.length - R.raw.length) + S.raw, i3 = i3.substring(0, i3.length - R.text.length) + S.text; 344 + break; 345 + } else if (h?.type === "list") { 346 + let R = h, f = R.raw + ` 347 + ` + n.join(` 348 + `), S = this.list(f); 349 + s[s.length - 1] = S, r = r.substring(0, r.length - h.raw.length) + S.raw, i3 = i3.substring(0, i3.length - R.raw.length) + S.raw, n = f.substring(s.at(-1).raw.length).split(` 350 + `); 351 + continue; 352 + } 353 + } 354 + return { type: "blockquote", raw: r, tokens: s, text: i3 }; 355 + } 356 + } 357 + list(e3) { 358 + let t2 = this.rules.block.list.exec(e3); 359 + if (t2) { 360 + let n = t2[1].trim(), r = n.length > 1, i3 = { type: "list", raw: "", ordered: r, start: r ? +n.slice(0, -1) : "", loose: false, items: [] }; 361 + n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]"); 362 + let s = this.rules.other.listItemRegex(n), a = false; 363 + for (; e3; ) { 364 + let l = false, p = "", c = ""; 365 + if (!(t2 = s.exec(e3)) || this.rules.block.hr.test(e3)) break; 366 + p = t2[0], e3 = e3.substring(p.length); 367 + let d = fe(t2[2].split(` 368 + `, 1)[0], t2[1].length), h = e3.split(` 369 + `, 1)[0], R = !d.trim(), f = 0; 370 + if (this.options.pedantic ? (f = 2, c = d.trimStart()) : R ? f = t2[1].length + 1 : (f = d.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, c = d.slice(f), f += t2[1].length), R && this.rules.other.blankLine.test(h) && (p += h + ` 371 + `, e3 = e3.substring(h.length + 1), l = true), !l) { 372 + let S = this.rules.other.nextBulletRegex(f), V = this.rules.other.hrRegex(f), Y = this.rules.other.fencesBeginRegex(f), ee = this.rules.other.headingBeginRegex(f), xe = this.rules.other.htmlBeginRegex(f), be = this.rules.other.blockquoteBeginRegex(f); 373 + for (; e3; ) { 374 + let G = e3.split(` 375 + `, 1)[0], A2; 376 + if (h = G, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A2 = h) : A2 = h.replace(this.rules.other.tabCharGlobal, " "), Y.test(h) || ee.test(h) || xe.test(h) || be.test(h) || S.test(h) || V.test(h)) break; 377 + if (A2.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) c += ` 378 + ` + A2.slice(f); 379 + else { 380 + if (R || d.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || Y.test(d) || ee.test(d) || V.test(d)) break; 381 + c += ` 382 + ` + h; 383 + } 384 + R = !h.trim(), p += G + ` 385 + `, e3 = e3.substring(G.length + 1), d = A2.slice(f); 386 + } 387 + } 388 + i3.loose || (a ? i3.loose = true : this.rules.other.doubleBlankLine.test(p) && (a = true)), i3.items.push({ type: "list_item", raw: p, task: !!this.options.gfm && this.rules.other.listIsTask.test(c), loose: false, text: c, tokens: [] }), i3.raw += p; 389 + } 390 + let o2 = i3.items.at(-1); 391 + if (o2) o2.raw = o2.raw.trimEnd(), o2.text = o2.text.trimEnd(); 392 + else return; 393 + i3.raw = i3.raw.trimEnd(); 394 + for (let l of i3.items) { 395 + if (this.lexer.state.top = false, l.tokens = this.lexer.blockTokens(l.text, []), l.task) { 396 + if (l.text = l.text.replace(this.rules.other.listReplaceTask, ""), l.tokens[0]?.type === "text" || l.tokens[0]?.type === "paragraph") { 397 + l.tokens[0].raw = l.tokens[0].raw.replace(this.rules.other.listReplaceTask, ""), l.tokens[0].text = l.tokens[0].text.replace(this.rules.other.listReplaceTask, ""); 398 + for (let c = this.lexer.inlineQueue.length - 1; c >= 0; c--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) { 399 + this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, ""); 400 + break; 401 + } 402 + } 403 + let p = this.rules.other.listTaskCheckbox.exec(l.raw); 404 + if (p) { 405 + let c = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" }; 406 + l.checked = c.checked, i3.loose ? l.tokens[0] && ["paragraph", "text"].includes(l.tokens[0].type) && "tokens" in l.tokens[0] && l.tokens[0].tokens ? (l.tokens[0].raw = c.raw + l.tokens[0].raw, l.tokens[0].text = c.raw + l.tokens[0].text, l.tokens[0].tokens.unshift(c)) : l.tokens.unshift({ type: "paragraph", raw: c.raw, text: c.raw, tokens: [c] }) : l.tokens.unshift(c); 407 + } 408 + } 409 + if (!i3.loose) { 410 + let p = l.tokens.filter((d) => d.type === "space"), c = p.length > 0 && p.some((d) => this.rules.other.anyLine.test(d.raw)); 411 + i3.loose = c; 412 + } 413 + } 414 + if (i3.loose) for (let l of i3.items) { 415 + l.loose = true; 416 + for (let p of l.tokens) p.type === "text" && (p.type = "paragraph"); 417 + } 418 + return i3; 419 + } 420 + } 421 + html(e3) { 422 + let t2 = this.rules.block.html.exec(e3); 423 + if (t2) return { type: "html", block: true, raw: t2[0], pre: t2[1] === "pre" || t2[1] === "script" || t2[1] === "style", text: t2[0] }; 424 + } 425 + def(e3) { 426 + let t2 = this.rules.block.def.exec(e3); 427 + if (t2) { 428 + let n = t2[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), r = t2[2] ? t2[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i3 = t2[3] ? t2[3].substring(1, t2[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t2[3]; 429 + return { type: "def", tag: n, raw: t2[0], href: r, title: i3 }; 430 + } 431 + } 432 + table(e3) { 433 + let t2 = this.rules.block.table.exec(e3); 434 + if (!t2 || !this.rules.other.tableDelimiter.test(t2[2])) return; 435 + let n = J(t2[1]), r = t2[2].replace(this.rules.other.tableAlignChars, "").split("|"), i3 = t2[3]?.trim() ? t2[3].replace(this.rules.other.tableRowBlankLine, "").split(` 436 + `) : [], s = { type: "table", raw: t2[0], header: [], align: [], rows: [] }; 437 + if (n.length === r.length) { 438 + for (let a of r) this.rules.other.tableAlignRight.test(a) ? s.align.push("right") : this.rules.other.tableAlignCenter.test(a) ? s.align.push("center") : this.rules.other.tableAlignLeft.test(a) ? s.align.push("left") : s.align.push(null); 439 + for (let a = 0; a < n.length; a++) s.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: true, align: s.align[a] }); 440 + for (let a of i3) s.rows.push(J(a, s.header.length).map((o2, l) => ({ text: o2, tokens: this.lexer.inline(o2), header: false, align: s.align[l] }))); 441 + return s; 442 + } 443 + } 444 + lheading(e3) { 445 + let t2 = this.rules.block.lheading.exec(e3); 446 + if (t2) return { type: "heading", raw: t2[0], depth: t2[2].charAt(0) === "=" ? 1 : 2, text: t2[1], tokens: this.lexer.inline(t2[1]) }; 447 + } 448 + paragraph(e3) { 449 + let t2 = this.rules.block.paragraph.exec(e3); 450 + if (t2) { 451 + let n = t2[1].charAt(t2[1].length - 1) === ` 452 + ` ? t2[1].slice(0, -1) : t2[1]; 453 + return { type: "paragraph", raw: t2[0], text: n, tokens: this.lexer.inline(n) }; 454 + } 455 + } 456 + text(e3) { 457 + let t2 = this.rules.block.text.exec(e3); 458 + if (t2) return { type: "text", raw: t2[0], text: t2[0], tokens: this.lexer.inline(t2[0]) }; 459 + } 460 + escape(e3) { 461 + let t2 = this.rules.inline.escape.exec(e3); 462 + if (t2) return { type: "escape", raw: t2[0], text: t2[1] }; 463 + } 464 + tag(e3) { 465 + let t2 = this.rules.inline.tag.exec(e3); 466 + if (t2) return !this.lexer.state.inLink && this.rules.other.startATag.test(t2[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t2[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t2[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t2[0]) && (this.lexer.state.inRawBlock = false), { type: "html", raw: t2[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: false, text: t2[0] }; 467 + } 468 + link(e3) { 469 + let t2 = this.rules.inline.link.exec(e3); 470 + if (t2) { 471 + let n = t2[2].trim(); 472 + if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) { 473 + if (!this.rules.other.endAngleBracket.test(n)) return; 474 + let s = C(n.slice(0, -1), "\\"); 475 + if ((n.length - s.length) % 2 === 0) return; 476 + } else { 477 + let s = ge(t2[2], "()"); 478 + if (s === -2) return; 479 + if (s > -1) { 480 + let o2 = (t2[0].indexOf("!") === 0 ? 5 : 4) + t2[1].length + s; 481 + t2[2] = t2[2].substring(0, s), t2[0] = t2[0].substring(0, o2).trim(), t2[3] = ""; 482 + } 483 + } 484 + let r = t2[2], i3 = ""; 485 + if (this.options.pedantic) { 486 + let s = this.rules.other.pedanticHrefTitle.exec(r); 487 + s && (r = s[1], i3 = s[3]); 488 + } else i3 = t2[3] ? t2[3].slice(1, -1) : ""; 489 + return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), me(t2, { href: r && r.replace(this.rules.inline.anyPunctuation, "$1"), title: i3 && i3.replace(this.rules.inline.anyPunctuation, "$1") }, t2[0], this.lexer, this.rules); 490 + } 491 + } 492 + reflink(e3, t2) { 493 + let n; 494 + if ((n = this.rules.inline.reflink.exec(e3)) || (n = this.rules.inline.nolink.exec(e3))) { 495 + let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i3 = t2[r.toLowerCase()]; 496 + if (!i3) { 497 + let s = n[0].charAt(0); 498 + return { type: "text", raw: s, text: s }; 499 + } 500 + return me(n, i3, n[0], this.lexer, this.rules); 501 + } 502 + } 503 + emStrong(e3, t2, n = "") { 504 + let r = this.rules.inline.emStrongLDelim.exec(e3); 505 + if (!r || r[3] && n.match(this.rules.other.unicodeAlphaNumeric)) return; 506 + if (!(r[1] || r[2] || "") || !n || this.rules.inline.punctuation.exec(n)) { 507 + let s = [...r[0]].length - 1, a, o2, l = s, p = 0, c = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd; 508 + for (c.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = c.exec(t2)) != null; ) { 509 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a) continue; 510 + if (o2 = [...a].length, r[3] || r[4]) { 511 + l += o2; 512 + continue; 513 + } else if ((r[5] || r[6]) && s % 3 && !((s + o2) % 3)) { 514 + p += o2; 515 + continue; 516 + } 517 + if (l -= o2, l > 0) continue; 518 + o2 = Math.min(o2, o2 + l + p); 519 + let d = [...r[0]][0].length, h = e3.slice(0, s + r.index + d + o2); 520 + if (Math.min(s, o2) % 2) { 521 + let f = h.slice(1, -1); 522 + return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) }; 523 + } 524 + let R = h.slice(2, -2); 525 + return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) }; 526 + } 527 + } 528 + } 529 + codespan(e3) { 530 + let t2 = this.rules.inline.code.exec(e3); 531 + if (t2) { 532 + let n = t2[2].replace(this.rules.other.newLineCharGlobal, " "), r = this.rules.other.nonSpaceChar.test(n), i3 = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n); 533 + return r && i3 && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t2[0], text: n }; 534 + } 535 + } 536 + br(e3) { 537 + let t2 = this.rules.inline.br.exec(e3); 538 + if (t2) return { type: "br", raw: t2[0] }; 539 + } 540 + del(e3, t2, n = "") { 541 + let r = this.rules.inline.delLDelim.exec(e3); 542 + if (!r) return; 543 + if (!(r[1] || "") || !n || this.rules.inline.punctuation.exec(n)) { 544 + let s = [...r[0]].length - 1, a, o2, l = s, p = this.rules.inline.delRDelim; 545 + for (p.lastIndex = 0, t2 = t2.slice(-1 * e3.length + s); (r = p.exec(t2)) != null; ) { 546 + if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a || (o2 = [...a].length, o2 !== s)) continue; 547 + if (r[3] || r[4]) { 548 + l += o2; 549 + continue; 550 + } 551 + if (l -= o2, l > 0) continue; 552 + o2 = Math.min(o2, o2 + l); 553 + let c = [...r[0]][0].length, d = e3.slice(0, s + r.index + c + o2), h = d.slice(s, -s); 554 + return { type: "del", raw: d, text: h, tokens: this.lexer.inlineTokens(h) }; 555 + } 556 + } 557 + } 558 + autolink(e3) { 559 + let t2 = this.rules.inline.autolink.exec(e3); 560 + if (t2) { 561 + let n, r; 562 + return t2[2] === "@" ? (n = t2[1], r = "mailto:" + n) : (n = t2[1], r = n), { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] }; 563 + } 564 + } 565 + url(e3) { 566 + let t2; 567 + if (t2 = this.rules.inline.url.exec(e3)) { 568 + let n, r; 569 + if (t2[2] === "@") n = t2[0], r = "mailto:" + n; 570 + else { 571 + let i3; 572 + do 573 + i3 = t2[0], t2[0] = this.rules.inline._backpedal.exec(t2[0])?.[0] ?? ""; 574 + while (i3 !== t2[0]); 575 + n = t2[0], t2[1] === "www." ? r = "http://" + t2[0] : r = t2[0]; 576 + } 577 + return { type: "link", raw: t2[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] }; 578 + } 579 + } 580 + inlineText(e3) { 581 + let t2 = this.rules.inline.text.exec(e3); 582 + if (t2) { 583 + let n = this.lexer.state.inRawBlock; 584 + return { type: "text", raw: t2[0], text: t2[0], escaped: n }; 585 + } 586 + } 587 + }; 588 + var x = class u { 589 + static { 590 + __name(this, "u"); 591 + } 592 + tokens; 593 + options; 594 + state; 595 + inlineQueue; 596 + tokenizer; 597 + constructor(e3) { 598 + this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e3 || T2, this.options.tokenizer = this.options.tokenizer || new w(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true }; 599 + let t2 = { other: m, block: E2.normal, inline: z.normal }; 600 + this.options.pedantic ? (t2.block = E2.pedantic, t2.inline = z.pedantic) : this.options.gfm && (t2.block = E2.gfm, this.options.breaks ? t2.inline = z.breaks : t2.inline = z.gfm), this.tokenizer.rules = t2; 601 + } 602 + static get rules() { 603 + return { block: E2, inline: z }; 604 + } 605 + static lex(e3, t2) { 606 + return new u(t2).lex(e3); 607 + } 608 + static lexInline(e3, t2) { 609 + return new u(t2).inlineTokens(e3); 610 + } 611 + lex(e3) { 612 + e3 = e3.replace(m.carriageReturn, ` 613 + `), this.blockTokens(e3, this.tokens); 614 + for (let t2 = 0; t2 < this.inlineQueue.length; t2++) { 615 + let n = this.inlineQueue[t2]; 616 + this.inlineTokens(n.src, n.tokens); 617 + } 618 + return this.inlineQueue = [], this.tokens; 619 + } 620 + blockTokens(e3, t2 = [], n = false) { 621 + for (this.options.pedantic && (e3 = e3.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); e3; ) { 622 + let r; 623 + if (this.options.extensions?.block?.some((s) => (r = s.call({ lexer: this }, e3, t2)) ? (e3 = e3.substring(r.raw.length), t2.push(r), true) : false)) continue; 624 + if (r = this.tokenizer.space(e3)) { 625 + e3 = e3.substring(r.raw.length); 626 + let s = t2.at(-1); 627 + r.raw.length === 1 && s !== void 0 ? s.raw += ` 628 + ` : t2.push(r); 629 + continue; 630 + } 631 + if (r = this.tokenizer.code(e3)) { 632 + e3 = e3.substring(r.raw.length); 633 + let s = t2.at(-1); 634 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 635 + `) ? "" : ` 636 + `) + r.raw, s.text += ` 637 + ` + r.text, this.inlineQueue.at(-1).src = s.text) : t2.push(r); 638 + continue; 639 + } 640 + if (r = this.tokenizer.fences(e3)) { 641 + e3 = e3.substring(r.raw.length), t2.push(r); 642 + continue; 643 + } 644 + if (r = this.tokenizer.heading(e3)) { 645 + e3 = e3.substring(r.raw.length), t2.push(r); 646 + continue; 647 + } 648 + if (r = this.tokenizer.hr(e3)) { 649 + e3 = e3.substring(r.raw.length), t2.push(r); 650 + continue; 651 + } 652 + if (r = this.tokenizer.blockquote(e3)) { 653 + e3 = e3.substring(r.raw.length), t2.push(r); 654 + continue; 655 + } 656 + if (r = this.tokenizer.list(e3)) { 657 + e3 = e3.substring(r.raw.length), t2.push(r); 658 + continue; 659 + } 660 + if (r = this.tokenizer.html(e3)) { 661 + e3 = e3.substring(r.raw.length), t2.push(r); 662 + continue; 663 + } 664 + if (r = this.tokenizer.def(e3)) { 665 + e3 = e3.substring(r.raw.length); 666 + let s = t2.at(-1); 667 + s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(` 668 + `) ? "" : ` 669 + `) + r.raw, s.text += ` 670 + ` + r.raw, this.inlineQueue.at(-1).src = s.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t2.push(r)); 671 + continue; 672 + } 673 + if (r = this.tokenizer.table(e3)) { 674 + e3 = e3.substring(r.raw.length), t2.push(r); 675 + continue; 676 + } 677 + if (r = this.tokenizer.lheading(e3)) { 678 + e3 = e3.substring(r.raw.length), t2.push(r); 679 + continue; 680 + } 681 + let i3 = e3; 682 + if (this.options.extensions?.startBlock) { 683 + let s = 1 / 0, a = e3.slice(1), o2; 684 + this.options.extensions.startBlock.forEach((l) => { 685 + o2 = l.call({ lexer: this }, a), typeof o2 == "number" && o2 >= 0 && (s = Math.min(s, o2)); 686 + }), s < 1 / 0 && s >= 0 && (i3 = e3.substring(0, s + 1)); 687 + } 688 + if (this.state.top && (r = this.tokenizer.paragraph(i3))) { 689 + let s = t2.at(-1); 690 + n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(` 691 + `) ? "" : ` 692 + `) + r.raw, s.text += ` 693 + ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r), n = i3.length !== e3.length, e3 = e3.substring(r.raw.length); 694 + continue; 695 + } 696 + if (r = this.tokenizer.text(e3)) { 697 + e3 = e3.substring(r.raw.length); 698 + let s = t2.at(-1); 699 + s?.type === "text" ? (s.raw += (s.raw.endsWith(` 700 + `) ? "" : ` 701 + `) + r.raw, s.text += ` 702 + ` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t2.push(r); 703 + continue; 704 + } 705 + if (e3) { 706 + let s = "Infinite loop on byte: " + e3.charCodeAt(0); 707 + if (this.options.silent) { 708 + console.error(s); 709 + break; 710 + } else throw new Error(s); 711 + } 712 + } 713 + return this.state.top = true, t2; 714 + } 715 + inline(e3, t2 = []) { 716 + return this.inlineQueue.push({ src: e3, tokens: t2 }), t2; 717 + } 718 + inlineTokens(e3, t2 = []) { 719 + let n = e3, r = null; 720 + if (this.tokens.links) { 721 + let o2 = Object.keys(this.tokens.links); 722 + if (o2.length > 0) for (; (r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o2.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)); 723 + } 724 + for (; (r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); 725 + let i3; 726 + for (; (r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) i3 = r[2] ? r[2].length : 0, n = n.slice(0, r.index + i3) + "[" + "a".repeat(r[0].length - i3 - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); 727 + n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n; 728 + let s = false, a = ""; 729 + for (; e3; ) { 730 + s || (a = ""), s = false; 731 + let o2; 732 + if (this.options.extensions?.inline?.some((p) => (o2 = p.call({ lexer: this }, e3, t2)) ? (e3 = e3.substring(o2.raw.length), t2.push(o2), true) : false)) continue; 733 + if (o2 = this.tokenizer.escape(e3)) { 734 + e3 = e3.substring(o2.raw.length), t2.push(o2); 735 + continue; 736 + } 737 + if (o2 = this.tokenizer.tag(e3)) { 738 + e3 = e3.substring(o2.raw.length), t2.push(o2); 739 + continue; 740 + } 741 + if (o2 = this.tokenizer.link(e3)) { 742 + e3 = e3.substring(o2.raw.length), t2.push(o2); 743 + continue; 744 + } 745 + if (o2 = this.tokenizer.reflink(e3, this.tokens.links)) { 746 + e3 = e3.substring(o2.raw.length); 747 + let p = t2.at(-1); 748 + o2.type === "text" && p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 749 + continue; 750 + } 751 + if (o2 = this.tokenizer.emStrong(e3, n, a)) { 752 + e3 = e3.substring(o2.raw.length), t2.push(o2); 753 + continue; 754 + } 755 + if (o2 = this.tokenizer.codespan(e3)) { 756 + e3 = e3.substring(o2.raw.length), t2.push(o2); 757 + continue; 758 + } 759 + if (o2 = this.tokenizer.br(e3)) { 760 + e3 = e3.substring(o2.raw.length), t2.push(o2); 761 + continue; 762 + } 763 + if (o2 = this.tokenizer.del(e3, n, a)) { 764 + e3 = e3.substring(o2.raw.length), t2.push(o2); 765 + continue; 766 + } 767 + if (o2 = this.tokenizer.autolink(e3)) { 768 + e3 = e3.substring(o2.raw.length), t2.push(o2); 769 + continue; 770 + } 771 + if (!this.state.inLink && (o2 = this.tokenizer.url(e3))) { 772 + e3 = e3.substring(o2.raw.length), t2.push(o2); 773 + continue; 774 + } 775 + let l = e3; 776 + if (this.options.extensions?.startInline) { 777 + let p = 1 / 0, c = e3.slice(1), d; 778 + this.options.extensions.startInline.forEach((h) => { 779 + d = h.call({ lexer: this }, c), typeof d == "number" && d >= 0 && (p = Math.min(p, d)); 780 + }), p < 1 / 0 && p >= 0 && (l = e3.substring(0, p + 1)); 781 + } 782 + if (o2 = this.tokenizer.inlineText(l)) { 783 + e3 = e3.substring(o2.raw.length), o2.raw.slice(-1) !== "_" && (a = o2.raw.slice(-1)), s = true; 784 + let p = t2.at(-1); 785 + p?.type === "text" ? (p.raw += o2.raw, p.text += o2.text) : t2.push(o2); 786 + continue; 787 + } 788 + if (e3) { 789 + let p = "Infinite loop on byte: " + e3.charCodeAt(0); 790 + if (this.options.silent) { 791 + console.error(p); 792 + break; 793 + } else throw new Error(p); 794 + } 795 + } 796 + return t2; 797 + } 798 + }; 799 + var y = class { 800 + static { 801 + __name(this, "y"); 802 + } 803 + options; 804 + parser; 805 + constructor(e3) { 806 + this.options = e3 || T2; 807 + } 808 + space(e3) { 809 + return ""; 810 + } 811 + code({ text: e3, lang: t2, escaped: n }) { 812 + let r = (t2 || "").match(m.notSpaceStart)?.[0], i3 = e3.replace(m.endingNewline, "") + ` 813 + `; 814 + return r ? '<pre><code class="language-' + O(r) + '">' + (n ? i3 : O(i3, true)) + `</code></pre> 815 + ` : "<pre><code>" + (n ? i3 : O(i3, true)) + `</code></pre> 816 + `; 817 + } 818 + blockquote({ tokens: e3 }) { 819 + return `<blockquote> 820 + ${this.parser.parse(e3)}</blockquote> 821 + `; 822 + } 823 + html({ text: e3 }) { 824 + return e3; 825 + } 826 + def(e3) { 827 + return ""; 828 + } 829 + heading({ tokens: e3, depth: t2 }) { 830 + return `<h${t2}>${this.parser.parseInline(e3)}</h${t2}> 831 + `; 832 + } 833 + hr(e3) { 834 + return `<hr> 835 + `; 836 + } 837 + list(e3) { 838 + let t2 = e3.ordered, n = e3.start, r = ""; 839 + for (let a = 0; a < e3.items.length; a++) { 840 + let o2 = e3.items[a]; 841 + r += this.listitem(o2); 842 + } 843 + let i3 = t2 ? "ol" : "ul", s = t2 && n !== 1 ? ' start="' + n + '"' : ""; 844 + return "<" + i3 + s + `> 845 + ` + r + "</" + i3 + `> 846 + `; 847 + } 848 + listitem(e3) { 849 + return `<li>${this.parser.parse(e3.tokens)}</li> 850 + `; 851 + } 852 + checkbox({ checked: e3 }) { 853 + return "<input " + (e3 ? 'checked="" ' : "") + 'disabled="" type="checkbox"> '; 854 + } 855 + paragraph({ tokens: e3 }) { 856 + return `<p>${this.parser.parseInline(e3)}</p> 857 + `; 858 + } 859 + table(e3) { 860 + let t2 = "", n = ""; 861 + for (let i3 = 0; i3 < e3.header.length; i3++) n += this.tablecell(e3.header[i3]); 862 + t2 += this.tablerow({ text: n }); 863 + let r = ""; 864 + for (let i3 = 0; i3 < e3.rows.length; i3++) { 865 + let s = e3.rows[i3]; 866 + n = ""; 867 + for (let a = 0; a < s.length; a++) n += this.tablecell(s[a]); 868 + r += this.tablerow({ text: n }); 869 + } 870 + return r && (r = `<tbody>${r}</tbody>`), `<table> 871 + <thead> 872 + ` + t2 + `</thead> 873 + ` + r + `</table> 874 + `; 875 + } 876 + tablerow({ text: e3 }) { 877 + return `<tr> 878 + ${e3}</tr> 879 + `; 880 + } 881 + tablecell(e3) { 882 + let t2 = this.parser.parseInline(e3.tokens), n = e3.header ? "th" : "td"; 883 + return (e3.align ? `<${n} align="${e3.align}">` : `<${n}>`) + t2 + `</${n}> 884 + `; 885 + } 886 + strong({ tokens: e3 }) { 887 + return `<strong>${this.parser.parseInline(e3)}</strong>`; 888 + } 889 + em({ tokens: e3 }) { 890 + return `<em>${this.parser.parseInline(e3)}</em>`; 891 + } 892 + codespan({ text: e3 }) { 893 + return `<code>${O(e3, true)}</code>`; 894 + } 895 + br(e3) { 896 + return "<br>"; 897 + } 898 + del({ tokens: e3 }) { 899 + return `<del>${this.parser.parseInline(e3)}</del>`; 900 + } 901 + link({ href: e3, title: t2, tokens: n }) { 902 + let r = this.parser.parseInline(n), i3 = X(e3); 903 + if (i3 === null) return r; 904 + e3 = i3; 905 + let s = '<a href="' + e3 + '"'; 906 + return t2 && (s += ' title="' + O(t2) + '"'), s += ">" + r + "</a>", s; 907 + } 908 + image({ href: e3, title: t2, text: n, tokens: r }) { 909 + r && (n = this.parser.parseInline(r, this.parser.textRenderer)); 910 + let i3 = X(e3); 911 + if (i3 === null) return O(n); 912 + e3 = i3; 913 + let s = `<img src="${e3}" alt="${O(n)}"`; 914 + return t2 && (s += ` title="${O(t2)}"`), s += ">", s; 915 + } 916 + text(e3) { 917 + return "tokens" in e3 && e3.tokens ? this.parser.parseInline(e3.tokens) : "escaped" in e3 && e3.escaped ? e3.text : O(e3.text); 918 + } 919 + }; 920 + var $ = class { 921 + static { 922 + __name(this, "$"); 923 + } 924 + strong({ text: e3 }) { 925 + return e3; 926 + } 927 + em({ text: e3 }) { 928 + return e3; 929 + } 930 + codespan({ text: e3 }) { 931 + return e3; 932 + } 933 + del({ text: e3 }) { 934 + return e3; 935 + } 936 + html({ text: e3 }) { 937 + return e3; 938 + } 939 + text({ text: e3 }) { 940 + return e3; 941 + } 942 + link({ text: e3 }) { 943 + return "" + e3; 944 + } 945 + image({ text: e3 }) { 946 + return "" + e3; 947 + } 948 + br() { 949 + return ""; 950 + } 951 + checkbox({ raw: e3 }) { 952 + return e3; 953 + } 954 + }; 955 + var b = class u2 { 956 + static { 957 + __name(this, "u"); 958 + } 959 + options; 960 + renderer; 961 + textRenderer; 962 + constructor(e3) { 963 + this.options = e3 || T2, this.options.renderer = this.options.renderer || new y(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $(); 964 + } 965 + static parse(e3, t2) { 966 + return new u2(t2).parse(e3); 967 + } 968 + static parseInline(e3, t2) { 969 + return new u2(t2).parseInline(e3); 970 + } 971 + parse(e3) { 972 + let t2 = ""; 973 + for (let n = 0; n < e3.length; n++) { 974 + let r = e3[n]; 975 + if (this.options.extensions?.renderers?.[r.type]) { 976 + let s = r, a = this.options.extensions.renderers[s.type].call({ parser: this }, s); 977 + if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(s.type)) { 978 + t2 += a || ""; 979 + continue; 980 + } 981 + } 982 + let i3 = r; 983 + switch (i3.type) { 984 + case "space": { 985 + t2 += this.renderer.space(i3); 986 + break; 987 + } 988 + case "hr": { 989 + t2 += this.renderer.hr(i3); 990 + break; 991 + } 992 + case "heading": { 993 + t2 += this.renderer.heading(i3); 994 + break; 995 + } 996 + case "code": { 997 + t2 += this.renderer.code(i3); 998 + break; 999 + } 1000 + case "table": { 1001 + t2 += this.renderer.table(i3); 1002 + break; 1003 + } 1004 + case "blockquote": { 1005 + t2 += this.renderer.blockquote(i3); 1006 + break; 1007 + } 1008 + case "list": { 1009 + t2 += this.renderer.list(i3); 1010 + break; 1011 + } 1012 + case "checkbox": { 1013 + t2 += this.renderer.checkbox(i3); 1014 + break; 1015 + } 1016 + case "html": { 1017 + t2 += this.renderer.html(i3); 1018 + break; 1019 + } 1020 + case "def": { 1021 + t2 += this.renderer.def(i3); 1022 + break; 1023 + } 1024 + case "paragraph": { 1025 + t2 += this.renderer.paragraph(i3); 1026 + break; 1027 + } 1028 + case "text": { 1029 + t2 += this.renderer.text(i3); 1030 + break; 1031 + } 1032 + default: { 1033 + let s = 'Token with "' + i3.type + '" type was not found.'; 1034 + if (this.options.silent) return console.error(s), ""; 1035 + throw new Error(s); 1036 + } 1037 + } 1038 + } 1039 + return t2; 1040 + } 1041 + parseInline(e3, t2 = this.renderer) { 1042 + let n = ""; 1043 + for (let r = 0; r < e3.length; r++) { 1044 + let i3 = e3[r]; 1045 + if (this.options.extensions?.renderers?.[i3.type]) { 1046 + let a = this.options.extensions.renderers[i3.type].call({ parser: this }, i3); 1047 + if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i3.type)) { 1048 + n += a || ""; 1049 + continue; 1050 + } 1051 + } 1052 + let s = i3; 1053 + switch (s.type) { 1054 + case "escape": { 1055 + n += t2.text(s); 1056 + break; 1057 + } 1058 + case "html": { 1059 + n += t2.html(s); 1060 + break; 1061 + } 1062 + case "link": { 1063 + n += t2.link(s); 1064 + break; 1065 + } 1066 + case "image": { 1067 + n += t2.image(s); 1068 + break; 1069 + } 1070 + case "checkbox": { 1071 + n += t2.checkbox(s); 1072 + break; 1073 + } 1074 + case "strong": { 1075 + n += t2.strong(s); 1076 + break; 1077 + } 1078 + case "em": { 1079 + n += t2.em(s); 1080 + break; 1081 + } 1082 + case "codespan": { 1083 + n += t2.codespan(s); 1084 + break; 1085 + } 1086 + case "br": { 1087 + n += t2.br(s); 1088 + break; 1089 + } 1090 + case "del": { 1091 + n += t2.del(s); 1092 + break; 1093 + } 1094 + case "text": { 1095 + n += t2.text(s); 1096 + break; 1097 + } 1098 + default: { 1099 + let a = 'Token with "' + s.type + '" type was not found.'; 1100 + if (this.options.silent) return console.error(a), ""; 1101 + throw new Error(a); 1102 + } 1103 + } 1104 + } 1105 + return n; 1106 + } 1107 + }; 1108 + var P = class { 1109 + static { 1110 + __name(this, "P"); 1111 + } 1112 + options; 1113 + block; 1114 + constructor(e3) { 1115 + this.options = e3 || T2; 1116 + } 1117 + static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]); 1118 + static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]); 1119 + preprocess(e3) { 1120 + return e3; 1121 + } 1122 + postprocess(e3) { 1123 + return e3; 1124 + } 1125 + processAllTokens(e3) { 1126 + return e3; 1127 + } 1128 + emStrongMask(e3) { 1129 + return e3; 1130 + } 1131 + provideLexer() { 1132 + return this.block ? x.lex : x.lexInline; 1133 + } 1134 + provideParser() { 1135 + return this.block ? b.parse : b.parseInline; 1136 + } 1137 + }; 1138 + var B2 = class { 1139 + static { 1140 + __name(this, "B"); 1141 + } 1142 + defaults = M(); 1143 + options = this.setOptions; 1144 + parse = this.parseMarkdown(true); 1145 + parseInline = this.parseMarkdown(false); 1146 + Parser = b; 1147 + Renderer = y; 1148 + TextRenderer = $; 1149 + Lexer = x; 1150 + Tokenizer = w; 1151 + Hooks = P; 1152 + constructor(...e3) { 1153 + this.use(...e3); 1154 + } 1155 + walkTokens(e3, t2) { 1156 + let n = []; 1157 + for (let r of e3) switch (n = n.concat(t2.call(this, r)), r.type) { 1158 + case "table": { 1159 + let i3 = r; 1160 + for (let s of i3.header) n = n.concat(this.walkTokens(s.tokens, t2)); 1161 + for (let s of i3.rows) for (let a of s) n = n.concat(this.walkTokens(a.tokens, t2)); 1162 + break; 1163 + } 1164 + case "list": { 1165 + let i3 = r; 1166 + n = n.concat(this.walkTokens(i3.items, t2)); 1167 + break; 1168 + } 1169 + default: { 1170 + let i3 = r; 1171 + this.defaults.extensions?.childTokens?.[i3.type] ? this.defaults.extensions.childTokens[i3.type].forEach((s) => { 1172 + let a = i3[s].flat(1 / 0); 1173 + n = n.concat(this.walkTokens(a, t2)); 1174 + }) : i3.tokens && (n = n.concat(this.walkTokens(i3.tokens, t2))); 1175 + } 1176 + } 1177 + return n; 1178 + } 1179 + use(...e3) { 1180 + let t2 = this.defaults.extensions || { renderers: {}, childTokens: {} }; 1181 + return e3.forEach((n) => { 1182 + let r = { ...n }; 1183 + if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i3) => { 1184 + if (!i3.name) throw new Error("extension name required"); 1185 + if ("renderer" in i3) { 1186 + let s = t2.renderers[i3.name]; 1187 + s ? t2.renderers[i3.name] = function(...a) { 1188 + let o2 = i3.renderer.apply(this, a); 1189 + return o2 === false && (o2 = s.apply(this, a)), o2; 1190 + } : t2.renderers[i3.name] = i3.renderer; 1191 + } 1192 + if ("tokenizer" in i3) { 1193 + if (!i3.level || i3.level !== "block" && i3.level !== "inline") throw new Error("extension level must be 'block' or 'inline'"); 1194 + let s = t2[i3.level]; 1195 + s ? s.unshift(i3.tokenizer) : t2[i3.level] = [i3.tokenizer], i3.start && (i3.level === "block" ? t2.startBlock ? t2.startBlock.push(i3.start) : t2.startBlock = [i3.start] : i3.level === "inline" && (t2.startInline ? t2.startInline.push(i3.start) : t2.startInline = [i3.start])); 1196 + } 1197 + "childTokens" in i3 && i3.childTokens && (t2.childTokens[i3.name] = i3.childTokens); 1198 + }), r.extensions = t2), n.renderer) { 1199 + let i3 = this.defaults.renderer || new y(this.defaults); 1200 + for (let s in n.renderer) { 1201 + if (!(s in i3)) throw new Error(`renderer '${s}' does not exist`); 1202 + if (["options", "parser"].includes(s)) continue; 1203 + let a = s, o2 = n.renderer[a], l = i3[a]; 1204 + i3[a] = (...p) => { 1205 + let c = o2.apply(i3, p); 1206 + return c === false && (c = l.apply(i3, p)), c || ""; 1207 + }; 1208 + } 1209 + r.renderer = i3; 1210 + } 1211 + if (n.tokenizer) { 1212 + let i3 = this.defaults.tokenizer || new w(this.defaults); 1213 + for (let s in n.tokenizer) { 1214 + if (!(s in i3)) throw new Error(`tokenizer '${s}' does not exist`); 1215 + if (["options", "rules", "lexer"].includes(s)) continue; 1216 + let a = s, o2 = n.tokenizer[a], l = i3[a]; 1217 + i3[a] = (...p) => { 1218 + let c = o2.apply(i3, p); 1219 + return c === false && (c = l.apply(i3, p)), c; 1220 + }; 1221 + } 1222 + r.tokenizer = i3; 1223 + } 1224 + if (n.hooks) { 1225 + let i3 = this.defaults.hooks || new P(); 1226 + for (let s in n.hooks) { 1227 + if (!(s in i3)) throw new Error(`hook '${s}' does not exist`); 1228 + if (["options", "block"].includes(s)) continue; 1229 + let a = s, o2 = n.hooks[a], l = i3[a]; 1230 + P.passThroughHooks.has(s) ? i3[a] = (p) => { 1231 + if (this.defaults.async && P.passThroughHooksRespectAsync.has(s)) return (async () => { 1232 + let d = await o2.call(i3, p); 1233 + return l.call(i3, d); 1234 + })(); 1235 + let c = o2.call(i3, p); 1236 + return l.call(i3, c); 1237 + } : i3[a] = (...p) => { 1238 + if (this.defaults.async) return (async () => { 1239 + let d = await o2.apply(i3, p); 1240 + return d === false && (d = await l.apply(i3, p)), d; 1241 + })(); 1242 + let c = o2.apply(i3, p); 1243 + return c === false && (c = l.apply(i3, p)), c; 1244 + }; 1245 + } 1246 + r.hooks = i3; 1247 + } 1248 + if (n.walkTokens) { 1249 + let i3 = this.defaults.walkTokens, s = n.walkTokens; 1250 + r.walkTokens = function(a) { 1251 + let o2 = []; 1252 + return o2.push(s.call(this, a)), i3 && (o2 = o2.concat(i3.call(this, a))), o2; 1253 + }; 1254 + } 1255 + this.defaults = { ...this.defaults, ...r }; 1256 + }), this; 1257 + } 1258 + setOptions(e3) { 1259 + return this.defaults = { ...this.defaults, ...e3 }, this; 1260 + } 1261 + lexer(e3, t2) { 1262 + return x.lex(e3, t2 ?? this.defaults); 1263 + } 1264 + parser(e3, t2) { 1265 + return b.parse(e3, t2 ?? this.defaults); 1266 + } 1267 + parseMarkdown(e3) { 1268 + return (n, r) => { 1269 + let i3 = { ...r }, s = { ...this.defaults, ...i3 }, a = this.onError(!!s.silent, !!s.async); 1270 + if (this.defaults.async === true && i3.async === false) return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.")); 1271 + if (typeof n > "u" || n === null) return a(new Error("marked(): input parameter is undefined or null")); 1272 + if (typeof n != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); 1273 + if (s.hooks && (s.hooks.options = s, s.hooks.block = e3), s.async) return (async () => { 1274 + let o2 = s.hooks ? await s.hooks.preprocess(n) : n, p = await (s.hooks ? await s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(o2, s), c = s.hooks ? await s.hooks.processAllTokens(p) : p; 1275 + s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens)); 1276 + let h = await (s.hooks ? await s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(c, s); 1277 + return s.hooks ? await s.hooks.postprocess(h) : h; 1278 + })().catch(a); 1279 + try { 1280 + s.hooks && (n = s.hooks.preprocess(n)); 1281 + let l = (s.hooks ? s.hooks.provideLexer() : e3 ? x.lex : x.lexInline)(n, s); 1282 + s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens); 1283 + let c = (s.hooks ? s.hooks.provideParser() : e3 ? b.parse : b.parseInline)(l, s); 1284 + return s.hooks && (c = s.hooks.postprocess(c)), c; 1285 + } catch (o2) { 1286 + return a(o2); 1287 + } 1288 + }; 1289 + } 1290 + onError(e3, t2) { 1291 + return (n) => { 1292 + if (n.message += ` 1293 + Please report this to https://github.com/markedjs/marked.`, e3) { 1294 + let r = "<p>An error occurred:</p><pre>" + O(n.message + "", true) + "</pre>"; 1295 + return t2 ? Promise.resolve(r) : r; 1296 + } 1297 + if (t2) return Promise.reject(n); 1298 + throw n; 1299 + }; 1300 + } 1301 + }; 1302 + var L = new B2(); 1303 + function g(u3, e3) { 1304 + return L.parse(u3, e3); 1305 + } 1306 + __name(g, "g"); 1307 + g.options = g.setOptions = function(u3) { 1308 + return L.setOptions(u3), g.defaults = L.defaults, H(g.defaults), g; 1309 + }; 1310 + g.getDefaults = M; 1311 + g.defaults = T2; 1312 + g.use = function(...u3) { 1313 + return L.use(...u3), g.defaults = L.defaults, H(g.defaults), g; 1314 + }; 1315 + g.walkTokens = function(u3, e3) { 1316 + return L.walkTokens(u3, e3); 1317 + }; 1318 + g.parseInline = L.parseInline; 1319 + g.Parser = b; 1320 + g.parser = b.parse; 1321 + g.Renderer = y; 1322 + g.TextRenderer = $; 1323 + g.Lexer = x; 1324 + g.lexer = x.lex; 1325 + g.Tokenizer = w; 1326 + g.Hooks = P; 1327 + g.parse = g; 1328 + var Ut = g.options; 1329 + var Kt = g.setOptions; 1330 + var Wt = g.use; 1331 + var Xt = g.walkTokens; 1332 + var Jt = g.parseInline; 1333 + var Yt = b.parse; 1334 + var en = x.lex; 1335 + 1336 + // ../node_modules/.deno/lit-html@3.3.2/node_modules/lit-html/node/directives/unsafe-html.js 1337 + init_Buffer(); 1338 + init_process(); 1339 + var e2 = class extends i { 1340 + static { 1341 + __name(this, "e"); 1342 + } 1343 + constructor(i3) { 1344 + if (super(i3), this.it = A, i3.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings"); 1345 + } 1346 + render(r) { 1347 + if (r === A || null == r) return this._t = void 0, this.it = r; 1348 + if (r === E) return r; 1349 + if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value"); 1350 + if (r === this.it) return this._t; 1351 + this.it = r; 1352 + const s = [r]; 1353 + return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] }; 1354 + } 1355 + }; 1356 + e2.directiveName = "unsafeHTML", e2.resultType = 1; 1357 + var o = e(e2); 1358 + 1359 + // facets/index.js 1360 + document.body.addEventListener( 1361 + "click", 1362 + /** 1363 + * @param {MouseEvent} event 1364 + */ 1365 + async (event) => { 1366 + const target = ( 1367 + /** @type {HTMLElement} */ 1368 + event.target 1369 + ); 1370 + const rel = target.getAttribute("rel"); 1371 + if (!rel) return; 1372 + const uri = target.closest("li")?.getAttribute("data-uri"); 1373 + if (!uri) return; 1374 + const name = target.closest("li")?.getAttribute("data-name"); 1375 + if (!name) return; 1376 + switch (rel) { 1377 + case "fork": { 1378 + const facet = await facetFromURI({ name, uri }, { fetchHTML: true }); 1379 + editFacet(facet); 1380 + document.querySelector("#build")?.scrollIntoView(); 1381 + break; 1382 + } 1383 + case "save": { 1384 + const facet = await facetFromURI({ name, uri }, { fetchHTML: false }); 1385 + const out = foundation_default.orchestrator.output(); 1386 + out.facets.save([ 1387 + ...out.facets.collection(), 1388 + facet 1389 + ]); 1390 + break; 1391 + } 1392 + } 1393 + } 1394 + ); 1395 + var listEl = document.querySelector("#list"); 1396 + if (!listEl) throw new Error("List element not found"); 1397 + var output = foundation_default.orchestrator.output(); 1398 + listEl.innerHTML = ""; 1399 + effect(() => { 1400 + const col = output.facets.collection().sort((a, b2) => { 1401 + return a.name.toLocaleLowerCase().localeCompare(b2.name.toLocaleLowerCase()); 1402 + }); 1403 + const state = output.facets.state(); 1404 + const h = col.length && state === "loaded" ? T` 1405 + <ul> 1406 + ${col.map( 1407 + (c) => i2( 1408 + c.id, 1409 + T` 1410 + <li> 1411 + <div style="position: relative;"> 1412 + <a href="facets/l/?id=${c.id}"> 1413 + ${c.name} 1414 + </a> 1415 + <button 1416 + class="button--fixed button--transparent" 1417 + popovertarget="facet-menu-col-${c.id}" 1418 + style="anchor-name: --facet-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 1419 + > 1420 + <i class="ph-fill ph-dots-three-circle"></i> 1421 + </button> 1422 + </div> 1423 + <div class="list-description"> 1424 + <div> 1425 + ${c.description?.trim().length ? o( 1426 + g.parse(c.description, { async: false }) 1427 + ) : A} 1428 + </div> 1429 + <div> 1430 + ${c.uri && !c.html ? T` 1431 + <span class="with-icon"> 1432 + <i class="ph-fill ph-binoculars"></i> 1433 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 1434 + </span> 1435 + ` : T` 1436 + <span class="with-icon"> 1437 + <i class="ph-fill ph-code"></i> 1438 + <span>Custom code</span> 1439 + </span> 1440 + `} 1441 + </div> 1442 + </div> 1443 + 1444 + <!-- Dropdown Menu --> 1445 + <div 1446 + id="facet-menu-col-${c.id}" 1447 + class="dropdown" 1448 + style="position-anchor: --facet-anchor-col-${c.id}" 1449 + popover 1450 + > 1451 + <a href="facets/l/?id=${c.id}"> 1452 + <span class="with-icon"> 1453 + <i class="ph-fill ph-globe"></i> Open 1454 + </span> 1455 + </a> 1456 + <a @click="${() => editFacet(c)}"> 1457 + <span class="with-icon"> 1458 + <i class="ph-fill ph-cursor-text"></i> Edit 1459 + </span> 1460 + </a> 1461 + <a @click="${deleteFacet({ id: c.id })}"> 1462 + <span class="with-icon"> 1463 + <i class="ph-fill ph-eraser"></i> Delete 1464 + </span> 1465 + </a> 1466 + </div> 1467 + </li> 1468 + ` 1469 + ) 1470 + )} 1471 + </ul> 1472 + ` : state === "loaded" ? emptyFacetsList : T` 1473 + <div class="with-icon" style="font-size: var(--fs-sm);"> 1474 + <i class="ph-bold ph-spinner-gap"></i> 1475 + Loading items 1476 + </div> 1477 + `; 1478 + B(h, listEl); 1479 + }); 1480 + var emptyFacetsList = T` 1481 + <p style="margin-bottom: 0;"> 1482 + <i class="ph-fill ph-info"></i> You have not saved any facets yet. 1483 + </p> 1484 + `; 1485 + function deleteFacet({ id }) { 1486 + return () => { 1487 + const c = confirm("Are you sure you want to delete this facet?"); 1488 + if (!c) return; 1489 + output.facets.save( 1490 + output.facets.collection().filter((c2) => !(c2.id === id)) 1491 + ); 1492 + }; 1493 + } 1494 + __name(deleteFacet, "deleteFacet"); 1495 + var $editingFacet = signal( 1496 + /** @type {Facet | null} */ 1497 + null 1498 + ); 1499 + var editorContainer = document.body.querySelector("#html-input-container"); 1500 + if (!editorContainer) throw new Error("Editor container not found"); 1501 + var editor = new EditorView({ 1502 + parent: editorContainer, 1503 + doc: ` 1504 + <main> 1505 + <h1 id="now-playing"> 1506 + Waiting on tracks &amp; queue to load ... 1507 + </h1> 1508 + </main> 1509 + 1510 + <style> 1511 + @import "./styles/base.css"; 1512 + @import "./styles/diffuse/page.css"; 1513 + </style> 1514 + 1515 + <script type="module"> 1516 + import foundation from "@diffuse/foundation"; 1517 + import { effect } from "./common/signal.js"; 1518 + 1519 + const components = foundation.features.fillQueueAutomatically(); 1520 + const myHtmlElement = document.querySelector("#now-playing"); 1521 + 1522 + effect(() => { 1523 + const now = components.engine.queue.now(); 1524 + const currentlyPlaying = now ? components.orchestrator.output.tracks.collection().find(t => t.id === now.id) : undefined; 1525 + if (currentlyPlaying && myHtmlElement) { 1526 + myHtmlElement.innerText = \`\${currentlyPlaying.tags.artist} - \${currentlyPlaying.tags.title}\`; 1527 + } 1528 + }) 1529 + <\/script> 1530 + `.trim(), 1531 + extensions: [ 1532 + basicSetup, 1533 + html(), 1534 + css(), 1535 + javascript(), 1536 + autocompletion() 1537 + ] 1538 + }); 1539 + document.querySelector("#build-form")?.addEventListener( 1540 + "submit", 1541 + onBuildSubmit 1542 + ); 1543 + async function onBuildSubmit(event) { 1544 + event.preventDefault(); 1545 + const nameEl = ( 1546 + /** @type {HTMLInputElement | null} */ 1547 + document.querySelector( 1548 + "#name-input" 1549 + ) 1550 + ); 1551 + const descriptionEl = ( 1552 + /** @type {HTMLTextAreaElement | null} */ 1553 + document.querySelector("#description-input") 1554 + ); 1555 + const html2 = editor.state.doc.toString(); 1556 + const cid = await create(85, new TextEncoder().encode(html2)); 1557 + const name = nameEl?.value ?? "nameless"; 1558 + const description = descriptionEl?.value ?? ""; 1559 + const facet = $editingFacet.value ? { 1560 + ...$editingFacet.value, 1561 + cid, 1562 + description, 1563 + html: html2, 1564 + name 1565 + } : { 1566 + $type: "sh.diffuse.output.facet", 1567 + id: now(), 1568 + cid, 1569 + description, 1570 + html: html2, 1571 + name 1572 + }; 1573 + switch ( 1574 + /** @type {any} */ 1575 + event.submitter.name 1576 + ) { 1577 + case "save": 1578 + await saveFacet(facet); 1579 + break; 1580 + case "save+open": 1581 + await saveFacet(facet); 1582 + globalThis.open(`./facets/l/?id=${facet.id}`, "blank"); 1583 + break; 1584 + } 1585 + } 1586 + __name(onBuildSubmit, "onBuildSubmit"); 1587 + async function editFacet(ogFacet) { 1588 + const facet = { ...ogFacet }; 1589 + const nameEl = ( 1590 + /** @type {HTMLInputElement | null} */ 1591 + document.querySelector( 1592 + "#name-input" 1593 + ) 1594 + ); 1595 + const descriptionEl = ( 1596 + /** @type {HTMLTextAreaElement | null} */ 1597 + document.querySelector("#description-input") 1598 + ); 1599 + if (!nameEl) return; 1600 + document.querySelector("#build")?.scrollIntoView(); 1601 + if (!facet.html && facet.uri) { 1602 + const html2 = await loadURI(facet.uri); 1603 + const cid = await create(85, new TextEncoder().encode(html2)); 1604 + facet.html = html2; 1605 + facet.cid = cid; 1606 + } 1607 + $editingFacet.value = facet; 1608 + nameEl.value = facet.name; 1609 + if (descriptionEl) { 1610 + descriptionEl.value = facet.description ?? ""; 1611 + } 1612 + editor.dispatch({ 1613 + changes: { from: 0, to: editor.state.doc.length, insert: facet.html } 1614 + }); 1615 + } 1616 + __name(editFacet, "editFacet"); 1617 + async function saveFacet(facet) { 1618 + const col = output.facets.collection(); 1619 + const colWithoutId = col.filter((c) => c.id !== facet.id); 1620 + await output.facets.save([...colWithoutId, { 1621 + ...facet, 1622 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 1623 + }]); 1624 + } 1625 + __name(saveFacet, "saveFacet"); 1626 + /*! Bundled license information: 1627 + 1628 + lit-html/node/directives/unsafe-html.js: 1629 + (** 1630 + * @license 1631 + * Copyright 2017 Google LLC 1632 + * SPDX-License-Identifier: BSD-3-Clause 1633 + *) 1634 + */ 1635 + 1636 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/index.js.map
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.html
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/l/index.html
+86
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-HDFVYYOI.js"; 4 + import "../../chunk-G4P4YFWD.js"; 5 + import "../../chunk-6JNRNMZQ.js"; 6 + import "../../chunk-UMMPFCLQ.js"; 7 + import "../../chunk-PKN6FN7E.js"; 8 + import "../../chunk-NP7LZHKR.js"; 9 + import "../../chunk-M2MAFKPM.js"; 10 + import "../../chunk-YV3SRJQF.js"; 11 + import "../../chunk-MVUUUQRL.js"; 12 + import "../../chunk-ESYALJPH.js"; 13 + import "../../chunk-U5LVPDQM.js"; 14 + import "../../chunk-JEGKC6HA.js"; 15 + import "../../chunk-6KMZB5IA.js"; 16 + import "../../chunk-XGM6M423.js"; 17 + import "../../chunk-B63ZUKFI.js"; 18 + import "../../chunk-TXU4RB3O.js"; 19 + import "../../chunk-3ENCKNXO.js"; 20 + import "../../chunk-OIRYE7B4.js"; 21 + import "../../chunk-3AO35WC3.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-FJBTJV3K.js"; 25 + import "../../chunk-PTVB4Y37.js"; 26 + import "../../chunk-HN4F5JEZ.js"; 27 + import "../../chunk-NBQPHQFP.js"; 28 + import "../../chunk-QERJLR3Q.js"; 29 + import "../../chunk-OBWEBS4T.js"; 30 + import "../../chunk-S6SMX4HA.js"; 31 + import "../../chunk-XRGLBUX4.js"; 32 + import "../../chunk-R3EQQDW5.js"; 33 + import "../../chunk-GQIBEDKG.js"; 34 + import "../../chunk-DDF5P57I.js"; 35 + import "../../chunk-EEUCFWD4.js"; 36 + import "../../chunk-6DRHTH2U.js"; 37 + import "../../chunk-TSYF7OPM.js"; 38 + import "../../chunk-GCLDJKYV.js"; 39 + import "../../chunk-KJFA7KRK.js"; 40 + import "../../chunk-HMBZONBJ.js"; 41 + import "../../chunk-6CB2LXND.js"; 42 + import "../../chunk-V7EQPFPD.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import "../../chunk-6DKPDMFE.js"; 45 + import "../../chunk-TP5GZFTO.js"; 46 + import "../../chunk-ZQZJJU3T.js"; 47 + import { 48 + createLoader 49 + } from "../../chunk-X6J7NMRW.js"; 50 + import "../../chunk-WN6GL63Q.js"; 51 + import "../../chunk-CRZ7HJJ4.js"; 52 + import "../../chunk-242LG3VP.js"; 53 + import "../../chunk-BKRD2ZIW.js"; 54 + import "../../chunk-HNJPKCUJ.js"; 55 + import "../../chunk-4YB6QUPN.js"; 56 + import "../../chunk-SGR5ST3A.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // facets/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.facet", 68 + label: "Facet", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.facets; 72 + }, "source"), 73 + render(facet) { 74 + const container = ( 75 + /** @type {HTMLDivElement} */ 76 + document.querySelector("#container") 77 + ); 78 + const range = document.createRange(); 79 + range.selectNode(container); 80 + const documentFragment = range.createContextualFragment(facet.html ?? ""); 81 + container.innerHTML = ""; 82 + container.append(documentFragment); 83 + } 84 + }); 85 + 86 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/facets/l/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/tools/auto-queue.html.txt
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/tools/auto-queue.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/facets/tools/v3-import.html.txt
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/facets/tools/v3-import.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon-16x16.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-16x16.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon-32x32.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon-32x32.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/favicon.ico
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/favicon.ico
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/CommitMonoVariable.woff2
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/fonts/CommitMonoVariable.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/InterVariable-Italic.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable-Italic.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/InterVariable.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/fonts/InterVariable.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/ms_sans_serif.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/fonts/ms_sans_serif_bold.woff2
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/1.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/1.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/10.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/10.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/11.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/11.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/12.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/12.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/13.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/13.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/14.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/14.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/15.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/15.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/16.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/16.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/17.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/17.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/18.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/18.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/19.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/19.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/2.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/2.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/20.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/20.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/21.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/21.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/22.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/22.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/23.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/23.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/24.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/24.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/25.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/25.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/26.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/26.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/27.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/27.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/28.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/28.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/29.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/29.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/3.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/3.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/30.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/30.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/4.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/4.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/5.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/5.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/6.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/6.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/7.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/7.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/8.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/8.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/9.jpg
··· 1 + ../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/9.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/1.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/1.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/10.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/10.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/11.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/11.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/12.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/12.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/13.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/13.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/14.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/14.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/15.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/15.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/16.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/16.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/17.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/17.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/18.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/18.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/19.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/19.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/2.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/2.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/20.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/20.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/21.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/21.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/22.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/22.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/23.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/23.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/24.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/24.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/25.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/25.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/26.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/26.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/27.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/27.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/28.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/28.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/29.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/29.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/3.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/3.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/30.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/30.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/4.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/4.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/5.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/5.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/6.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/6.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/7.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/7.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/8.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/8.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/background/thumbnails/9.jpg
··· 1 + ../../../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/Background/Thumbnails/9.jpg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-current.svg
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/diffuse-current.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-dark.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-grey.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse-light.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-dark.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-dark.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-grey.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-grey.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/diffuse__icon-light.svg
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/diffuse__icon-light.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon-square-ws.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square-ws.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon-square.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon-square.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icon.png
··· 1 + ../../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/images/icon.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/catalog-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/catalog-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_audio_cd_a-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_audio_cd_a-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_drive-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/cd_drive_purple-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/cd_drive_purple-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/channels-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/check-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/check-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/computer_sound-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_sound-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/computer_user_pencil-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/computer_user_pencil-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/connected_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/connected_world-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_admin_tools-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_admin_tools-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_admin_tools-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_channels-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_channels-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_channels-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_closed-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_closed-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_closed-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_control_panel-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_control_panel-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_control_panel-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_explorer-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_explorer-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_explorer-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_favorites-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_favorites-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_favorites-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_net_web-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_net_web-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_net_web-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_network_conn-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_network_conn-5.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_network_conn-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/directory_open_file_mydocs_2k-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/gears-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/gears-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/globe_map-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/globe_map-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/help_book_big-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/help_book_big-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/installer-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/installer_generic_old-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/installer_generic_old-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/keys-5.png
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/images/icons/windows_98/keys-5.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/loudspeaker_wave-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/loudspeaker_wave-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/magnifying_glass-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/magnifying_glass_4-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/magnifying_glass_4-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/media_player-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/media_player_stream_no.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/media_player_stream_no.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/ms_dos-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/ms_dos-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_error-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_error-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_information-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_information-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_question-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_question-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/msg_warning-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/msg_warning-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/multimedia-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/multimedia-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/network_drive_world-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/network_drive_world-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/no-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/no-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/restrict-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/restrict-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_computer-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_computer-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_server-1.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_server-1.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/search_web-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/search_web-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/settings_gear-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/settings_gear-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/settings_gear-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/tip.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/tip.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/utopia_smiley.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/utopia_smiley.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/winamp2-32x32.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/winamp2-32x32.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/windows-0.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/windows-0.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world-2.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-2.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world-4.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world-4.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/images/icons/windows_98/world_network_directories-3.png
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/images/icons/windows_98/world_network_directories-3.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.html
··· 1 + ../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/index.html
+136
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.js
··· 1 + import { 2 + GROUP 3 + } from "./chunk-HDFVYYOI.js"; 4 + import "./chunk-G4P4YFWD.js"; 5 + import { 6 + element_default as element_default4 7 + } from "./chunk-6JNRNMZQ.js"; 8 + import "./chunk-UMMPFCLQ.js"; 9 + import "./chunk-PKN6FN7E.js"; 10 + import "./chunk-NP7LZHKR.js"; 11 + import "./chunk-M2MAFKPM.js"; 12 + import "./chunk-YV3SRJQF.js"; 13 + import "./chunk-MVUUUQRL.js"; 14 + import "./chunk-ESYALJPH.js"; 15 + import "./chunk-U5LVPDQM.js"; 16 + import { 17 + element_default as element_default3 18 + } from "./chunk-JEGKC6HA.js"; 19 + import "./chunk-6KMZB5IA.js"; 20 + import "./chunk-XGM6M423.js"; 21 + import "./chunk-B63ZUKFI.js"; 22 + import { 23 + element_default as element_default5 24 + } from "./chunk-TXU4RB3O.js"; 25 + import "./chunk-3ENCKNXO.js"; 26 + import { 27 + element_default as element_default2 28 + } from "./chunk-OIRYE7B4.js"; 29 + import "./chunk-3AO35WC3.js"; 30 + import "./chunk-JBHW662S.js"; 31 + import "./chunk-GX3WPNEX.js"; 32 + import "./chunk-FJBTJV3K.js"; 33 + import "./chunk-PTVB4Y37.js"; 34 + import "./chunk-HN4F5JEZ.js"; 35 + import "./chunk-NBQPHQFP.js"; 36 + import "./chunk-QERJLR3Q.js"; 37 + import "./chunk-OBWEBS4T.js"; 38 + import "./chunk-S6SMX4HA.js"; 39 + import "./chunk-XRGLBUX4.js"; 40 + import "./chunk-R3EQQDW5.js"; 41 + import "./chunk-GQIBEDKG.js"; 42 + import "./chunk-DDF5P57I.js"; 43 + import "./chunk-EEUCFWD4.js"; 44 + import "./chunk-6DRHTH2U.js"; 45 + import "./chunk-TSYF7OPM.js"; 46 + import { 47 + element_default 48 + } from "./chunk-GCLDJKYV.js"; 49 + import "./chunk-KJFA7KRK.js"; 50 + import "./chunk-HMBZONBJ.js"; 51 + import "./chunk-6CB2LXND.js"; 52 + import "./chunk-V7EQPFPD.js"; 53 + import "./chunk-G56PUJUJ.js"; 54 + import "./chunk-6DKPDMFE.js"; 55 + import "./chunk-TP5GZFTO.js"; 56 + import "./chunk-ZQZJJU3T.js"; 57 + import "./chunk-BKRD2ZIW.js"; 58 + import "./chunk-HNJPKCUJ.js"; 59 + import "./chunk-SGR5ST3A.js"; 60 + import { 61 + __name, 62 + init_Buffer, 63 + init_process 64 + } from "./chunk-FZQXS3RE.js"; 65 + 66 + // index.js 67 + init_Buffer(); 68 + init_process(); 69 + var s3 = new element_default2(); 70 + var input = new element_default(); 71 + input.setAttribute("group", GROUP); 72 + input.append(s3); 73 + var output = new element_default3(); 74 + output.setAttribute("group", GROUP); 75 + var metadataProcessor = new element_default4(); 76 + metadataProcessor.setAttribute("group", GROUP); 77 + document.body.append(input, output, metadataProcessor); 78 + var pto = new element_default5(); 79 + pto.setAttribute("group", GROUP); 80 + pto.setAttribute("input-selector", input.selector); 81 + pto.setAttribute("output-selector", output.selector); 82 + pto.setAttribute("metadata-processor-selector", metadataProcessor.selector); 83 + document.body.append(pto); 84 + var addDemoBtn = document.querySelector("#add-sample-content"); 85 + async function addSampleContent() { 86 + if (!addDemoBtn) return; 87 + addDemoBtn.setAttribute("disabled", ""); 88 + addDemoBtn.innerHTML = `<span> 89 + <i class="ph-fill ph-hourglass-medium"></i> 90 + Adding source 91 + </span>`; 92 + const demo = await s3.demo(); 93 + await output.tracks.loaded(); 94 + addDemoBtn.innerHTML = `<span> 95 + <i class="ph-fill ph-hourglass-medium"></i> 96 + Processing source 97 + </span>`; 98 + await output.tracks.save([...output.tracks.collection(), demo.track]); 99 + await pto.process(); 100 + addDemoBtn.innerHTML = `<span> 101 + <i class="ph-fill ph-check-fat"></i> Added 102 + </span>`; 103 + } 104 + __name(addSampleContent, "addSampleContent"); 105 + addDemoBtn?.addEventListener("click", addSampleContent); 106 + if (document.location.hostname.endsWith("diffuse.sh")) { 107 + document.querySelectorAll("#status").forEach(async (status) => { 108 + const versionOrCid = document.location.pathname.slice(1).split("/")[0]?.toLowerCase() ?? ""; 109 + const usesCid = versionOrCid.startsWith("bafy"); 110 + const { default: artifacts } = await import(`${document.location.origin}/artifacts.json`, { with: { type: "json" } }); 111 + const lastArtifact = Object.values(artifacts).reverse()[0]; 112 + const isLatest = usesCid ? versionOrCid === lastArtifact.cid : versionOrCid === lastArtifact.version; 113 + status.querySelectorAll(".ph-spinner").forEach((icon) => { 114 + icon.parentElement?.classList.add("hidden"); 115 + setTimeout(() => { 116 + icon.parentElement?.classList.remove("animate-spin"); 117 + icon.classList.remove("ph-spinner"); 118 + icon.classList.add("ph-arrow-fat-lines-up"); 119 + }, 500); 120 + }); 121 + status.querySelectorAll(`[href="/latest/"]`).forEach((a) => { 122 + if (usesCid) a.setAttribute("href", "/latest/hash/"); 123 + if (!isLatest) { 124 + setTimeout(() => { 125 + a.classList.remove("hidden"); 126 + }, 750); 127 + } 128 + }); 129 + }); 130 + } else { 131 + document.querySelectorAll("#status").forEach((status) => { 132 + status.remove(); 133 + }); 134 + } 135 + 136 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/index.js.map
··· 1 + ../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/mstile-150x150.png
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/mstile-150x150.png
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/node_crypto-QYMDOTAM.js
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/node_crypto-QYMDOTAM.js.map
··· 1 + ../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/node_crypto-QYMDOTAM.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth-client-metadata.json
··· 1 + ../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/oauth-client-metadata.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth-client-metadata.tunnel.json
··· 1 + ../bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu/oauth-client-metadata.tunnel.json
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.html
··· 1 + ../../../bafybeiauzef62425mum6ztycx7plxmceagc2pjl4uck4h2q6qjds3ahe2u/oauth/callback/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.js
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/oauth/callback/index.js.map
··· 1 + ../../../bafybeifzg2vr4j7pvtjsr5jbyswboxepndwv4tzkqwzc72k4xck7oaozii/oauth/callback/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/safari-pinned-tab.svg
··· 1 + ../bafybeickgtv5nqyo2wizj323e6jy4mlcrmchzyfsgjgngl5kbzv6coqhk4/safari-pinned-tab.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/animations.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/animations.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/animations.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/base.css
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/base.css.map
··· 1 + ../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/base.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/colors.css
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/colors.css.map
··· 1 + ../../../bafybeiftdd7dlfoayxlckoz7nnnoun5ggr2p2biwnbnfn3zflg2drlkmca/styles/diffuse/colors.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/fonts.css
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/fonts.css.map
··· 1 + ../../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/diffuse/fonts.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/page.css
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/diffuse/page.css.map
··· 1 + ../../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/styles/diffuse/page.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/font-faces.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/font-faces.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/font-faces.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/loader.css
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/loader.css.map
··· 1 + ../../bafybeiairw5zug6xd6xosgopcoyu3ieg4kiiesvqeszsk2xvipvsoxasvy/styles/loader.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/reset.css
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/reset.css.map
··· 1 + ../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/reset.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/variables.css
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/variables.css.map
··· 1 + ../../bafybeiezh4rgv7gk73o5dalfyilv5nfopezyvshtj5j7hrn23r4n27k7da/styles/variables.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/98.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/98.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/98.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/ms_sans_serif.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/ms_sans_serif_bold.woff2
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/ms_sans_serif_bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.svg
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.ttf
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.woff
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/Phosphor-Bold.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/style.css
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/bold/style.css.map
··· 1 + ../../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/styles/vendor/phosphor/bold/style.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.svg
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.svg
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.ttf
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.woff
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/Phosphor-Fill.woff2
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/style.css
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/vendor/phosphor/fill/style.css.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/styles/vendor/phosphor/fill/style.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/wireframe/ui.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/styles/wireframe/ui.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/styles/wireframe/ui.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/index.html
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output.js
··· 1 + ../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/testing/output.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output.js.map
··· 1 + ../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/output.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/output/index.html
··· 1 + ../../../bafybeic6tj6wx4iomrjs54m3je4e7lmq4jgcn7zqegufxtvqijffq32zkm/testing/output/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/sample/tracks.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/testing/sample/tracks.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/testing/sample/tracks.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.css
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.css.map
··· 1 + ../../../../bafybeidxl54c4ymomv6kytxqps6b5di34hgltpvyomx52g65lplv6dosxy/themes/blur/artwork-controller/element.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/blur/artwork-controller/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/element.js.map
··· 1 + ../../../../bafybeidi3kcddz5dkh3zvsszshh4pe37cf4zjgco3xgydj77g7v3ksd2ya/themes/blur/artwork-controller/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/artwork-controller/facet.html.txt
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/blur/artwork-controller/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.css
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.css.map
··· 1 + ../../../bafybeihr4brahqptxmxcdksktdfgs4hyl64odwx524vqmmitjvmn57sklq/themes/blur/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.html
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/index.html
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.js
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/index.js.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/blur/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/variables.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/blur/variables.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/blur/variables.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.html
··· 1 + ../../bafybeicokklzc7qrdyz7qaho5jskzgdhzi7o2ihwvbbalw6c5p75fsyfie/themes/index.html
+307
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.js
··· 1 + import { 2 + EditorView, 3 + autocompletion, 4 + basicSetup, 5 + css, 6 + html, 7 + javascript 8 + } from "../chunk-T6JAPJ7J.js"; 9 + import { 10 + foundation_default 11 + } from "../chunk-HDFVYYOI.js"; 12 + import "../chunk-G4P4YFWD.js"; 13 + import "../chunk-6JNRNMZQ.js"; 14 + import "../chunk-UMMPFCLQ.js"; 15 + import "../chunk-PKN6FN7E.js"; 16 + import "../chunk-NP7LZHKR.js"; 17 + import "../chunk-M2MAFKPM.js"; 18 + import "../chunk-YV3SRJQF.js"; 19 + import "../chunk-MVUUUQRL.js"; 20 + import "../chunk-ESYALJPH.js"; 21 + import "../chunk-U5LVPDQM.js"; 22 + import "../chunk-JEGKC6HA.js"; 23 + import "../chunk-6KMZB5IA.js"; 24 + import "../chunk-XGM6M423.js"; 25 + import "../chunk-B63ZUKFI.js"; 26 + import "../chunk-TXU4RB3O.js"; 27 + import "../chunk-3ENCKNXO.js"; 28 + import "../chunk-OIRYE7B4.js"; 29 + import "../chunk-3AO35WC3.js"; 30 + import "../chunk-JBHW662S.js"; 31 + import "../chunk-GX3WPNEX.js"; 32 + import "../chunk-FJBTJV3K.js"; 33 + import "../chunk-PTVB4Y37.js"; 34 + import "../chunk-HN4F5JEZ.js"; 35 + import { 36 + i 37 + } from "../chunk-NBQPHQFP.js"; 38 + import "../chunk-QERJLR3Q.js"; 39 + import "../chunk-OBWEBS4T.js"; 40 + import "../chunk-S6SMX4HA.js"; 41 + import "../chunk-XRGLBUX4.js"; 42 + import "../chunk-R3EQQDW5.js"; 43 + import "../chunk-GQIBEDKG.js"; 44 + import "../chunk-DDF5P57I.js"; 45 + import "../chunk-EEUCFWD4.js"; 46 + import "../chunk-6DRHTH2U.js"; 47 + import "../chunk-TSYF7OPM.js"; 48 + import "../chunk-GCLDJKYV.js"; 49 + import "../chunk-KJFA7KRK.js"; 50 + import "../chunk-HMBZONBJ.js"; 51 + import "../chunk-6CB2LXND.js"; 52 + import { 53 + B, 54 + T 55 + } from "../chunk-V7EQPFPD.js"; 56 + import "../chunk-G56PUJUJ.js"; 57 + import { 58 + themeFromURI 59 + } from "../chunk-4LOJTZ72.js"; 60 + import "../chunk-6DKPDMFE.js"; 61 + import "../chunk-TP5GZFTO.js"; 62 + import "../chunk-ZQZJJU3T.js"; 63 + import { 64 + loadURI 65 + } from "../chunk-X6J7NMRW.js"; 66 + import "../chunk-WN6GL63Q.js"; 67 + import "../chunk-CRZ7HJJ4.js"; 68 + import "../chunk-242LG3VP.js"; 69 + import { 70 + now 71 + } from "../chunk-BKRD2ZIW.js"; 72 + import { 73 + effect, 74 + signal 75 + } from "../chunk-HNJPKCUJ.js"; 76 + import { 77 + create 78 + } from "../chunk-4YB6QUPN.js"; 79 + import "../chunk-SGR5ST3A.js"; 80 + import { 81 + __name, 82 + init_Buffer, 83 + init_process 84 + } from "../chunk-FZQXS3RE.js"; 85 + 86 + // themes/index.js 87 + init_Buffer(); 88 + init_process(); 89 + document.body.addEventListener( 90 + "click", 91 + /** 92 + * @param {MouseEvent} event 93 + */ 94 + async (event) => { 95 + const target = ( 96 + /** @type {HTMLElement} */ 97 + event.target 98 + ); 99 + const rel = target.getAttribute("rel"); 100 + if (!rel) return; 101 + const uri = target.closest("li")?.getAttribute("data-uri"); 102 + if (!uri) return; 103 + const name = target.closest("li")?.getAttribute("data-name"); 104 + if (!name) return; 105 + switch (rel) { 106 + case "fork": { 107 + const theme = await themeFromURI({ name, uri }, { fetchHTML: true }); 108 + editTheme(theme); 109 + document.querySelector("#build")?.scrollIntoView(); 110 + break; 111 + } 112 + case "save": { 113 + const theme = await themeFromURI({ name, uri }, { fetchHTML: false }); 114 + const out = foundation_default.orchestrator.output(); 115 + out.themes.save([ 116 + ...out.themes.collection(), 117 + theme 118 + ]); 119 + break; 120 + } 121 + } 122 + } 123 + ); 124 + var listEl = document.querySelector("#list"); 125 + if (!listEl) throw new Error("List element not found"); 126 + listEl.innerHTML = ""; 127 + var output = foundation_default.orchestrator.output(); 128 + effect(() => { 129 + const col = output.themes.collection().sort((a, b) => { 130 + return a.name.toLocaleLowerCase().localeCompare(b.name.toLocaleLowerCase()); 131 + }); 132 + const state = output.themes.state(); 133 + const h = col.length && state === "loaded" ? T` 134 + <ul> 135 + ${col.map( 136 + (c) => i( 137 + c.id, 138 + T` 139 + <li> 140 + <div style="position: relative;"> 141 + <a href="themes/l/?id=${c.id}"> 142 + ${c.name} 143 + </a> 144 + <button 145 + class="button--fixed button--transparent" 146 + popovertarget="theme-menu-col-${c.id}" 147 + style="anchor-name: --theme-anchor-col-${c.id}; position: absolute; right: 0; top: 50%; transform: translateY(-50%);" 148 + > 149 + <i class="ph-fill ph-dots-three-circle"></i> 150 + </button> 151 + </div> 152 + <div class="list-description"> 153 + ${c.uri && !c.html ? T` 154 + <span class="with-icon"> 155 + <i class="ph-fill ph-binoculars"></i> 156 + <span>Tracking the original <a href="${c.uri}">URI</a></span> 157 + </span> 158 + ` : T` 159 + <span class="with-icon"> 160 + <i class="ph-fill ph-code"></i> 161 + <span>Custom code</span> 162 + </span> 163 + `} 164 + </div> 165 + 166 + <!-- Dropdown Menu --> 167 + <div 168 + id="theme-menu-col-${c.id}" 169 + class="dropdown" 170 + style="position-anchor: --theme-anchor-col-${c.id}" 171 + popover 172 + > 173 + <a href="themes/l/?id=${c.id}"> 174 + <span class="with-icon"> 175 + <i class="ph-fill ph-globe"></i> Open 176 + </span> 177 + </a> 178 + <a @click="${() => editTheme(c)}"> 179 + <span class="with-icon"> 180 + <i class="ph-fill ph-cursor-text"></i> Edit 181 + </span> 182 + </a> 183 + <a @click="${deleteTheme({ id: c.id })}"> 184 + <span class="with-icon"> 185 + <i class="ph-fill ph-eraser"></i> Delete 186 + </span> 187 + </a> 188 + </div> 189 + </li> 190 + ` 191 + ) 192 + )} 193 + </ul> 194 + ` : state === "loaded" ? emptyThemesList : T` 195 + <div class="with-icon" style="font-size: var(--fs-sm);"> 196 + <i class="ph-bold ph-spinner-gap"></i> 197 + Loading items 198 + </div> 199 + `; 200 + B(h, listEl); 201 + }); 202 + var emptyThemesList = T` 203 + <p style="margin-bottom: 0;"> 204 + <i class="ph-fill ph-info"></i> You have not saved any themes yet. 205 + </p> 206 + `; 207 + function deleteTheme({ id }) { 208 + return () => { 209 + const c = confirm("Are you sure you want to delete this theme?"); 210 + if (!c) return; 211 + output.themes.save( 212 + output.themes.collection().filter((c2) => !(c2.id === id)) 213 + ); 214 + }; 215 + } 216 + __name(deleteTheme, "deleteTheme"); 217 + var $editingTheme = signal( 218 + /** @type {Theme | null} */ 219 + null 220 + ); 221 + var editorContainer = document.body.querySelector("#html-input-container"); 222 + if (!editorContainer) throw new Error("Editor container not found"); 223 + var editor = new EditorView({ 224 + parent: editorContainer, 225 + doc: ``.trim(), 226 + extensions: [ 227 + basicSetup, 228 + html(), 229 + css(), 230 + javascript(), 231 + autocompletion() 232 + ] 233 + }); 234 + document.querySelector("#build-form")?.addEventListener( 235 + "submit", 236 + onBuildSubmit 237 + ); 238 + async function onBuildSubmit(event) { 239 + event.preventDefault(); 240 + const nameEl = ( 241 + /** @type {HTMLInputElement | null} */ 242 + document.querySelector( 243 + "#name-input" 244 + ) 245 + ); 246 + const html2 = editor.state.doc.toString(); 247 + const cid = await create(85, new TextEncoder().encode(html2)); 248 + const name = nameEl?.value ?? "nameless"; 249 + const theme = $editingTheme.value ? { 250 + ...$editingTheme.value, 251 + cid, 252 + html: html2, 253 + name 254 + } : { 255 + $type: "sh.diffuse.output.theme", 256 + id: now(), 257 + cid, 258 + html: html2, 259 + name 260 + }; 261 + switch ( 262 + /** @type {any} */ 263 + event.submitter.name 264 + ) { 265 + case "save": 266 + await saveTheme(theme); 267 + break; 268 + case "save+open": 269 + await saveTheme(theme); 270 + globalThis.open(`./themes/l/?id=${theme.id}`, "blank"); 271 + break; 272 + } 273 + } 274 + __name(onBuildSubmit, "onBuildSubmit"); 275 + async function editTheme(ogTheme) { 276 + const theme = { ...ogTheme }; 277 + const nameEl = ( 278 + /** @type {HTMLInputElement | null} */ 279 + document.querySelector( 280 + "#name-input" 281 + ) 282 + ); 283 + if (!nameEl) return; 284 + if (!theme.html && theme.uri) { 285 + const html2 = await loadURI(theme.uri); 286 + const cid = await create(85, new TextEncoder().encode(html2)); 287 + theme.html = html2; 288 + theme.cid = cid; 289 + } 290 + $editingTheme.value = theme; 291 + nameEl.value = theme.name; 292 + editor.dispatch({ 293 + changes: { from: 0, to: editor.state.doc.length, insert: theme.html } 294 + }); 295 + } 296 + __name(editTheme, "editTheme"); 297 + async function saveTheme(theme) { 298 + const col = output.themes.collection(); 299 + const colWithoutId = col.filter((c) => c.id !== theme.id); 300 + await output.themes.save([...colWithoutId, { 301 + ...theme, 302 + updatedAt: (/* @__PURE__ */ new Date()).toISOString() 303 + }]); 304 + } 305 + __name(saveTheme, "saveTheme"); 306 + 307 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/index.js.map
··· 1 + ../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.css
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.css.map
··· 1 + ../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/l/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.html
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/l/index.html
+81
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.js
··· 1 + import { 2 + foundation_default 3 + } from "../../chunk-HDFVYYOI.js"; 4 + import "../../chunk-G4P4YFWD.js"; 5 + import "../../chunk-6JNRNMZQ.js"; 6 + import "../../chunk-UMMPFCLQ.js"; 7 + import "../../chunk-PKN6FN7E.js"; 8 + import "../../chunk-NP7LZHKR.js"; 9 + import "../../chunk-M2MAFKPM.js"; 10 + import "../../chunk-YV3SRJQF.js"; 11 + import "../../chunk-MVUUUQRL.js"; 12 + import "../../chunk-ESYALJPH.js"; 13 + import "../../chunk-U5LVPDQM.js"; 14 + import "../../chunk-JEGKC6HA.js"; 15 + import "../../chunk-6KMZB5IA.js"; 16 + import "../../chunk-XGM6M423.js"; 17 + import "../../chunk-B63ZUKFI.js"; 18 + import "../../chunk-TXU4RB3O.js"; 19 + import "../../chunk-3ENCKNXO.js"; 20 + import "../../chunk-OIRYE7B4.js"; 21 + import "../../chunk-3AO35WC3.js"; 22 + import "../../chunk-JBHW662S.js"; 23 + import "../../chunk-GX3WPNEX.js"; 24 + import "../../chunk-FJBTJV3K.js"; 25 + import "../../chunk-PTVB4Y37.js"; 26 + import "../../chunk-HN4F5JEZ.js"; 27 + import "../../chunk-NBQPHQFP.js"; 28 + import "../../chunk-QERJLR3Q.js"; 29 + import "../../chunk-OBWEBS4T.js"; 30 + import "../../chunk-S6SMX4HA.js"; 31 + import "../../chunk-XRGLBUX4.js"; 32 + import "../../chunk-R3EQQDW5.js"; 33 + import "../../chunk-GQIBEDKG.js"; 34 + import "../../chunk-DDF5P57I.js"; 35 + import "../../chunk-EEUCFWD4.js"; 36 + import "../../chunk-6DRHTH2U.js"; 37 + import "../../chunk-TSYF7OPM.js"; 38 + import "../../chunk-GCLDJKYV.js"; 39 + import "../../chunk-KJFA7KRK.js"; 40 + import "../../chunk-HMBZONBJ.js"; 41 + import "../../chunk-6CB2LXND.js"; 42 + import "../../chunk-V7EQPFPD.js"; 43 + import "../../chunk-G56PUJUJ.js"; 44 + import "../../chunk-6DKPDMFE.js"; 45 + import "../../chunk-TP5GZFTO.js"; 46 + import "../../chunk-ZQZJJU3T.js"; 47 + import { 48 + createLoader 49 + } from "../../chunk-X6J7NMRW.js"; 50 + import "../../chunk-WN6GL63Q.js"; 51 + import "../../chunk-CRZ7HJJ4.js"; 52 + import "../../chunk-242LG3VP.js"; 53 + import "../../chunk-BKRD2ZIW.js"; 54 + import "../../chunk-HNJPKCUJ.js"; 55 + import "../../chunk-4YB6QUPN.js"; 56 + import "../../chunk-SGR5ST3A.js"; 57 + import { 58 + __name, 59 + init_Buffer, 60 + init_process 61 + } from "../../chunk-FZQXS3RE.js"; 62 + 63 + // themes/l/index.js 64 + init_Buffer(); 65 + init_process(); 66 + createLoader({ 67 + $type: "sh.diffuse.output.theme", 68 + label: "Theme", 69 + source: /* @__PURE__ */ __name(() => { 70 + const output = foundation_default.orchestrator.output(); 71 + return output.themes; 72 + }, "source"), 73 + render(theme) { 74 + const iframe = document.createElement("iframe"); 75 + iframe.srcdoc = theme.html ?? ""; 76 + document.body.innerHTML = ""; 77 + document.body.append(iframe); 78 + } 79 + }); 80 + 81 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/l/index.js.map
··· 1 + ../../../bafybeih26nbu4qfpdxtsnmdgp64bgrwdzhk5imx6nqiqsdut6nf4bhcuve/themes/l/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-extra.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-extra.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/98-extra.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-vars.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/98-vars.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/98-vars.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/browser/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/browser/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/browser/facet.html.txt
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/browser/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/common/ui.js
··· 1 + ../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/common/ui.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/common/ui.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/common/ui.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/element.js
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/input/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/element.js.map
··· 1 + ../../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/configurators/input/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/input/facet.html.txt
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/input/facet.html.txt
+36
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/element.js
··· 1 + import { 2 + CLASS, 3 + NAME, 4 + element_default 5 + } from "../../../../chunk-3HY7HXXJ.js"; 6 + import "../../../../chunk-BLEJHIYA.js"; 7 + import "../../../../chunk-6WKBRQHS.js"; 8 + import "../../../../chunk-IGKYDHDK.js"; 9 + import "../../../../chunk-GASLBSUN.js"; 10 + import "../../../../chunk-NSJY6VZI.js"; 11 + import "../../../../chunk-77ZY4GQV.js"; 12 + import "../../../../chunk-NZ7ODGIJ.js"; 13 + import "../../../../chunk-YCKIJVMK.js"; 14 + import "../../../../chunk-JZMTETBD.js"; 15 + import "../../../../chunk-H3WG7GN4.js"; 16 + import "../../../../chunk-B63ZUKFI.js"; 17 + import "../../../../chunk-JBHW662S.js"; 18 + import "../../../../chunk-HMBZONBJ.js"; 19 + import "../../../../chunk-V7EQPFPD.js"; 20 + import "../../../../chunk-G56PUJUJ.js"; 21 + import "../../../../chunk-6DKPDMFE.js"; 22 + import "../../../../chunk-TP5GZFTO.js"; 23 + import "../../../../chunk-ZQZJJU3T.js"; 24 + import "../../../../chunk-WN6GL63Q.js"; 25 + import "../../../../chunk-CRZ7HJJ4.js"; 26 + import "../../../../chunk-242LG3VP.js"; 27 + import "../../../../chunk-BKRD2ZIW.js"; 28 + import "../../../../chunk-HNJPKCUJ.js"; 29 + import "../../../../chunk-FZQXS3RE.js"; 30 + export { 31 + CLASS, 32 + NAME, 33 + element_default as default 34 + }; 35 + 36 + //# sourceMappingURL=./element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/element.js.map
··· 1 + ../../../../../bafybeidalhvzpez6rklon4cuqrh44f47s6iw34tgqzocr5c3mdhxbkwtsu/themes/webamp/configurators/output/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/configurators/output/facet.html.txt
··· 1 + ../../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/configurators/output/facet.html.txt
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/facet.css
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/facet.css.map
··· 1 + ../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/facet.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/fonts.css
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/fonts.css.map
··· 1 + ../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/fonts.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.css
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.css.map
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.css.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.html
··· 1 + ../../../bafybeify7k4tyvqdlraa7y7zga5wrnzetljpvtvgy2fkwui4wz4beq4fzy/themes/webamp/index.html
+191
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.js
··· 1 + import "../../chunk-FJAAY3PY.js"; 2 + import "../../chunk-3HY7HXXJ.js"; 3 + import { 4 + element_default 5 + } from "../../chunk-2E662X3X.js"; 6 + import { 7 + element_default as element_default2 8 + } from "../../chunk-3THWHK2M.js"; 9 + import "../../chunk-QXBWZVFE.js"; 10 + import "../../chunk-676R57TH.js"; 11 + import "../../chunk-3CXPPL5Z.js"; 12 + import "../../chunk-BLEJHIYA.js"; 13 + import "../../chunk-6WKBRQHS.js"; 14 + import "../../chunk-IGKYDHDK.js"; 15 + import "../../chunk-GASLBSUN.js"; 16 + import "../../chunk-NSJY6VZI.js"; 17 + import "../../chunk-77ZY4GQV.js"; 18 + import "../../chunk-NZ7ODGIJ.js"; 19 + import "../../chunk-YCKIJVMK.js"; 20 + import "../../chunk-JZMTETBD.js"; 21 + import "../../chunk-H3WG7GN4.js"; 22 + import "../../chunk-6JNRNMZQ.js"; 23 + import { 24 + element_exports as element_exports3 25 + } from "../../chunk-UMMPFCLQ.js"; 26 + import "../../chunk-PKN6FN7E.js"; 27 + import { 28 + element_exports as element_exports4 29 + } from "../../chunk-M2MAFKPM.js"; 30 + import "../../chunk-U5LVPDQM.js"; 31 + import "../../chunk-JEGKC6HA.js"; 32 + import "../../chunk-6KMZB5IA.js"; 33 + import "../../chunk-XGM6M423.js"; 34 + import "../../chunk-B63ZUKFI.js"; 35 + import "../../chunk-TXU4RB3O.js"; 36 + import "../../chunk-OIRYE7B4.js"; 37 + import "../../chunk-3AO35WC3.js"; 38 + import "../../chunk-JBHW662S.js"; 39 + import "../../chunk-GX3WPNEX.js"; 40 + import "../../chunk-FJBTJV3K.js"; 41 + import "../../chunk-PTVB4Y37.js"; 42 + import "../../chunk-HN4F5JEZ.js"; 43 + import { 44 + element_exports 45 + } from "../../chunk-OBWEBS4T.js"; 46 + import "../../chunk-XRGLBUX4.js"; 47 + import "../../chunk-R3EQQDW5.js"; 48 + import "../../chunk-GQIBEDKG.js"; 49 + import "../../chunk-DDF5P57I.js"; 50 + import "../../chunk-EEUCFWD4.js"; 51 + import "../../chunk-6DRHTH2U.js"; 52 + import "../../chunk-TSYF7OPM.js"; 53 + import { 54 + element_exports as element_exports2 55 + } from "../../chunk-GCLDJKYV.js"; 56 + import "../../chunk-KJFA7KRK.js"; 57 + import "../../chunk-HMBZONBJ.js"; 58 + import "../../chunk-6CB2LXND.js"; 59 + import { 60 + component 61 + } from "../../chunk-V7EQPFPD.js"; 62 + import "../../chunk-G56PUJUJ.js"; 63 + import "../../chunk-6DKPDMFE.js"; 64 + import "../../chunk-TP5GZFTO.js"; 65 + import "../../chunk-ZQZJJU3T.js"; 66 + import "../../chunk-WN6GL63Q.js"; 67 + import "../../chunk-CRZ7HJJ4.js"; 68 + import "../../chunk-242LG3VP.js"; 69 + import "../../chunk-BKRD2ZIW.js"; 70 + import { 71 + effect, 72 + untracked 73 + } from "../../chunk-HNJPKCUJ.js"; 74 + import "../../chunk-SGR5ST3A.js"; 75 + import { 76 + __name, 77 + init_Buffer, 78 + init_process 79 + } from "../../chunk-FZQXS3RE.js"; 80 + 81 + // themes/webamp/index.js 82 + init_Buffer(); 83 + init_process(); 84 + var input = component(element_exports2); 85 + var queue = component(element_exports); 86 + var search = component(element_exports3); 87 + var scopedTracks = component(element_exports4); 88 + var output = document.querySelector("#output"); 89 + if (!output) throw new Error("Missing output element"); 90 + globalThis.queue = queue; 91 + globalThis.output = output; 92 + var index = {}; 93 + var initiatedPlaylist = false; 94 + var ampElement = document.querySelector("dtw-webamp"); 95 + if (ampElement instanceof element_default === false) { 96 + throw new Error("Missing webamp element"); 97 + } 98 + var amp = ampElement.amp; 99 + var loadFromUrl = amp.media.loadFromUrl.bind(amp.media); 100 + async function loadOverride(uri, autoPlay) { 101 + if (uri.startsWith("blob:")) { 102 + return await loadFromUrl(uri, autoPlay); 103 + } 104 + const resp = await input.resolve({ method: "GET", uri }); 105 + if (!resp) throw new Error("Failed to resolve URI"); 106 + if (resp && "stream" in resp) { 107 + throw new Error("Webamp does not support playing streams."); 108 + } 109 + return await loadFromUrl(resp.url, autoPlay); 110 + } 111 + __name(loadOverride, "loadOverride"); 112 + amp.media.loadFromUrl = loadOverride.bind(amp.media); 113 + effect(() => { 114 + const past = untracked(() => queue.past()); 115 + const now = untracked(() => queue.now()); 116 + const future = queue.future(); 117 + const list = [...past, ...now ? [now] : [], ...future]; 118 + const newIdx = {}; 119 + list.forEach((item) => { 120 + newIdx[item.id] = (newIdx[item.id] ?? 0) + 1; 121 + }); 122 + const tracksToAdd = []; 123 + Object.entries(newIdx).forEach(([id, n]) => { 124 + const x = index[id] ?? 0; 125 + if (n > x) { 126 + const track = output.tracks.collection().find((t) => t.id === id); 127 + if (track) tracksToAdd.push(track); 128 + index[id] = x + 1; 129 + } 130 + }); 131 + tracksToAdd.forEach((t) => ampElement.addTrack(t)); 132 + if (!initiatedPlaylist && tracksToAdd.length) { 133 + initiatedPlaylist = true; 134 + amp.store.dispatch({ type: "BUFFER_TRACK", id: 0 }); 135 + } 136 + }); 137 + effect(() => { 138 + const tracks = scopedTracks.tracks(); 139 + queue.supply({ trackIds: tracks.map((t) => t.id) }); 140 + }); 141 + var tracksPromise = Promise.withResolvers(); 142 + effect(() => { 143 + const state = output.tracks.state(); 144 + if (state !== "loaded") return; 145 + const fingerprintSearch = search.supplyFingerprint(); 146 + if (fingerprintSearch === void 0) return; 147 + const fingerprintQueue = queue.supplyFingerprint(); 148 + if (fingerprintQueue === void 0) return; 149 + tracksPromise.resolve("loaded"); 150 + }); 151 + document.body.querySelectorAll(".desktop__item").forEach((element) => { 152 + if (element instanceof HTMLElement) { 153 + element.addEventListener("dblclick", () => { 154 + const f = element.querySelector("label")?.getAttribute("for"); 155 + if (f) return windowManager()?.toggleWindow(f); 156 + }); 157 + } 158 + }); 159 + document.body.querySelector("#desktop-batch")?.addEventListener( 160 + "dblclick", 161 + () => { 162 + tracksPromise.promise.then(() => { 163 + addBatch(); 164 + }); 165 + } 166 + ); 167 + var winampIsShown = true; 168 + document.body.querySelector("#desktop-winamp")?.addEventListener( 169 + "dblclick", 170 + () => { 171 + if (winampIsShown) { 172 + amp.close(); 173 + } else { 174 + amp.reopen(); 175 + winampIsShown = true; 176 + } 177 + } 178 + ); 179 + amp.onClose(() => winampIsShown = false); 180 + async function addBatch() { 181 + await queue.fill({ augment: true, amount: 50, shuffled: true }); 182 + } 183 + __name(addBatch, "addBatch"); 184 + function windowManager() { 185 + const w = document.body.querySelector("dtw-window-manager"); 186 + if (w instanceof element_default2) return w; 187 + return null; 188 + } 189 + __name(windowManager, "windowManager"); 190 + 191 + //# sourceMappingURL=./index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/index.js.map
··· 1 + ../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/index.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/webamp/element.js
··· 1 + ../../../../bafybeibuoq45hezn7mr3y6f4xuwibelfe5wregg2fwu7laxs4uxot4alrq/themes/webamp/webamp/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/webamp/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/webamp/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window-manager/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/window-manager/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window-manager/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window-manager/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window/element.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/themes/webamp/window/element.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/themes/webamp/window/element.js.map
··· 1 + ../../../../bafybeib3wlfzxqunhpofk5mpfpyoqpd42bsj43o3vzxnpjbahimyjjyq54/themes/webamp/window/element.js.map
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/vendor/@atcute/tid/index.js
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/vendor/@atcute/tid/index.js
+1
artifacts/bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray/vendor/@atcute/tid/index.js.map
··· 1 + ../../../../bafybeiccyxrk34dahmyu7ub2ex2bdlcnofekso7iosiroyrhjakww64cae/vendor/@atcute/tid/index.js.map
+2 -2
artifacts/versions.json
··· 5 5 "version": "3.5.0" 6 6 }, 7 7 "4.0.0-alpha": { 8 - "cid": "bafybeidei3ezzvkd2q7yaojc2wlog532cduo5sy2cmeb565bvmb6sfo4bu", 9 - "createdAt": "2026-03-01T10:15:55.972Z", 8 + "cid": "bafybeibq4aqaavbn3syjebgs5wopycz56xxk2lchx5cpxxrr244i2n2ray", 9 + "createdAt": "2026-03-01T13:51:12.415Z", 10 10 "version": "4.0.0-alpha" 11 11 } 12 12 }