Ron Au commited on
Commit
ca5bd83
1 Parent(s): b450589

feat(ui): Add frontend

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. app.py +1 -1
  2. source/ui/src/app.html +15 -9
  3. source/ui/src/config/styles.json +9 -0
  4. source/ui/src/lib/ComposeButton.svelte +29 -0
  5. source/ui/src/lib/DensityOptions.svelte +29 -0
  6. source/ui/src/lib/NoteTokens.svelte +31 -0
  7. source/ui/src/lib/NoteVisualisation.svelte +21 -0
  8. source/ui/src/lib/Playback.svelte +18 -0
  9. source/ui/src/lib/Radio.svelte +63 -0
  10. source/ui/src/lib/StyleOptions.svelte +93 -0
  11. source/ui/src/lib/StyleOptionsButton.svelte +14 -0
  12. source/ui/src/lib/TemperatureOptions.svelte +28 -0
  13. source/ui/src/lib/stores.ts +6 -0
  14. source/ui/src/routes/index.svelte +62 -2
  15. source/ui/static/chamber.svg +1 -0
  16. source/ui/static/church.svg +1 -0
  17. source/ui/static/compose.png +0 -0
  18. source/ui/static/country.svg +1 -0
  19. source/ui/static/download.wav +0 -0
  20. source/ui/static/piano.svg +1 -0
  21. source/ui/static/rock_and_metal.svg +1 -0
  22. source/ui/static/script.js +67 -0
  23. source/ui/static/style.css +21 -0
  24. source/ui/static/synth.svg +1 -0
  25. source/ui/static/timpani_strings_harp.svg +1 -0
  26. source/ui/svelte.config.js +1 -0
  27. static/_app/assets/pages/index.svelte-de534b64.css +1 -0
  28. static/_app/chunks/index-a16eaf24.js +1 -0
  29. static/_app/chunks/index-bc271058.js +1 -0
  30. templates/_app/error.svelte-5990926f.js → static/_app/error.svelte-b9cb04fa.js +1 -1
  31. static/_app/layout.svelte-b226a993.js +1 -0
  32. {templates → static}/_app/manifest.json +21 -10
  33. static/_app/pages/index.svelte-8e87fac9.js +27 -0
  34. static/_app/start-c175317f.js +1 -0
  35. static/_app/version.json +1 -0
  36. static/chamber.svg +1 -0
  37. static/church.svg +1 -0
  38. static/compose.png +0 -0
  39. static/country.svg +1 -0
  40. static/download.wav +0 -0
  41. {templates → static}/favicon.png +0 -0
  42. static/piano.svg +1 -0
  43. static/rock_and_metal.svg +1 -0
  44. static/style.css +21 -0
  45. static/synth.svg +1 -0
  46. static/timpani_strings_harp.svg +1 -0
  47. templates/_app/chunks/index-60624bc8.js +0 -1
  48. templates/_app/layout.svelte-e3a1ab0e.js +0 -1
  49. templates/_app/pages/index.svelte-47304b27.js +0 -1
  50. templates/_app/start-b41bef43.js +0 -1
app.py CHANGED
@@ -40,7 +40,7 @@ logger.info("Done.")
40
 
41
  # Create the app.
42
  logger.info("Creating app...")
43
- app = Flask(__name__)
44
  logger.info("Done.")
45
 
46
  # Route for the loading page.
 
40
 
41
  # Create the app.
42
  logger.info("Creating app...")
43
+ app = Flask(__name__, static_url_path="")
44
  logger.info("Done.")
45
 
46
  # Route for the loading page.
source/ui/src/app.html CHANGED
@@ -1,12 +1,18 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <link rel="icon" href="%svelte.assets%/favicon.png" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- %svelte.head%
8
- </head>
9
- <body>
10
- <div>%svelte.body%</div>
11
- </body>
 
 
 
 
 
 
12
  </html>
 
1
  <!DOCTYPE html>
2
  <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="description" content="" />
6
+ <link rel="icon" href="%svelte.assets%/favicon.png" />
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
+ <link href="https://fonts.googleapis.com/css2?family=Italiana&family=Lato&display=swap" rel="stylesheet" />
10
+ <link rel="stylesheet" href="%svelte.assets%/style.css" />
11
+ <link href="https://fonts.googleapis.com/css2?family=Italiana&family=Lato&display=swap" rel="stylesheet" />
12
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
13
+ %svelte.head%
14
+ </head>
15
+ <body>
16
+ <div>%svelte.body%</div>
17
+ </body>
18
  </html>
source/ui/src/config/styles.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "piano": "Piano",
3
+ "chamber": "Chamber Music",
4
+ "rock_and_metal": "Rock and Metal",
5
+ "synth": "Synthesizer",
6
+ "church": "Church",
7
+ "timpani_strings_harp": "Timpani, Contrabass, Harp",
8
+ "country": "Country"
9
+ }
source/ui/src/lib/ComposeButton.svelte ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { loading } from '$lib/stores';
3
+
4
+ $: text = $loading ? 'Composing...' : 'Compose ✨';
5
+ </script>
6
+
7
+ <button disabled={$loading}>{text}</button>
8
+
9
+ <style>
10
+ button {
11
+ display: block;
12
+ font-size: 1.2rem;
13
+ font-family: 'Lato', sans-serif;
14
+ font-weight: 700;
15
+ color: hsl(0 0% 97%);
16
+ background: transparent;
17
+ border: 3px solid hsl(0 0% 97%);
18
+ border-radius: 0.375rem;
19
+ padding: 0.5rem 1rem;
20
+ cursor: pointer;
21
+ margin: 1rem auto 2rem;
22
+ }
23
+
24
+ button[disabled] {
25
+ border-color: hsl(0 0% 50%);
26
+ color: hsl(0 0% 50%);
27
+ cursor: initial;
28
+ }
29
+ </style>
source/ui/src/lib/DensityOptions.svelte ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import Radio from './Radio.svelte';
3
+ const options = ['Low', 'Medium', 'High'];
4
+ const type: string = 'density';
5
+ </script>
6
+
7
+ <div>
8
+ <fieldset>
9
+ <legend>Note density</legend>
10
+ <Radio {options} {type} />
11
+ </fieldset>
12
+ </div>
13
+
14
+ <style>
15
+ fieldset {
16
+ padding: 0;
17
+ border: none;
18
+ margin-top: 1rem;
19
+ }
20
+
21
+ legend {
22
+ text-align: center;
23
+ font-size: 1.25rem;
24
+ font-weight: 700;
25
+ padding: 0;
26
+ margin-bottom: 1rem;
27
+
28
+ }
29
+ </style>
source/ui/src/lib/NoteTokens.svelte ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <section>
2
+ <h2>Tokenized notes</h2>
3
+ <p>
4
+ PIECE_START TRACK_START INST=DRUMS DENSITY=6 BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42
5
+ TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38
6
+ NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35
7
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1
8
+ NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
9
+ NOTE_OFF=35 NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1
10
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42
11
+ TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42
12
+ TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38
13
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35
14
+ NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42
15
+ TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1
16
+ NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
17
+ NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42
18
+ </p>
19
+ </section>
20
+
21
+ <style>
22
+ /* h2 {
23
+ font-family: 'Italiana', serif;
24
+ } */
25
+ section {
26
+ border: 2px solid hsl(0 0% 80%);
27
+ border-radius: 0.375rem;
28
+ /* background: hsl(0 0% 20% / 50%); */
29
+ padding: 1rem;
30
+ }
31
+ </style>
source/ui/src/lib/NoteVisualisation.svelte ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <section>
2
+ <h2>Visualised notes</h2>
3
+ <img src="compose.png" alt="MIDI notes of composition" />
4
+ </section>
5
+
6
+ <style>
7
+ section {
8
+ border: 2px solid hsl(0 0% 80%);
9
+ border-radius: 0.375rem;
10
+ /* background: hsl(0 0% 20% / 50%); */
11
+ padding: 1rem;
12
+ }
13
+ /* h2 {
14
+ font-family: 'Italiana', serif;
15
+ } */
16
+ img {
17
+ display: block;
18
+ margin: auto;
19
+ max-width: 100%;
20
+ }
21
+ </style>
source/ui/src/lib/Playback.svelte ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { playing } from '$lib/stores';
3
+ </script>
4
+
5
+ <audio controls src="download.wav" />
6
+
7
+ <style>
8
+ audio {
9
+ width: 100%;
10
+ margin: 1rem auto;
11
+ }
12
+
13
+ @media (min-width: 600px) {
14
+ audio {
15
+ max-width: 40rem;
16
+ }
17
+ }
18
+ </style>
source/ui/src/lib/Radio.svelte ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let options: string[];
3
+ export let type: string;
4
+ let selection: string = options[1];
5
+ </script>
6
+
7
+ <div class="options">
8
+ {#each options as option, i}
9
+ <label data-selected={option === selection}>
10
+ {option}
11
+ <input type="radio" bind:group={selection} value={option} />
12
+ </label>
13
+ {/each}
14
+ <input type="radio" checked />
15
+ </div>
16
+
17
+ <style>
18
+ .options {
19
+ display: flex;
20
+ flex-direction: row;
21
+ justify-content: center;
22
+ width: 100%;
23
+ margin: auto;
24
+ }
25
+
26
+ label {
27
+ display: block;
28
+ margin-bottom: 1rem;
29
+ padding: 0.5rem 0.5rem;
30
+ border: 2px solid hsl(0 0% 97%);
31
+ border-right: none;
32
+ text-align: center;
33
+ transition: background-color 0.25s;
34
+ cursor: pointer;
35
+ }
36
+
37
+ label:nth-of-type(1) {
38
+ border-top-left-radius: 0.375rem;
39
+ border-bottom-left-radius: 0.375rem;
40
+ border-right-width: 0;
41
+ }
42
+ label:last-of-type {
43
+ border-top-right-radius: 0.375rem;
44
+ border-bottom-right-radius: 0.375rem;
45
+ border-right: 2px solid hsl(0 0% 97%);
46
+ }
47
+
48
+ label[data-selected='true'] {
49
+ background-color: hsl(0 0% 100%);
50
+ color: hsl(0 0% 20%);
51
+ font-weight: 700;
52
+ }
53
+
54
+ label:focus {
55
+ outline: red;
56
+ }
57
+
58
+ input {
59
+ position: fixed;
60
+ opacity: 0;
61
+ pointer-events: none;
62
+ }
63
+ </style>
source/ui/src/lib/StyleOptions.svelte ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import stylesConfig from '../config/styles.json';
3
+ import StyleOptionsButton from './StyleOptionsButton.svelte';
4
+
5
+ const keys: string[] = Object.keys(stylesConfig);
6
+
7
+ let selection: string = 'synth';
8
+ </script>
9
+
10
+ <fieldset>
11
+ <legend>{stylesConfig[selection] || 'Synthesizer'}</legend>
12
+ <div class="grid">
13
+ {#each keys as key, i}
14
+ <label data-selected={selection === key}>
15
+ <div>
16
+ <img src={`${key}.svg`} alt={stylesConfig[key]} />
17
+ </div>
18
+ <input type="radio" bind:group={selection} value={key} />
19
+ </label>
20
+ {/each}
21
+ </div>
22
+ </fieldset>
23
+
24
+ <style>
25
+ fieldset {
26
+ position: relative;
27
+ padding: 0;
28
+ border: none;
29
+ margin-top: 1rem;
30
+ }
31
+
32
+ legend {
33
+ text-align: center;
34
+ font-size: 1.25rem;
35
+ font-weight: 700;
36
+ padding: 0;
37
+ }
38
+
39
+ .grid {
40
+ display: grid;
41
+ grid-template-columns: repeat(4, 1fr);
42
+ gap: 1rem;
43
+ width: min-content;
44
+ margin: 1rem auto;
45
+ }
46
+
47
+ img {
48
+ width: 100%;
49
+ height: 100%;
50
+ filter: invert(1);
51
+ margin: auto;
52
+ }
53
+
54
+ label {
55
+ background-color: transparent;
56
+ border-radius: 0.375rem;
57
+ transition: background-color 0.25s;
58
+ cursor: pointer;
59
+ }
60
+
61
+ label > div {
62
+ width: 3rem;
63
+ aspect-ratio: 1 / 1;
64
+ }
65
+
66
+ input {
67
+ position: fixed;
68
+ opacity: 0;
69
+ pointer-events: none;
70
+ }
71
+
72
+ label[data-selected='true'] {
73
+ background-color: hsl(0 0% 97%);
74
+ border-radius: 0.375rem;
75
+ }
76
+
77
+ label[data-selected='true'] img {
78
+ filter: none;
79
+ }
80
+
81
+ @media (min-width: 600px) and (max-width: 899px) {
82
+ .grid {
83
+ display: flex;
84
+ flex-direction: row;
85
+ }
86
+ }
87
+
88
+ @media (min-width: 900px) {
89
+ .grid {
90
+ grid-template-columns: repeat(4, 1fr);
91
+ }
92
+ }
93
+ </style>
source/ui/src/lib/StyleOptionsButton.svelte ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let key: string;
3
+ export let style: string;
4
+ </script>
5
+
6
+ <button value={key} name={style}>🥁</button>
7
+
8
+ <style>
9
+ button {
10
+ width: 3.2rem;
11
+ aspect-ratio: 1 / 1;
12
+ cursor: pointer;
13
+ }
14
+ </style>
source/ui/src/lib/TemperatureOptions.svelte ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import Radio from './Radio.svelte';
3
+ const options: string[] = ['Low', 'Medium', 'High', 'Very High'];
4
+ const type: string = 'temperature';
5
+ </script>
6
+
7
+ <div>
8
+ <fieldset>
9
+ <legend>Temperature</legend>
10
+ <Radio {options} {type} />
11
+ </fieldset>
12
+ </div>
13
+
14
+ <style>
15
+ fieldset {
16
+ padding: 0;
17
+ border: none;
18
+ margin-top: 1rem;
19
+ }
20
+
21
+ legend {
22
+ text-align: center;
23
+ font-size: 1.25rem;
24
+ font-weight: 700;
25
+ padding: 0;
26
+ margin-bottom: 1rem;
27
+ }
28
+ </style>
source/ui/src/lib/stores.ts ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ import { writable } from 'svelte/store';
2
+
3
+ import type { Writable } from 'svelte/store';
4
+
5
+ export const loading: Writable<boolean> = writable(false);
6
+ export const playing: Writable<boolean> = writable(true);
source/ui/src/routes/index.svelte CHANGED
@@ -1,2 +1,62 @@
1
- <h1>Welcome to SvelteKit</h1>
2
- <p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import StyleOptions from '$lib/StyleOptions.svelte';
3
+ import DensityOptions from '$lib/DensityOptions.svelte';
4
+ import TemperatureOptions from '$lib/TemperatureOptions.svelte';
5
+ import ComposeButton from '$lib/ComposeButton.svelte';
6
+ import Playback from '$lib/Playback.svelte';
7
+ import NoteVisualisation from '$lib/NoteVisualisation.svelte';
8
+ import NoteTokens from '$lib/NoteTokens.svelte';
9
+ </script>
10
+
11
+ <main>
12
+ <h1>Composer</h1>
13
+ <p>A hundred thousand songs used to train. One AI model. Infinite compositions.</p>
14
+ <section id="options">
15
+ <StyleOptions />
16
+ <DensityOptions />
17
+ <TemperatureOptions />
18
+ </section>
19
+ <ComposeButton />
20
+ <Playback />
21
+ <NoteVisualisation />
22
+ <NoteTokens />
23
+ </main>
24
+
25
+ <style>
26
+ main {
27
+ width: 100%;
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 1rem;
31
+ margin: 0 auto;
32
+ }
33
+
34
+ h1 {
35
+ font-size: 1.5rem;
36
+ border-left: 0.25ch solid hsl(0 0% 97%);
37
+ padding-left: 0.5ch;
38
+ }
39
+
40
+ p {
41
+ font-size: 2.25rem;
42
+ }
43
+
44
+ #options {
45
+ display: flex;
46
+ flex-direction: column;
47
+ justify-content: space-between;
48
+ }
49
+
50
+ @media (min-width: 600px) {
51
+ main {
52
+ max-width: 60rem;
53
+ }
54
+ }
55
+ @media (min-width: 900px) {
56
+ #options {
57
+ display: flex;
58
+ flex-direction: row;
59
+ justify-content: space-between;
60
+ }
61
+ }
62
+ </style>
source/ui/static/chamber.svg ADDED
source/ui/static/church.svg ADDED
source/ui/static/compose.png ADDED
source/ui/static/country.svg ADDED
source/ui/static/download.wav ADDED
Binary file (794 kB). View file
 
source/ui/static/piano.svg ADDED
source/ui/static/rock_and_metal.svg ADDED
source/ui/static/script.js ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ function compose() {
2
+
3
+ // Get the value of the select with id selected_midi_program.
4
+ var selected_music_style = document.getElementById("selected_music_style").value;
5
+ var selected_density = document.getElementById("selected_density").value;
6
+ var selected_temperature = document.getElementById("selected_temperature").value;
7
+
8
+ var xhr = new XMLHttpRequest();
9
+ xhr.open("POST", "compose", true);
10
+ xhr.setRequestHeader("Content-Type", "application/json");
11
+ xhr.send(JSON.stringify({
12
+ music_style: selected_music_style,
13
+ density: selected_density,
14
+ temperature: selected_temperature
15
+ }));
16
+
17
+ xhr.onreadystatechange = function() {
18
+ if (xhr.readyState == 4 && xhr.status == 200) {
19
+ var response = JSON.parse(xhr.responseText);
20
+ console.log(response);
21
+
22
+ if (response.status == "OK") {
23
+
24
+ // Replace the inner html of the div with id token_sequence with the token sequence.
25
+ document.getElementById("token_sequence").innerHTML = response.tokens;
26
+
27
+ // Replace the source of the audio element with id audio..
28
+ var audio = document.getElementById("audio_id");
29
+ audio.src = response.audio;
30
+
31
+ // Replace the source of the image element with id image.
32
+ var image = document.getElementById("image_id");
33
+ image.src = response.image;
34
+
35
+ }
36
+ else {
37
+ alert("Error: " + response.error);
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+
44
+ function post_command(command_name, command_parameters, reload) {
45
+ var xhr = new XMLHttpRequest();
46
+ xhr.open("POST", "/command", true);
47
+ xhr.setRequestHeader("Content-Type", "application/json");
48
+ xhr.send(JSON.stringify({command_name: command_name, command_parameters: command_parameters}));
49
+
50
+ xhr.onreadystatechange = function() {
51
+ if (xhr.readyState == 4 && xhr.status == 200) {
52
+ var response = JSON.parse(xhr.responseText);
53
+ if (response.status == "OK") {
54
+
55
+ // Reload the page if requested.
56
+ if (reload) {
57
+ console.log("Reloading.");
58
+ load_cells();
59
+ }
60
+
61
+ }
62
+ else {
63
+ alert("Error: " + response.error);
64
+ }
65
+ }
66
+ }
67
+ }
source/ui/static/style.css ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ /* width: 100%; */
3
+ padding: 2rem;
4
+ font-family: 'Lato', sans-serif;
5
+ background-color: hsl(0 0% 1%);
6
+ }
7
+
8
+
9
+ h1 {
10
+ font-family: 'Italiana', serif;
11
+ letter-spacing: 0.05ch;
12
+ }
13
+
14
+
15
+ body, h1 {
16
+ color: hsl(0 0% 97%);
17
+ }
18
+
19
+ /* #options h3 {
20
+ font-weight: 700;
21
+ } */
source/ui/static/synth.svg ADDED
source/ui/static/timpani_strings_harp.svg ADDED
source/ui/svelte.config.js CHANGED
@@ -8,6 +8,7 @@ const config = {
8
  kit: {
9
  adapter: adapter({
10
  pages: '../../templates',
 
11
  }),
12
  prerender: {
13
  default: true,
 
8
  kit: {
9
  adapter: adapter({
10
  pages: '../../templates',
11
+ assets: '../../static',
12
  }),
13
  prerender: {
14
  default: true,
static/_app/assets/pages/index.svelte-de534b64.css ADDED
@@ -0,0 +1 @@
 
 
1
+ button.svelte-tf23mt{width:3.2rem;aspect-ratio:1 / 1;cursor:pointer}fieldset.svelte-1r9pswz.svelte-1r9pswz{position:relative;padding:0;border:none;margin-top:1rem}legend.svelte-1r9pswz.svelte-1r9pswz{text-align:center;font-size:1.25rem;font-weight:700;padding:0}.grid.svelte-1r9pswz.svelte-1r9pswz{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:min-content;margin:1rem auto}img.svelte-1r9pswz.svelte-1r9pswz{width:100%;height:100%;filter:invert(1);margin:auto}label.svelte-1r9pswz.svelte-1r9pswz{background-color:transparent;border-radius:.375rem;transition:background-color .25s;cursor:pointer}label.svelte-1r9pswz>div.svelte-1r9pswz{width:3rem;aspect-ratio:1 / 1}input.svelte-1r9pswz.svelte-1r9pswz{position:fixed;opacity:0;pointer-events:none}label[data-selected=true].svelte-1r9pswz.svelte-1r9pswz{background-color:#f7f7f7;border-radius:.375rem}label[data-selected=true].svelte-1r9pswz img.svelte-1r9pswz{filter:none}@media (min-width: 600px) and (max-width: 899px){.grid.svelte-1r9pswz.svelte-1r9pswz{display:flex;flex-direction:row}}@media (min-width: 900px){.grid.svelte-1r9pswz.svelte-1r9pswz{grid-template-columns:repeat(4,1fr)}}.options.svelte-1m848u0{display:flex;flex-direction:row;justify-content:center;width:100%;margin:auto}label.svelte-1m848u0{display:block;margin-bottom:1rem;padding:.5rem;border:2px solid hsl(0 0% 97%);border-right:none;text-align:center;transition:background-color .25s;cursor:pointer}label.svelte-1m848u0:nth-of-type(1){border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;border-right-width:0}label.svelte-1m848u0:last-of-type{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-right:2px solid hsl(0 0% 97%)}label[data-selected=true].svelte-1m848u0{background-color:#fff;color:#333;font-weight:700}label.svelte-1m848u0:focus{outline:red}input.svelte-1m848u0{position:fixed;opacity:0;pointer-events:none}fieldset.svelte-1cq0vc2{padding:0;border:none;margin-top:1rem}legend.svelte-1cq0vc2{text-align:center;font-size:1.25rem;font-weight:700;padding:0;margin-bottom:1rem}fieldset.svelte-nlqy14{padding:0;border:none;margin-top:1rem}legend.svelte-nlqy14{text-align:center;font-size:1.25rem;font-weight:700;padding:0;margin-bottom:1rem}button.svelte-aq73nm{display:block;font-size:1.2rem;font-family:Lato,sans-serif;font-weight:700;color:#f7f7f7;background:transparent;border:3px solid hsl(0 0% 97%);border-radius:.375rem;padding:.5rem 1rem;cursor:pointer;margin:1rem auto 2rem}button[disabled].svelte-aq73nm{border-color:gray;color:gray;cursor:initial}audio.svelte-1e9isw9{width:100%;margin:1rem auto}@media (min-width: 600px){audio.svelte-1e9isw9{max-width:40rem}}section.svelte-1tzlz20{border:2px solid hsl(0 0% 80%);border-radius:.375rem;padding:1rem}img.svelte-1tzlz20{display:block;margin:auto;max-width:100%}section.svelte-1sitrxx{border:2px solid hsl(0 0% 80%);border-radius:.375rem;padding:1rem}main.svelte-1m4hhxp{width:100%;display:flex;flex-direction:column;gap:1rem;margin:0 auto}h1.svelte-1m4hhxp{font-size:1.5rem;border-left:.25ch solid hsl(0 0% 97%);padding-left:.5ch}p.svelte-1m4hhxp{font-size:2.25rem}#options.svelte-1m4hhxp{display:flex;flex-direction:column;justify-content:space-between}@media (min-width: 600px){main.svelte-1m4hhxp{max-width:60rem}}@media (min-width: 900px){#options.svelte-1m4hhxp{display:flex;flex-direction:row;justify-content:space-between}}
static/_app/chunks/index-a16eaf24.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{E as f,s as l}from"./index-bc271058.js";const e=[];function h(n,u=f){let o;const i=new Set;function r(t){if(l(n,t)&&(n=t,o)){const c=!e.length;for(const s of i)s[1](),e.push(s,n);if(c){for(let s=0;s<e.length;s+=2)e[s][0](e[s+1]);e.length=0}}}function b(t){r(t(n))}function p(t,c=f){const s=[t,c];return i.add(s),i.size===1&&(o=u(r)||f),t(n),()=>{i.delete(s),i.size===0&&(o(),o=null)}}return{set:r,update:b,subscribe:p}}export{h as w};
static/_app/chunks/index-bc271058.js ADDED
@@ -0,0 +1 @@
 
 
1
+ function v(){}function F(t,n){for(const e in n)t[e]=n[e];return t}function L(t){return t()}function M(){return Object.create(null)}function p(t){t.forEach(L)}function H(t){return typeof t=="function"}function lt(t,n){return t!=t?n==n:t!==n||t&&typeof t=="object"||typeof t=="function"}let g;function ot(t,n){return g||(g=document.createElement("a")),g.href=n,t===g.href}function I(t){return Object.keys(t).length===0}function G(t,...n){if(t==null)return v;const e=t.subscribe(...n);return e.unsubscribe?()=>e.unsubscribe():e}function ut(t,n,e){t.$$.on_destroy.push(G(n,e))}function st(t,n,e,i){if(t){const c=T(t,n,e,i);return t[0](c)}}function T(t,n,e,i){return t[1]&&i?F(e.ctx.slice(),t[1](i(n))):e.ctx}function ft(t,n,e,i){if(t[2]&&i){const c=t[2](i(e));if(n.dirty===void 0)return c;if(typeof c=="object"){const s=[],l=Math.max(n.dirty.length,c.length);for(let o=0;o<l;o+=1)s[o]=n.dirty[o]|c[o];return s}return n.dirty|c}return n.dirty}function at(t,n,e,i,c,s){if(c){const l=T(n,e,i,s);t.p(l,c)}}function _t(t){if(t.ctx.length>32){const n=[],e=t.ctx.length/32;for(let i=0;i<e;i++)n[i]=-1;return n}return-1}let w=!1;function J(){w=!0}function K(){w=!1}function W(t,n,e,i){for(;t<n;){const c=t+(n-t>>1);e(c)<=i?t=c+1:n=c}return t}function Q(t){if(t.hydrate_init)return;t.hydrate_init=!0;let n=t.childNodes;if(t.nodeName==="HEAD"){const r=[];for(let u=0;u<n.length;u++){const a=n[u];a.claim_order!==void 0&&r.push(a)}n=r}const e=new Int32Array(n.length+1),i=new Int32Array(n.length);e[0]=-1;let c=0;for(let r=0;r<n.length;r++){const u=n[r].claim_order,a=(c>0&&n[e[c]].claim_order<=u?c+1:W(1,c,y=>n[e[y]].claim_order,u))-1;i[r]=e[a]+1;const f=a+1;e[f]=r,c=Math.max(f,c)}const s=[],l=[];let o=n.length-1;for(let r=e[c]+1;r!=0;r=i[r-1]){for(s.push(n[r-1]);o>=r;o--)l.push(n[o]);o--}for(;o>=0;o--)l.push(n[o]);s.reverse(),l.sort((r,u)=>r.claim_order-u.claim_order);for(let r=0,u=0;r<l.length;r++){for(;u<s.length&&l[r].claim_order>=s[u].claim_order;)u++;const a=u<s.length?s[u]:null;t.insertBefore(l[r],a)}}function R(t,n){if(w){for(Q(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentElement!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;n!==t.actual_end_child?(n.claim_order!==void 0||n.parentNode!==t)&&t.insertBefore(n,t.actual_end_child):t.actual_end_child=n.nextSibling}else(n.parentNode!==t||n.nextSibling!==null)&&t.appendChild(n)}function dt(t,n,e){w&&!e?R(t,n):(n.parentNode!==t||n.nextSibling!=e)&&t.insertBefore(n,e||null)}function U(t){t.parentNode.removeChild(t)}function ht(t,n){for(let e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function V(t){return document.createElement(t)}function N(t){return document.createTextNode(t)}function mt(){return N(" ")}function pt(){return N("")}function yt(t,n,e,i){return t.addEventListener(n,e,i),()=>t.removeEventListener(n,e,i)}function gt(t,n,e){e==null?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function X(t){return Array.from(t.childNodes)}function Y(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function O(t,n,e,i,c=!1){Y(t);const s=(()=>{for(let l=t.claim_info.last_index;l<t.length;l++){const o=t[l];if(n(o)){const r=e(o);return r===void 0?t.splice(l,1):t[l]=r,c||(t.claim_info.last_index=l),o}}for(let l=t.claim_info.last_index-1;l>=0;l--){const o=t[l];if(n(o)){const r=e(o);return r===void 0?t.splice(l,1):t[l]=r,c?r===void 0&&t.claim_info.last_index--:t.claim_info.last_index=l,o}}return i()})();return s.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,s}function Z(t,n,e,i){return O(t,c=>c.nodeName===n,c=>{const s=[];for(let l=0;l<c.attributes.length;l++){const o=c.attributes[l];e[o.name]||s.push(o.name)}s.forEach(l=>c.removeAttribute(l))},()=>i(n))}function xt(t,n,e){return Z(t,n,e,V)}function tt(t,n){return O(t,e=>e.nodeType===3,e=>{const i=""+n;if(e.data.startsWith(i)){if(e.data.length!==i.length)return e.splitText(i.length)}else e.data=i},()=>N(n),!0)}function bt(t){return tt(t," ")}function $t(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function wt(t,n,e,i){e===null?t.style.removeProperty(n):t.style.setProperty(n,e,i?"important":"")}let m;function h(t){m=t}function A(){if(!m)throw new Error("Function called outside component initialization");return m}function Et(t){A().$$.on_mount.push(t)}function kt(t){A().$$.after_update.push(t)}function jt(t,n){A().$$.context.set(t,n)}const d=[],q=[],b=[],B=[],P=Promise.resolve();let k=!1;function z(){k||(k=!0,P.then(D))}function vt(){return z(),P}function j(t){b.push(t)}const E=new Set;let x=0;function D(){const t=m;do{for(;x<d.length;){const n=d[x];x++,h(n),nt(n.$$)}for(h(null),d.length=0,x=0;q.length;)q.pop()();for(let n=0;n<b.length;n+=1){const e=b[n];E.has(e)||(E.add(e),e())}b.length=0}while(d.length);for(;B.length;)B.pop()();k=!1,E.clear(),h(t)}function nt(t){if(t.fragment!==null){t.update(),p(t.before_update);const n=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,n),t.after_update.forEach(j)}}const $=new Set;let _;function Nt(){_={r:0,c:[],p:_}}function At(){_.r||p(_.c),_=_.p}function et(t,n){t&&t.i&&($.delete(t),t.i(n))}function St(t,n,e,i){if(t&&t.o){if($.has(t))return;$.add(t),_.c.push(()=>{$.delete(t),i&&(e&&t.d(1),i())}),t.o(n)}}function Ct(t,n){const e={},i={},c={$$scope:1};let s=t.length;for(;s--;){const l=t[s],o=n[s];if(o){for(const r in l)r in o||(i[r]=1);for(const r in o)c[r]||(e[r]=o[r],c[r]=1);t[s]=o}else for(const r in l)c[r]=1}for(const l in i)l in e||(e[l]=void 0);return e}function Mt(t){return typeof t=="object"&&t!==null?t:{}}function qt(t){t&&t.c()}function Bt(t,n){t&&t.l(n)}function it(t,n,e,i){const{fragment:c,on_mount:s,on_destroy:l,after_update:o}=t.$$;c&&c.m(n,e),i||j(()=>{const r=s.map(L).filter(H);l?l.push(...r):p(r),t.$$.on_mount=[]}),o.forEach(j)}function rt(t,n){const e=t.$$;e.fragment!==null&&(p(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function ct(t,n){t.$$.dirty[0]===-1&&(d.push(t),z(),t.$$.dirty.fill(0)),t.$$.dirty[n/31|0]|=1<<n%31}function Lt(t,n,e,i,c,s,l,o=[-1]){const r=m;h(t);const u=t.$$={fragment:null,ctx:null,props:s,update:v,not_equal:c,bound:M(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(n.context||(r?r.$$.context:[])),callbacks:M(),dirty:o,skip_bound:!1,root:n.target||r.$$.root};l&&l(u.root);let a=!1;if(u.ctx=e?e(t,n.props||{},(f,y,...S)=>{const C=S.length?S[0]:y;return u.ctx&&c(u.ctx[f],u.ctx[f]=C)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](C),a&&ct(t,f)),y}):[],u.update(),a=!0,p(u.before_update),u.fragment=i?i(u.ctx):!1,n.target){if(n.hydrate){J();const f=X(n.target);u.fragment&&u.fragment.l(f),f.forEach(U)}else u.fragment&&u.fragment.c();n.intro&&et(t.$$.fragment),it(t,n.target,n.anchor,n.customElement),K(),D()}h(r)}class Tt{$destroy(){rt(this,1),this.$destroy=v}$on(n,e){const i=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return i.push(e),()=>{const c=i.indexOf(e);c!==-1&&i.splice(c,1)}}$set(n){this.$$set&&!I(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}}export{Mt as A,rt as B,F as C,vt as D,v as E,st as F,at as G,_t as H,ft as I,R as J,ot as K,yt as L,ht as M,ut as N,Tt as S,X as a,gt as b,xt as c,U as d,V as e,wt as f,dt as g,tt as h,Lt as i,$t as j,mt as k,pt as l,bt as m,Nt as n,St as o,At as p,et as q,jt as r,lt as s,N as t,kt as u,Et as v,qt as w,Bt as x,it as y,Ct as z};
templates/_app/error.svelte-5990926f.js → static/_app/error.svelte-b9cb04fa.js RENAMED
@@ -1 +1 @@
1
- import{S as w,i as y,s as z,e as E,t as v,c as d,a as b,h as P,d as o,g as n,J as R,j as N,k as S,l as C,m as j,n as H}from"./chunks/index-60624bc8.js";function J(r){let l,t=r[1].frame+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].frame+"")&&N(a,t)},d(f){f&&o(l)}}}function h(r){let l,t=r[1].stack+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].stack+"")&&N(a,t)},d(f){f&&o(l)}}}function A(r){let l,t,a,f,s=r[1].message+"",c,k,u,p,i=r[1].frame&&J(r),_=r[1].stack&&h(r);return{c(){l=E("h1"),t=v(r[0]),a=S(),f=E("pre"),c=v(s),k=S(),i&&i.c(),u=S(),_&&_.c(),p=C()},l(e){l=d(e,"H1",{});var m=b(l);t=P(m,r[0]),m.forEach(o),a=j(e),f=d(e,"PRE",{});var q=b(f);c=P(q,s),q.forEach(o),k=j(e),i&&i.l(e),u=j(e),_&&_.l(e),p=C()},m(e,m){n(e,l,m),R(l,t),n(e,a,m),n(e,f,m),R(f,c),n(e,k,m),i&&i.m(e,m),n(e,u,m),_&&_.m(e,m),n(e,p,m)},p(e,[m]){m&1&&N(t,e[0]),m&2&&s!==(s=e[1].message+"")&&N(c,s),e[1].frame?i?i.p(e,m):(i=J(e),i.c(),i.m(u.parentNode,u)):i&&(i.d(1),i=null),e[1].stack?_?_.p(e,m):(_=h(e),_.c(),_.m(p.parentNode,p)):_&&(_.d(1),_=null)},i:H,o:H,d(e){e&&o(l),e&&o(a),e&&o(f),e&&o(k),i&&i.d(e),e&&o(u),_&&_.d(e),e&&o(p)}}}function F({error:r,status:l}){return{props:{error:r,status:l}}}function B(r,l,t){let{status:a}=l,{error:f}=l;return r.$$set=s=>{"status"in s&&t(0,a=s.status),"error"in s&&t(1,f=s.error)},[a,f]}class G extends w{constructor(l){super(),y(this,l,B,A,z,{status:0,error:1})}}export{G as default,F as load};
 
1
+ import{S as w,i as y,s as z,e as E,t as v,c as d,a as b,h as P,d as o,g as u,J as R,j as N,k as S,l as C,m as j,E as H}from"./chunks/index-bc271058.js";function J(r){let l,t=r[1].frame+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){u(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].frame+"")&&N(a,t)},d(f){f&&o(l)}}}function h(r){let l,t=r[1].stack+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){u(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].stack+"")&&N(a,t)},d(f){f&&o(l)}}}function A(r){let l,t,a,f,s=r[1].message+"",c,k,n,p,i=r[1].frame&&J(r),_=r[1].stack&&h(r);return{c(){l=E("h1"),t=v(r[0]),a=S(),f=E("pre"),c=v(s),k=S(),i&&i.c(),n=S(),_&&_.c(),p=C()},l(e){l=d(e,"H1",{});var m=b(l);t=P(m,r[0]),m.forEach(o),a=j(e),f=d(e,"PRE",{});var q=b(f);c=P(q,s),q.forEach(o),k=j(e),i&&i.l(e),n=j(e),_&&_.l(e),p=C()},m(e,m){u(e,l,m),R(l,t),u(e,a,m),u(e,f,m),R(f,c),u(e,k,m),i&&i.m(e,m),u(e,n,m),_&&_.m(e,m),u(e,p,m)},p(e,[m]){m&1&&N(t,e[0]),m&2&&s!==(s=e[1].message+"")&&N(c,s),e[1].frame?i?i.p(e,m):(i=J(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null),e[1].stack?_?_.p(e,m):(_=h(e),_.c(),_.m(p.parentNode,p)):_&&(_.d(1),_=null)},i:H,o:H,d(e){e&&o(l),e&&o(a),e&&o(f),e&&o(k),i&&i.d(e),e&&o(n),_&&_.d(e),e&&o(p)}}}function F({error:r,status:l}){return{props:{error:r,status:l}}}function B(r,l,t){let{status:a}=l,{error:f}=l;return r.$$set=s=>{"status"in s&&t(0,a=s.status),"error"in s&&t(1,f=s.error)},[a,f]}class G extends w{constructor(l){super(),y(this,l,B,A,z,{status:0,error:1})}}export{G as default,F as load};
static/_app/layout.svelte-b226a993.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{S as l,i,s as r,F as u,G as f,H as _,I as c,q as p,o as d}from"./chunks/index-bc271058.js";function m(n){let s;const o=n[1].default,e=u(o,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,a){e&&e.m(t,a),s=!0},p(t,[a]){e&&e.p&&(!s||a&1)&&f(e,o,t,t[0],s?c(o,t[0],a,null):_(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){d(e,t),s=!1},d(t){e&&e.d(t)}}}function $(n,s,o){let{$$slots:e={},$$scope:t}=s;return n.$$set=a=>{"$$scope"in a&&o(0,t=a.$$scope)},[t,e]}class h extends l{constructor(s){super(),i(this,s,$,m,r,{})}}export{h as default};
{templates → static}/_app/manifest.json RENAMED
@@ -1,10 +1,11 @@
1
  {
2
  ".svelte-kit/runtime/client/start.js": {
3
- "file": "start-b41bef43.js",
4
  "src": ".svelte-kit/runtime/client/start.js",
5
  "isEntry": true,
6
  "imports": [
7
- "_index-60624bc8.js"
 
8
  ],
9
  "dynamicImports": [
10
  ".svelte-kit/runtime/components/layout.svelte",
@@ -13,33 +14,43 @@
13
  ]
14
  },
15
  ".svelte-kit/runtime/components/layout.svelte": {
16
- "file": "layout.svelte-e3a1ab0e.js",
17
  "src": ".svelte-kit/runtime/components/layout.svelte",
18
  "isEntry": true,
19
  "isDynamicEntry": true,
20
  "imports": [
21
- "_index-60624bc8.js"
22
  ]
23
  },
24
  ".svelte-kit/runtime/components/error.svelte": {
25
- "file": "error.svelte-5990926f.js",
26
  "src": ".svelte-kit/runtime/components/error.svelte",
27
  "isEntry": true,
28
  "isDynamicEntry": true,
29
  "imports": [
30
- "_index-60624bc8.js"
31
  ]
32
  },
33
  "src/routes/index.svelte": {
34
- "file": "pages/index.svelte-47304b27.js",
35
  "src": "src/routes/index.svelte",
36
  "isEntry": true,
37
  "isDynamicEntry": true,
38
  "imports": [
39
- "_index-60624bc8.js"
 
 
 
 
40
  ]
41
  },
42
- "_index-60624bc8.js": {
43
- "file": "chunks/index-60624bc8.js"
 
 
 
 
 
 
44
  }
45
  }
 
1
  {
2
  ".svelte-kit/runtime/client/start.js": {
3
+ "file": "start-c175317f.js",
4
  "src": ".svelte-kit/runtime/client/start.js",
5
  "isEntry": true,
6
  "imports": [
7
+ "_index-bc271058.js",
8
+ "_index-a16eaf24.js"
9
  ],
10
  "dynamicImports": [
11
  ".svelte-kit/runtime/components/layout.svelte",
 
14
  ]
15
  },
16
  ".svelte-kit/runtime/components/layout.svelte": {
17
+ "file": "layout.svelte-b226a993.js",
18
  "src": ".svelte-kit/runtime/components/layout.svelte",
19
  "isEntry": true,
20
  "isDynamicEntry": true,
21
  "imports": [
22
+ "_index-bc271058.js"
23
  ]
24
  },
25
  ".svelte-kit/runtime/components/error.svelte": {
26
+ "file": "error.svelte-b9cb04fa.js",
27
  "src": ".svelte-kit/runtime/components/error.svelte",
28
  "isEntry": true,
29
  "isDynamicEntry": true,
30
  "imports": [
31
+ "_index-bc271058.js"
32
  ]
33
  },
34
  "src/routes/index.svelte": {
35
+ "file": "pages/index.svelte-8e87fac9.js",
36
  "src": "src/routes/index.svelte",
37
  "isEntry": true,
38
  "isDynamicEntry": true,
39
  "imports": [
40
+ "_index-bc271058.js",
41
+ "_index-a16eaf24.js"
42
+ ],
43
+ "css": [
44
+ "assets/pages/index.svelte-de534b64.css"
45
  ]
46
  },
47
+ "_index-bc271058.js": {
48
+ "file": "chunks/index-bc271058.js"
49
+ },
50
+ "_index-a16eaf24.js": {
51
+ "file": "chunks/index-a16eaf24.js",
52
+ "imports": [
53
+ "_index-bc271058.js"
54
+ ]
55
  }
56
  }
static/_app/pages/index.svelte-8e87fac9.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import{S as C,i as B,s as z,e as u,k as m,c as h,a as f,d as c,m as v,K as x,b as N,g as D,J as o,L as se,t as M,h as $,j as J,E as p,M as ne,w as y,x as b,y as S,q as R,o as w,B as k,N as le}from"../chunks/index-bc271058.js";import{w as Ee}from"../chunks/index-a16eaf24.js";const Te="Piano",ae="Chamber Music",re="Rock and Metal",Oe="Synthesizer",oe="Church",ie="Timpani, Contrabass, Harp",Ne="Country";var G={piano:Te,chamber:ae,rock_and_metal:re,synth:Oe,church:oe,timpani_strings_harp:ie,country:Ne};function X(T,e,s){const n=T.slice();return n[4]=e[s],n[6]=s,n}function Z(T){let e,s,n,a,_,l,E,t,r,i,O,g;return{c(){e=u("label"),s=u("div"),n=u("img"),l=m(),E=u("input"),r=m(),this.h()},l(d){e=h(d,"LABEL",{"data-selected":!0,class:!0});var I=f(e);s=h(I,"DIV",{class:!0});var L=f(s);n=h(L,"IMG",{src:!0,alt:!0,class:!0}),L.forEach(c),l=v(I),E=h(I,"INPUT",{type:!0,class:!0}),r=v(I),I.forEach(c),this.h()},h(){x(n.src,a=`${T[4]}.svg`)||N(n,"src",a),N(n,"alt",_=G[T[4]]),N(n,"class","svelte-1r9pswz"),N(s,"class","svelte-1r9pswz"),N(E,"type","radio"),E.__value=t=T[4],E.value=E.__value,N(E,"class","svelte-1r9pswz"),T[3][0].push(E),N(e,"data-selected",i=T[0]===T[4]),N(e,"class","svelte-1r9pswz")},m(d,I){D(d,e,I),o(e,s),o(s,n),o(e,l),o(e,E),E.checked=E.__value===T[0],o(e,r),O||(g=se(E,"change",T[2]),O=!0)},p(d,I){I&1&&(E.checked=E.__value===d[0]),I&1&&i!==(i=d[0]===d[4])&&N(e,"data-selected",i)},d(d){d&&c(e),T[3][0].splice(T[3][0].indexOf(E),1),O=!1,g()}}}function ce(T){let e,s,n=(G[T[0]]||"Synthesizer")+"",a,_,l,E=T[1],t=[];for(let r=0;r<E.length;r+=1)t[r]=Z(X(T,E,r));return{c(){e=u("fieldset"),s=u("legend"),a=M(n),_=m(),l=u("div");for(let r=0;r<t.length;r+=1)t[r].c();this.h()},l(r){e=h(r,"FIELDSET",{class:!0});var i=f(e);s=h(i,"LEGEND",{class:!0});var O=f(s);a=$(O,n),O.forEach(c),_=v(i),l=h(i,"DIV",{class:!0});var g=f(l);for(let d=0;d<t.length;d+=1)t[d].l(g);g.forEach(c),i.forEach(c),this.h()},h(){N(s,"class","svelte-1r9pswz"),N(l,"class","grid svelte-1r9pswz"),N(e,"class","svelte-1r9pswz")},m(r,i){D(r,e,i),o(e,s),o(s,a),o(e,_),o(e,l);for(let O=0;O<t.length;O+=1)t[O].m(l,null)},p(r,[i]){if(i&1&&n!==(n=(G[r[0]]||"Synthesizer")+"")&&J(a,n),i&3){E=r[1];let O;for(O=0;O<E.length;O+=1){const g=X(r,E,O);t[O]?t[O].p(g,i):(t[O]=Z(g),t[O].c(),t[O].m(l,null))}for(;O<t.length;O+=1)t[O].d(1);t.length=E.length}},i:p,o:p,d(r){r&&c(e),ne(t,r)}}}function ue(T,e,s){const n=Object.keys(G);let a="synth";const _=[[]];function l(){a=this.__value,s(0,a)}return[a,n,l,_]}class he extends C{constructor(e){super(),B(this,e,ue,ce,z,{})}}function ee(T,e,s){const n=T.slice();return n[5]=e[s],n[7]=s,n}function te(T){let e,s=T[5]+"",n,a,_,l,E,t,r;return{c(){e=u("label"),n=M(s),a=m(),_=u("input"),this.h()},l(i){e=h(i,"LABEL",{"data-selected":!0,class:!0});var O=f(e);n=$(O,s),a=v(O),_=h(O,"INPUT",{type:!0,class:!0}),O.forEach(c),this.h()},h(){N(_,"type","radio"),_.__value=l=T[5],_.value=_.__value,N(_,"class","svelte-1m848u0"),T[4][0].push(_),N(e,"data-selected",E=T[5]===T[1]),N(e,"class","svelte-1m848u0")},m(i,O){D(i,e,O),o(e,n),o(e,a),o(e,_),_.checked=_.__value===T[1],t||(r=se(_,"change",T[3]),t=!0)},p(i,O){O&1&&s!==(s=i[5]+"")&&J(n,s),O&1&&l!==(l=i[5])&&(_.__value=l,_.value=_.__value),O&2&&(_.checked=_.__value===i[1]),O&3&&E!==(E=i[5]===i[1])&&N(e,"data-selected",E)},d(i){i&&c(e),T[4][0].splice(T[4][0].indexOf(_),1),t=!1,r()}}}function fe(T){let e,s,n,a=T[0],_=[];for(let l=0;l<a.length;l+=1)_[l]=te(ee(T,a,l));return{c(){e=u("div");for(let l=0;l<_.length;l+=1)_[l].c();s=m(),n=u("input"),this.h()},l(l){e=h(l,"DIV",{class:!0});var E=f(e);for(let t=0;t<_.length;t+=1)_[t].l(E);s=v(E),n=h(E,"INPUT",{type:!0,class:!0}),E.forEach(c),this.h()},h(){N(n,"type","radio"),n.checked=!0,N(n,"class","svelte-1m848u0"),N(e,"class","options svelte-1m848u0")},m(l,E){D(l,e,E);for(let t=0;t<_.length;t+=1)_[t].m(e,null);o(e,s),o(e,n)},p(l,[E]){if(E&3){a=l[0];let t;for(t=0;t<a.length;t+=1){const r=ee(l,a,t);_[t]?_[t].p(r,E):(_[t]=te(r),_[t].c(),_[t].m(e,s))}for(;t<_.length;t+=1)_[t].d(1);_.length=a.length}},i:p,o:p,d(l){l&&c(e),ne(_,l)}}}function de(T,e,s){let{options:n}=e,{type:a}=e,_=n[1];const l=[[]];function E(){_=this.__value,s(1,_)}return T.$$set=t=>{"options"in t&&s(0,n=t.options),"type"in t&&s(2,a=t.type)},[n,_,a,E,l]}class _e extends C{constructor(e){super(),B(this,e,de,fe,z,{options:0,type:2})}}function Fe(T){let e,s,n,a,_,l,E;return l=new _e({props:{options:T[0],type:pe}}),{c(){e=u("div"),s=u("fieldset"),n=u("legend"),a=M("Note density"),_=m(),y(l.$$.fragment),this.h()},l(t){e=h(t,"DIV",{});var r=f(e);s=h(r,"FIELDSET",{class:!0});var i=f(s);n=h(i,"LEGEND",{class:!0});var O=f(n);a=$(O,"Note density"),O.forEach(c),_=v(i),b(l.$$.fragment,i),i.forEach(c),r.forEach(c),this.h()},h(){N(n,"class","svelte-1cq0vc2"),N(s,"class","svelte-1cq0vc2")},m(t,r){D(t,e,r),o(e,s),o(s,n),o(n,a),o(s,_),S(l,s,null),E=!0},p,i(t){E||(R(l.$$.fragment,t),E=!0)},o(t){w(l.$$.fragment,t),E=!1},d(t){t&&c(e),k(l)}}}const pe="density";function me(T){return[["Low","Medium","High"]]}class ve extends C{constructor(e){super(),B(this,e,me,Fe,z,{})}}function Ae(T){let e,s,n,a,_,l,E;return l=new _e({props:{options:T[0],type:Ie}}),{c(){e=u("div"),s=u("fieldset"),n=u("legend"),a=M("Temperature"),_=m(),y(l.$$.fragment),this.h()},l(t){e=h(t,"DIV",{});var r=f(e);s=h(r,"FIELDSET",{class:!0});var i=f(s);n=h(i,"LEGEND",{class:!0});var O=f(n);a=$(O,"Temperature"),O.forEach(c),_=v(i),b(l.$$.fragment,i),i.forEach(c),r.forEach(c),this.h()},h(){N(n,"class","svelte-nlqy14"),N(s,"class","svelte-nlqy14")},m(t,r){D(t,e,r),o(e,s),o(s,n),o(n,a),o(s,_),S(l,s,null),E=!0},p,i(t){E||(R(l.$$.fragment,t),E=!0)},o(t){w(l.$$.fragment,t),E=!1},d(t){t&&c(e),k(l)}}}const Ie="temperature";function ge(T){return[["Low","Medium","High","Very High"]]}class De extends C{constructor(e){super(),B(this,e,ge,Ae,z,{})}}const Le=Ee(!1);function Me(T){let e,s;return{c(){e=u("button"),s=M(T[1]),this.h()},l(n){e=h(n,"BUTTON",{class:!0});var a=f(e);s=$(a,T[1]),a.forEach(c),this.h()},h(){e.disabled=T[0],N(e,"class","svelte-aq73nm")},m(n,a){D(n,e,a),o(e,s)},p(n,[a]){a&2&&J(s,n[1]),a&1&&(e.disabled=n[0])},i:p,o:p,d(n){n&&c(e)}}}function $e(T,e,s){let n,a;return le(T,Le,_=>s(0,a=_)),T.$$.update=()=>{T.$$.dirty&1&&s(1,n=a?"Composing...":"Compose \u2728")},[a,n]}class ye extends C{constructor(e){super(),B(this,e,$e,Me,z,{})}}function be(T){let e,s;return{c(){e=u("audio"),this.h()},l(n){e=h(n,"AUDIO",{src:!0,class:!0}),f(e).forEach(c),this.h()},h(){e.controls=!0,x(e.src,s="download.wav")||N(e,"src",s),N(e,"class","svelte-1e9isw9")},m(n,a){D(n,e,a)},p,i:p,o:p,d(n){n&&c(e)}}}class Se extends C{constructor(e){super(),B(this,e,null,be,z,{})}}function Re(T){let e,s,n,a,_,l;return{c(){e=u("section"),s=u("h2"),n=M("Visualised notes"),a=m(),_=u("img"),this.h()},l(E){e=h(E,"SECTION",{class:!0});var t=f(e);s=h(t,"H2",{});var r=f(s);n=$(r,"Visualised notes"),r.forEach(c),a=v(t),_=h(t,"IMG",{src:!0,alt:!0,class:!0}),t.forEach(c),this.h()},h(){x(_.src,l="compose.png")||N(_,"src",l),N(_,"alt","MIDI notes of composition"),N(_,"class","svelte-1tzlz20"),N(e,"class","svelte-1tzlz20")},m(E,t){D(E,e,t),o(e,s),o(s,n),o(e,a),o(e,_)},p,i:p,o:p,d(E){E&&c(e)}}}class we extends C{constructor(e){super(),B(this,e,null,Re,z,{})}}function ke(T){let e,s,n,a,_,l;return{c(){e=u("section"),s=u("h2"),n=M("Tokenized notes"),a=m(),_=u("p"),l=M(`PIECE_START TRACK_START INST=DRUMS DENSITY=6 BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42
2
+ TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38
3
+ NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35
4
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1
5
+ NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
6
+ NOTE_OFF=35 NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1
7
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42
8
+ TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42
9
+ TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38
10
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35
11
+ NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42
12
+ TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1
13
+ NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
14
+ NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42`),this.h()},l(E){e=h(E,"SECTION",{class:!0});var t=f(e);s=h(t,"H2",{});var r=f(s);n=$(r,"Tokenized notes"),r.forEach(c),a=v(t),_=h(t,"P",{});var i=f(_);l=$(i,`PIECE_START TRACK_START INST=DRUMS DENSITY=6 BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42
15
+ TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38
16
+ NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35
17
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1
18
+ NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
19
+ NOTE_OFF=35 NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1
20
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42
21
+ TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42
22
+ TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38
23
+ NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35
24
+ NOTE_OFF=42 BAR_END BAR_START NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42
25
+ TIME_DELTA=1 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=38 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=38 NOTE_OFF=42 TIME_DELTA=1
26
+ NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=35 NOTE_ON=42 TIME_DELTA=1
27
+ NOTE_OFF=35 NOTE_OFF=42 TIME_DELTA=1 NOTE_ON=42 TIME_DELTA=1 NOTE_OFF=42`),i.forEach(c),t.forEach(c),this.h()},h(){N(e,"class","svelte-1sitrxx")},m(E,t){D(E,e,t),o(e,s),o(s,n),o(e,a),o(e,_),o(_,l)},p,i:p,o:p,d(E){E&&c(e)}}}class Ce extends C{constructor(e){super(),B(this,e,null,ke,z,{})}}function Be(T){let e,s,n,a,_,l,E,t,r,i,O,g,d,I,L,K,P,j,V,Y,q,U;return r=new he({}),O=new ve({}),d=new De({}),L=new ye({}),P=new Se({}),V=new we({}),q=new Ce({}),{c(){e=u("main"),s=u("h1"),n=M("Composer"),a=m(),_=u("p"),l=M("A hundred thousand songs used to train. One AI model. Infinite compositions."),E=m(),t=u("section"),y(r.$$.fragment),i=m(),y(O.$$.fragment),g=m(),y(d.$$.fragment),I=m(),y(L.$$.fragment),K=m(),y(P.$$.fragment),j=m(),y(V.$$.fragment),Y=m(),y(q.$$.fragment),this.h()},l(F){e=h(F,"MAIN",{class:!0});var A=f(e);s=h(A,"H1",{class:!0});var Q=f(s);n=$(Q,"Composer"),Q.forEach(c),a=v(A),_=h(A,"P",{class:!0});var W=f(_);l=$(W,"A hundred thousand songs used to train. One AI model. Infinite compositions."),W.forEach(c),E=v(A),t=h(A,"SECTION",{id:!0,class:!0});var H=f(t);b(r.$$.fragment,H),i=v(H),b(O.$$.fragment,H),g=v(H),b(d.$$.fragment,H),H.forEach(c),I=v(A),b(L.$$.fragment,A),K=v(A),b(P.$$.fragment,A),j=v(A),b(V.$$.fragment,A),Y=v(A),b(q.$$.fragment,A),A.forEach(c),this.h()},h(){N(s,"class","svelte-1m4hhxp"),N(_,"class","svelte-1m4hhxp"),N(t,"id","options"),N(t,"class","svelte-1m4hhxp"),N(e,"class","svelte-1m4hhxp")},m(F,A){D(F,e,A),o(e,s),o(s,n),o(e,a),o(e,_),o(_,l),o(e,E),o(e,t),S(r,t,null),o(t,i),S(O,t,null),o(t,g),S(d,t,null),o(e,I),S(L,e,null),o(e,K),S(P,e,null),o(e,j),S(V,e,null),o(e,Y),S(q,e,null),U=!0},p,i(F){U||(R(r.$$.fragment,F),R(O.$$.fragment,F),R(d.$$.fragment,F),R(L.$$.fragment,F),R(P.$$.fragment,F),R(V.$$.fragment,F),R(q.$$.fragment,F),U=!0)},o(F){w(r.$$.fragment,F),w(O.$$.fragment,F),w(d.$$.fragment,F),w(L.$$.fragment,F),w(P.$$.fragment,F),w(V.$$.fragment,F),w(q.$$.fragment,F),U=!1},d(F){F&&c(e),k(r),k(O),k(d),k(L),k(P),k(V),k(q)}}}class Ve extends C{constructor(e){super(),B(this,e,null,Be,z,{})}}export{Ve as default};
static/_app/start-c175317f.js ADDED
@@ -0,0 +1 @@
 
 
1
+ var et=Object.defineProperty,tt=Object.defineProperties;var nt=Object.getOwnPropertyDescriptors;var fe=Object.getOwnPropertySymbols;var Te=Object.prototype.hasOwnProperty,De=Object.prototype.propertyIsEnumerable;var Ie=(n,e,t)=>e in n?et(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,P=(n,e)=>{for(var t in e||(e={}))Te.call(e,t)&&Ie(n,t,e[t]);if(fe)for(var t of fe(e))De.call(e,t)&&Ie(n,t,e[t]);return n},ne=(n,e)=>tt(n,nt(e));var Ve=(n,e)=>{var t={};for(var s in n)Te.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&fe)for(var s of fe(n))e.indexOf(s)<0&&De.call(n,s)&&(t[s]=n[s]);return t};import{S as rt,i as st,s as it,e as at,c as ot,a as ct,d as V,b as we,f as B,g as q,t as lt,h as ft,j as ut,k as dt,l as C,m as pt,n as M,o as j,p as F,q as I,r as ht,u as _t,v as $e,w as z,x as se,y as J,z as ie,A as ae,B as K,C as oe,D as qe}from"./chunks/index-bc271058.js";import{w as ue}from"./chunks/index-a16eaf24.js";let ze="",He="";function mt(n){ze=n.base,He=n.assets||ze}function gt(n){let e,t,s;const l=[n[1]||{}];var c=n[0][0];function f(r){let i={};for(let a=0;a<l.length;a+=1)i=oe(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&z(e.$$.fragment),t=C()},l(r){e&&se(e.$$.fragment,r),t=C()},m(r,i){e&&J(e,r,i),q(r,t,i),s=!0},p(r,i){const a=i&2?ie(l,[ae(r[1]||{})]):{};if(c!==(c=r[0][0])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}c?(e=new c(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(r){s||(e&&I(e.$$.fragment,r),s=!0)},o(r){e&&j(e.$$.fragment,r),s=!1},d(r){r&&V(t),e&&K(e,r)}}}function wt(n){let e,t,s;const l=[n[1]||{}];var c=n[0][0];function f(r){let i={$$slots:{default:[$t]},$$scope:{ctx:r}};for(let a=0;a<l.length;a+=1)i=oe(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&z(e.$$.fragment),t=C()},l(r){e&&se(e.$$.fragment,r),t=C()},m(r,i){e&&J(e,r,i),q(r,t,i),s=!0},p(r,i){const a=i&2?ie(l,[ae(r[1]||{})]):{};if(i&525&&(a.$$scope={dirty:i,ctx:r}),c!==(c=r[0][0])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}c?(e=new c(f(r)),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(r){s||(e&&I(e.$$.fragment,r),s=!0)},o(r){e&&j(e.$$.fragment,r),s=!1},d(r){r&&V(t),e&&K(e,r)}}}function bt(n){let e,t,s;const l=[n[2]||{}];var c=n[0][1];function f(r){let i={};for(let a=0;a<l.length;a+=1)i=oe(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&z(e.$$.fragment),t=C()},l(r){e&&se(e.$$.fragment,r),t=C()},m(r,i){e&&J(e,r,i),q(r,t,i),s=!0},p(r,i){const a=i&4?ie(l,[ae(r[2]||{})]):{};if(c!==(c=r[0][1])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}c?(e=new c(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(r){s||(e&&I(e.$$.fragment,r),s=!0)},o(r){e&&j(e.$$.fragment,r),s=!1},d(r){r&&V(t),e&&K(e,r)}}}function yt(n){let e,t,s;const l=[n[2]||{}];var c=n[0][1];function f(r){let i={$$slots:{default:[vt]},$$scope:{ctx:r}};for(let a=0;a<l.length;a+=1)i=oe(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&z(e.$$.fragment),t=C()},l(r){e&&se(e.$$.fragment,r),t=C()},m(r,i){e&&J(e,r,i),q(r,t,i),s=!0},p(r,i){const a=i&4?ie(l,[ae(r[2]||{})]):{};if(i&521&&(a.$$scope={dirty:i,ctx:r}),c!==(c=r[0][1])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}c?(e=new c(f(r)),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(r){s||(e&&I(e.$$.fragment,r),s=!0)},o(r){e&&j(e.$$.fragment,r),s=!1},d(r){r&&V(t),e&&K(e,r)}}}function vt(n){let e,t,s;const l=[n[3]||{}];var c=n[0][2];function f(r){let i={};for(let a=0;a<l.length;a+=1)i=oe(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&z(e.$$.fragment),t=C()},l(r){e&&se(e.$$.fragment,r),t=C()},m(r,i){e&&J(e,r,i),q(r,t,i),s=!0},p(r,i){const a=i&8?ie(l,[ae(r[3]||{})]):{};if(c!==(c=r[0][2])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}c?(e=new c(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(r){s||(e&&I(e.$$.fragment,r),s=!0)},o(r){e&&j(e.$$.fragment,r),s=!1},d(r){r&&V(t),e&&K(e,r)}}}function $t(n){let e,t,s,l;const c=[yt,bt],f=[];function r(i,a){return i[0][2]?0:1}return e=r(n),t=f[e]=c[e](n),{c(){t.c(),s=C()},l(i){t.l(i),s=C()},m(i,a){f[e].m(i,a),q(i,s,a),l=!0},p(i,a){let d=e;e=r(i),e===d?f[e].p(i,a):(M(),j(f[d],1,1,()=>{f[d]=null}),F(),t=f[e],t?t.p(i,a):(t=f[e]=c[e](i),t.c()),I(t,1),t.m(s.parentNode,s))},i(i){l||(I(t),l=!0)},o(i){j(t),l=!1},d(i){f[e].d(i),i&&V(s)}}}function Je(n){let e,t=n[5]&&Ke(n);return{c(){e=at("div"),t&&t.c(),this.h()},l(s){e=ot(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var l=ct(e);t&&t.l(l),l.forEach(V),this.h()},h(){we(e,"id","svelte-announcer"),we(e,"aria-live","assertive"),we(e,"aria-atomic","true"),B(e,"position","absolute"),B(e,"left","0"),B(e,"top","0"),B(e,"clip","rect(0 0 0 0)"),B(e,"clip-path","inset(50%)"),B(e,"overflow","hidden"),B(e,"white-space","nowrap"),B(e,"width","1px"),B(e,"height","1px")},m(s,l){q(s,e,l),t&&t.m(e,null)},p(s,l){s[5]?t?t.p(s,l):(t=Ke(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&V(e),t&&t.d()}}}function Ke(n){let e;return{c(){e=lt(n[6])},l(t){e=ft(t,n[6])},m(t,s){q(t,e,s)},p(t,s){s&64&&ut(e,t[6])},d(t){t&&V(e)}}}function kt(n){let e,t,s,l,c;const f=[wt,gt],r=[];function i(d,R){return d[0][1]?0:1}e=i(n),t=r[e]=f[e](n);let a=n[4]&&Je(n);return{c(){t.c(),s=dt(),a&&a.c(),l=C()},l(d){t.l(d),s=pt(d),a&&a.l(d),l=C()},m(d,R){r[e].m(d,R),q(d,s,R),a&&a.m(d,R),q(d,l,R),c=!0},p(d,[R]){let y=e;e=i(d),e===y?r[e].p(d,R):(M(),j(r[y],1,1,()=>{r[y]=null}),F(),t=r[e],t?t.p(d,R):(t=r[e]=f[e](d),t.c()),I(t,1),t.m(s.parentNode,s)),d[4]?a?a.p(d,R):(a=Je(d),a.c(),a.m(l.parentNode,l)):a&&(a.d(1),a=null)},i(d){c||(I(t),c=!0)},o(d){j(t),c=!1},d(d){r[e].d(d),d&&V(s),a&&a.d(d),d&&V(l)}}}function Et(n,e,t){let{stores:s}=e,{page:l}=e,{components:c}=e,{props_0:f=null}=e,{props_1:r=null}=e,{props_2:i=null}=e;ht("__svelte__",s),_t(s.page.notify);let a=!1,d=!1,R=null;return $e(()=>{const y=s.page.subscribe(()=>{a&&(t(5,d=!0),t(6,R=document.title||"untitled page"))});return t(4,a=!0),y}),n.$$set=y=>{"stores"in y&&t(7,s=y.stores),"page"in y&&t(8,l=y.page),"components"in y&&t(0,c=y.components),"props_0"in y&&t(1,f=y.props_0),"props_1"in y&&t(2,r=y.props_1),"props_2"in y&&t(3,i=y.props_2)},n.$$.update=()=>{n.$$.dirty&384&&s.page.set(l)},[c,f,r,i,a,d,R,s,l]}class Rt extends rt{constructor(e){super(),st(this,e,Et,kt,it,{stores:7,page:8,components:0,props_0:1,props_1:2,props_2:3})}}const St="modulepreload",Be={},Lt="/_app/",be=function(e,t){return!t||t.length===0?e():Promise.all(t.map(s=>{if(s=`${Lt}${s}`,s in Be)return;Be[s]=!0;const l=s.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":St,l||(f.as="script",f.crossOrigin=""),f.href=s,document.head.appendChild(f),l)return new Promise((r,i)=>{f.addEventListener("load",r),f.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e())},Ut={},Ee=[()=>be(()=>import("./layout.svelte-b226a993.js"),["layout.svelte-b226a993.js","chunks/index-bc271058.js"]),()=>be(()=>import("./error.svelte-b9cb04fa.js"),["error.svelte-b9cb04fa.js","chunks/index-bc271058.js"]),()=>be(()=>import("./pages/index.svelte-8e87fac9.js"),["pages/index.svelte-8e87fac9.js","assets/pages/index.svelte-de534b64.css","chunks/index-bc271058.js","chunks/index-a16eaf24.js"])],At={"":[[0,2],[1]]};function We(n){return n instanceof Error||n&&n.name&&n.message?n:new Error(JSON.stringify(n))}function Ye(n){if(n.fallthrough)throw new Error("fallthrough is no longer supported. Use matchers instead: https://kit.svelte.dev/docs/routing#advanced-routing-matching");if("maxage"in n)throw new Error("maxage should be replaced with cache: { maxage }");const e=n.status&&n.status>=400&&n.status<=599&&!n.redirect;if(n.error||e){const t=n.status;if(!n.error&&e)return{status:t||500,error:new Error};const s=typeof n.error=="string"?new Error(n.error):n.error;return s instanceof Error?!t||t<400||t>599?(console.warn('"error" returned from load() without a valid status code \u2014 defaulting to 500'),{status:500,error:s}):{status:t,error:s}:{status:500,error:new Error(`"error" property returned from load() must be a string or instance of Error, received type "${typeof s}"`)}}if(n.redirect){if(!n.status||Math.floor(n.status/100)!==3)return{status:500,error:new Error('"redirect" property returned from load() must be accompanied by a 3xx status code')};if(typeof n.redirect!="string")return{status:500,error:new Error('"redirect" property returned from load() must be a string')}}if(n.dependencies&&(!Array.isArray(n.dependencies)||n.dependencies.some(t=>typeof t!="string")))return{status:500,error:new Error('"dependencies" property returned from load() must be of type string[]')};if(n.context)throw new Error('You are returning "context" from a load function. "context" was renamed to "stuff", please adjust your code accordingly.');return n}function Nt(n,e){return n==="/"||e==="ignore"?n:e==="never"?n.endsWith("/")?n.slice(0,-1):n:e==="always"&&!n.endsWith("/")?n+"/":n}function Ot(n){let e=5381,t=n.length;if(typeof n=="string")for(;t;)e=e*33^n.charCodeAt(--t);else for(;t;)e=e*33^n[--t];return(e>>>0).toString(36)}function Me(n){let e=n.baseURI;if(!e){const t=n.getElementsByTagName("base");e=t.length?t[0].href:n.URL}return e}function ke(){return{x:pageXOffset,y:pageYOffset}}function Fe(n){return n.composedPath().find(t=>t instanceof Node&&t.nodeName.toUpperCase()==="A")}function Ge(n){return n instanceof SVGAElement?new URL(n.href.baseVal,document.baseURI):new URL(n.href)}function Xe(n){const e=ue(n);let t=!0;function s(){t=!0,e.update(f=>f)}function l(f){t=!1,e.set(f)}function c(f){let r;return e.subscribe(i=>{(r===void 0||t&&i!==r)&&f(r=i)})}return{notify:s,set:l,subscribe:c}}function xt(){const{set:n,subscribe:e}=ue(!1),t="1651126615853";let s;async function l(){clearTimeout(s);const f=await fetch(`${He}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(f.ok){const{version:r}=await f.json(),i=r!==t;return i&&(n(!0),clearTimeout(s)),i}else throw new Error(`Version check failed: ${f.status}`)}return{subscribe:e,check:l}}function Pt(n,e){let s=`script[sveltekit\\:data-type="data"][sveltekit\\:data-url=${JSON.stringify(typeof n=="string"?n:n.url)}]`;e&&typeof e.body=="string"&&(s+=`[sveltekit\\:data-body="${Ot(e.body)}"]`);const l=document.querySelector(s);if(l&&l.textContent){const c=JSON.parse(l.textContent),{body:f}=c,r=Ve(c,["body"]);return Promise.resolve(new Response(f,r))}return fetch(n,e)}const Ct=/^(\.\.\.)?(\w+)(?:=(\w+))?$/;function jt(n){const e=[],t=[];let s=!0;return{pattern:n===""?/^\/$/:new RegExp(`^${decodeURIComponent(n).split(/(?:@[a-zA-Z0-9_-]+)?(?:\/|$)/).map((c,f,r)=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(c);if(i)return e.push(i[1]),t.push(i[2]),"(?:/(.*))?";const a=f===r.length-1;return c&&"/"+c.split(/\[(.+?)\]/).map((d,R)=>{if(R%2){const[,y,Z,G]=Ct.exec(d);return e.push(Z),t.push(G),y?"(.*?)":"([^/]+?)"}return a&&d.includes(".")&&(s=!1),d.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${s?"/?":""}$`),names:e,types:t}}function It(n,e,t,s){const l={};for(let c=0;c<e.length;c+=1){const f=e[c],r=t[c],i=n[c+1]||"";if(r){const a=s[r];if(!a)throw new Error(`Missing "${r}" param matcher`);if(!a(i))return}l[f]=i}return l}function Tt(n,e,t){return Object.entries(e).map(([l,[c,f,r]])=>{const{pattern:i,names:a,types:d}=jt(l);return{id:l,exec:R=>{const y=i.exec(R);if(y)return It(y,a,d,t)},a:c.map(R=>n[R]),b:f.map(R=>n[R]),has_shadow:!!r}})}const Qe="sveltekit:scroll",W="sveltekit:index",ye=Tt(Ee,At,Ut),Dt=Ee[0](),Vt=Ee[1](),Ze={};let re={};try{re=JSON.parse(sessionStorage[Qe])}catch{}function ve(n){re[n]=ke()}function qt({target:n,session:e,base:t,trailing_slash:s}){var Ce;const l=new Map,c=[],f={url:Xe({}),page:Xe({}),navigating:ue(null),session:ue(e),updated:xt()},r={id:null,promise:null},i={before_navigate:[],after_navigate:[]};let a={branch:[],error:null,session_id:0,stuff:Ze,url:null},d=!1,R=!0,y=!1,Z=1,G=null,Re,Se,Le=!1;f.session.subscribe(async o=>{Se=o,Le&&(Z+=1,_e(new URL(location.href),[],!0))}),Le=!0;let X=!0,T=(Ce=history.state)==null?void 0:Ce[W];T||(T=Date.now(),history.replaceState(ne(P({},history.state),{[W]:T}),"",location.href));const de=re[T];de&&(history.scrollRestoration="manual",scrollTo(de.x,de.y));let pe=!1,he,Ue;async function Ae(o,{noscroll:p=!1,replaceState:w=!1,keepfocus:u=!1,state:h={}},b){const _=new URL(o,Me(document));if(X)return ge({url:_,scroll:p?ke():null,keepfocus:u,redirect_chain:b,details:{state:h,replaceState:w},accepted:()=>{},blocked:()=>{}});await ee(_)}async function Ne(o){const p=Pe(o);if(!p)throw new Error("Attempted to prefetch a URL that does not belong to this app");return r.promise=xe(p,!1),r.id=p.id,r.promise}async function _e(o,p,w,u){var g,$,S;const h=Pe(o),b=Ue={};let _=h&&await xe(h,w);if(!_&&o.origin===location.origin&&o.pathname===location.pathname&&(_=await Q({status:404,error:new Error(`Not found: ${o.pathname}`),url:o,routeId:null})),!_)return await ee(o),!1;if(Ue!==b)return!1;if(c.length=0,_.redirect)if(p.length>10||p.includes(o.pathname))_=await Q({status:500,error:new Error("Redirect loop"),url:o,routeId:null});else return X?Ae(new URL(_.redirect,o).href,{},[...p,o.pathname]):await ee(new URL(_.redirect,location.href)),!1;else(($=(g=_.props)==null?void 0:g.page)==null?void 0:$.status)>=400&&await f.updated.check()&&await ee(o);if(y=!0,u&&u.details){const{details:k}=u,E=k.replaceState?0:1;k.state[W]=T+=E,history[k.replaceState?"replaceState":"pushState"](k.state,"",o)}if(d?(a=_.state,Re.$set(_.props)):Oe(_),u){const{scroll:k,keepfocus:E}=u;if(!E){const m=document.body,A=m.getAttribute("tabindex");(S=getSelection())==null||S.removeAllRanges(),m.tabIndex=-1,m.focus(),A!==null?m.setAttribute("tabindex",A):m.removeAttribute("tabindex")}if(await qe(),R){const m=o.hash&&document.getElementById(o.hash.slice(1));k?scrollTo(k.x,k.y):m?m.scrollIntoView():scrollTo(0,0)}}else await qe();r.promise=null,r.id=null,R=!0,y=!1,_.props.page&&(he=_.props.page);const v=_.state.branch[_.state.branch.length-1];return X=(v==null?void 0:v.module.router)!==!1,!0}function Oe(o){a=o.state;const p=document.querySelector("style[data-sveltekit]");if(p&&p.remove(),he=o.props.page,Re=new Rt({target:n,props:ne(P({},o.props),{stores:f}),hydrate:!0}),d=!0,X){const w={from:null,to:new URL(location.href)};i.after_navigate.forEach(u=>u(w))}}async function me({url:o,params:p,stuff:w,branch:u,status:h,error:b,routeId:_}){var m,A;const v=u.filter(Boolean),g=v.find(U=>{var O;return(O=U.loaded)==null?void 0:O.redirect}),$={redirect:(m=g==null?void 0:g.loaded)==null?void 0:m.redirect,state:{url:o,params:p,branch:u,error:b,stuff:w,session_id:Z},props:{components:v.map(U=>U.module.default)}};for(let U=0;U<v.length;U+=1){const O=v[U].loaded;$.props[`props_${U}`]=O?await O.props:null}if(!a.url||o.href!==a.url.href||a.error!==b||a.stuff!==w){$.props.page={error:b,params:p,routeId:_,status:h,stuff:w,url:o};const U=(O,L)=>{Object.defineProperty($.props.page,O,{get:()=>{throw new Error(`$page.${O} has been replaced by $page.url.${L}`)}})};U("origin","origin"),U("path","pathname"),U("query","searchParams")}const k=v[v.length-1],E=(A=k==null?void 0:k.loaded)==null?void 0:A.cache;if(E){const U=o.pathname+o.search;let O=!1;const L=()=>{l.get(U)===$&&l.delete(U),x(),clearTimeout(N)},N=setTimeout(L,E.maxage*1e3),x=f.session.subscribe(()=>{O&&L()});O=!0,l.set(U,$)}return $}async function H({status:o,error:p,module:w,url:u,params:h,stuff:b,props:_,routeId:v}){const g={module:w,uses:{params:new Set,url:!1,session:!1,stuff:!1,dependencies:new Set},loaded:null,stuff:b};function $(E){const{href:m}=new URL(E,u);g.uses.dependencies.add(m)}_&&g.uses.dependencies.add(u.href);const S={};for(const E in h)Object.defineProperty(S,E,{get(){return g.uses.params.add(E),h[E]},enumerable:!0});const k=Se;if(w.load){const E={routeId:v,params:S,props:_||{},get url(){return g.uses.url=!0,u},get session(){return g.uses.session=!0,k},get stuff(){return g.uses.stuff=!0,P({},b)},fetch(A,U){const O=typeof A=="string"?A:A.url;return $(O),d?fetch(A,U):Pt(A,U)},status:o!=null?o:null,error:p!=null?p:null},m=await w.load.call(null,E);if(!m)throw new Error("load function must return a value");g.loaded=Ye(m),g.loaded.stuff&&(g.stuff=g.loaded.stuff),g.loaded.dependencies&&g.loaded.dependencies.forEach($)}else _&&(g.loaded=Ye({props:_}));return g}async function xe({id:o,url:p,params:w,route:u},h){var A,U,O;if(r.id===o&&r.promise)return r.promise;if(!h){const L=l.get(o);if(L)return L}const{a:b,b:_,has_shadow:v}=u,g=a.url&&{url:o!==a.url.pathname+a.url.search,params:Object.keys(w).filter(L=>a.params[L]!==w[L]),session:Z!==a.session_id};let $=[],S=Ze,k=!1,E=200,m=null;b.forEach(L=>L());e:for(let L=0;L<b.length;L+=1){let N;try{if(!b[L])continue;const x=await b[L](),D=a.branch[L];if(!D||x!==D.module||g.url&&D.uses.url||g.params.some(Y=>D.uses.params.has(Y))||g.session&&D.uses.session||Array.from(D.uses.dependencies).some(Y=>c.some(le=>le(Y)))||k&&D.uses.stuff){let Y={};const le=v&&L===b.length-1;if(le){const te=await fetch(`${p.pathname}${p.pathname.endsWith("/")?"":"/"}__data.json${p.search}`,{headers:{"x-sveltekit-load":"true"}});if(te.ok){const je=te.headers.get("x-sveltekit-location");if(je)return{redirect:je,props:{},state:a};Y=te.status===204?{}:await te.json()}else E=te.status,m=new Error("Failed to load data")}if(m||(N=await H({module:x,url:p,params:w,props:Y,stuff:S,routeId:u.id})),N&&(le&&(N.uses.url=!0),N.loaded)){if(N.loaded.error&&(E=N.loaded.status,m=N.loaded.error),N.loaded.redirect)return{redirect:N.loaded.redirect,props:{},state:a};N.loaded.stuff&&(k=!0)}}else N=D}catch(x){E=500,m=We(x)}if(m){for(;L--;)if(_[L]){let x,D,ce=L;for(;!(D=$[ce]);)ce-=1;try{if(x=await H({status:E,error:m,module:await _[L](),url:p,params:w,stuff:D.stuff,routeId:u.id}),(A=x==null?void 0:x.loaded)!=null&&A.error)continue;(U=x==null?void 0:x.loaded)!=null&&U.stuff&&(S=P(P({},S),x.loaded.stuff)),$=$.slice(0,ce+1).concat(x);break e}catch{continue}}return await Q({status:E,error:m,url:p,routeId:u.id})}else(O=N==null?void 0:N.loaded)!=null&&O.stuff&&(S=P(P({},S),N.loaded.stuff)),$.push(N)}return await me({url:p,params:w,stuff:S,branch:$,status:E,error:m,routeId:u.id})}async function Q({status:o,error:p,url:w,routeId:u}){var v,g;const h={},b=await H({module:await Dt,url:w,params:h,stuff:{},routeId:u}),_=await H({status:o,error:p,module:await Vt,url:w,params:h,stuff:b&&b.loaded&&b.loaded.stuff||{},routeId:u});return await me({url:w,params:h,stuff:P(P({},(v=b==null?void 0:b.loaded)==null?void 0:v.stuff),(g=_==null?void 0:_.loaded)==null?void 0:g.stuff),branch:[b,_],status:o,error:p,routeId:u})}function Pe(o){if(o.origin!==location.origin||!o.pathname.startsWith(t))return;const p=decodeURI(o.pathname.slice(t.length)||"/");for(const w of ye){const u=w.exec(p);if(u)return{id:o.pathname+o.search,route:w,params:u,url:o}}}async function ge({url:o,scroll:p,keepfocus:w,redirect_chain:u,details:h,accepted:b,blocked:_}){const v=a.url;let g=!1;const $={from:v,to:o,cancel:()=>g=!0};if(i.before_navigate.forEach(m=>m($)),g){_();return}const S=Nt(o.pathname,s),k=new URL(o.origin+S+o.search+o.hash);if(ve(T),b(),d&&f.navigating.set({from:a.url,to:k}),await _e(k,u,!1,{scroll:p,keepfocus:w,details:h})){const m={from:v,to:k};i.after_navigate.forEach(A=>A(m)),f.navigating.set(null)}}function ee(o){return location.href=o.href,new Promise(()=>{})}return{after_navigate:o=>{$e(()=>(i.after_navigate.push(o),()=>{const p=i.after_navigate.indexOf(o);i.after_navigate.splice(p,1)}))},before_navigate:o=>{$e(()=>(i.before_navigate.push(o),()=>{const p=i.before_navigate.indexOf(o);i.before_navigate.splice(p,1)}))},disable_scroll_handling:()=>{(y||!d)&&(R=!1)},goto:(o,p={})=>Ae(o,p,[]),invalidate:o=>{if(typeof o=="function")c.push(o);else{const{href:p}=new URL(o,location.href);c.push(w=>w===p)}return G||(G=Promise.resolve().then(async()=>{await _e(new URL(location.href),[],!0),G=null})),G},prefetch:async o=>{const p=new URL(o,Me(document));await Ne(p)},prefetch_routes:async o=>{const w=(o?ye.filter(u=>o.some(h=>u.exec(h))):ye).map(u=>Promise.all(u.a.map(h=>h())));await Promise.all(w)},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",u=>{let h=!1;const b={from:a.url,to:null,cancel:()=>h=!0};i.before_navigate.forEach(_=>_(b)),h?(u.preventDefault(),u.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){ve(T);try{sessionStorage[Qe]=JSON.stringify(re)}catch{}}});const o=u=>{const h=Fe(u);h&&h.href&&h.hasAttribute("sveltekit:prefetch")&&Ne(Ge(h))};let p;const w=u=>{clearTimeout(p),p=setTimeout(()=>{var h;(h=u.target)==null||h.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",o),addEventListener("mousemove",w),addEventListener("sveltekit:trigger_prefetch",o),addEventListener("click",u=>{if(!X||u.button||u.which!==1||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey||u.defaultPrevented)return;const h=Fe(u);if(!h||!h.href)return;const b=h instanceof SVGAElement,_=Ge(h);if(!b&&_.origin==="null")return;const v=(h.getAttribute("rel")||"").split(/\s+/);if(h.hasAttribute("download")||v.includes("external")||h.hasAttribute("sveltekit:reload")||(b?h.target.baseVal:h.target))return;const[g,$]=_.href.split("#");if($!==void 0&&g===location.href.split("#")[0]){pe=!0,ve(T),f.page.set(ne(P({},he),{url:_})),f.page.notify();return}ge({url:_,scroll:h.hasAttribute("sveltekit:noscroll")?ke():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:_.href===location.href},accepted:()=>u.preventDefault(),blocked:()=>u.preventDefault()})}),addEventListener("popstate",u=>{if(u.state&&X){if(u.state[W]===T)return;ge({url:new URL(location.href),scroll:re[u.state[W]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{T=u.state[W]},blocked:()=>{const h=T-u.state[W];history.go(h)}})}}),addEventListener("hashchange",()=>{pe&&(pe=!1,history.replaceState(ne(P({},history.state),{[W]:++T}),"",location.href))})},_hydrate:async({status:o,error:p,nodes:w,params:u,routeId:h})=>{const b=new URL(location.href),_=[];let v={},g,$;try{for(let S=0;S<w.length;S+=1){const k=S===w.length-1;let E;if(k){const A=document.querySelector('script[sveltekit\\:data-type="props"]');A&&(E=JSON.parse(A.textContent))}const m=await H({module:await w[S],url:b,params:u,stuff:v,status:k?o:void 0,error:k?p:void 0,props:E,routeId:h});if(E&&(m.uses.dependencies.add(b.href),m.uses.url=!0),_.push(m),m&&m.loaded)if(m.loaded.error){if(p)throw m.loaded.error;$={status:m.loaded.status,error:m.loaded.error,url:b,routeId:h}}else m.loaded.stuff&&(v=P(P({},v),m.loaded.stuff))}g=$?await Q($):await me({url:b,params:u,stuff:v,branch:_,status:o,error:p,routeId:h})}catch(S){if(p)throw S;g=await Q({status:500,error:We(S),url:b,routeId:h})}g.redirect&&await ee(new URL(g.redirect,location.href)),Oe(g)}}}async function Bt({paths:n,target:e,session:t,route:s,spa:l,trailing_slash:c,hydrate:f}){const r=qt({target:e,session:t,base:n.base,trailing_slash:c});mt(n),f&&await r._hydrate(f),s&&(l&&r.goto(location.href,{replaceState:!0}),r._start_router()),dispatchEvent(new CustomEvent("sveltekit:start"))}export{Bt as start};
static/_app/version.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":"1651126615853"}
static/chamber.svg ADDED
static/church.svg ADDED
static/compose.png ADDED
static/country.svg ADDED
static/download.wav ADDED
Binary file (794 kB). View file
 
{templates → static}/favicon.png RENAMED
File without changes
static/piano.svg ADDED
static/rock_and_metal.svg ADDED
static/style.css CHANGED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ /* width: 100%; */
3
+ padding: 2rem;
4
+ font-family: 'Lato', sans-serif;
5
+ background-color: hsl(0 0% 1%);
6
+ }
7
+
8
+
9
+ h1 {
10
+ font-family: 'Italiana', serif;
11
+ letter-spacing: 0.05ch;
12
+ }
13
+
14
+
15
+ body, h1 {
16
+ color: hsl(0 0% 97%);
17
+ }
18
+
19
+ /* #options h3 {
20
+ font-weight: 700;
21
+ } */
static/synth.svg ADDED
static/timpani_strings_harp.svg ADDED
templates/_app/chunks/index-60624bc8.js DELETED
@@ -1 +0,0 @@
1
- function B(){}function F(t,n){for(const e in n)t[e]=n[e];return t}function T(t){return t()}function v(){return Object.create(null)}function p(t){t.forEach(T)}function H(t){return typeof t=="function"}function rt(t,n){return t!=t?n==n:t!==n||t&&typeof t=="object"||typeof t=="function"}function I(t){return Object.keys(t).length===0}function ct(t,n,e,r){if(t){const c=O(t,n,e,r);return t[0](c)}}function O(t,n,e,r){return t[1]&&r?F(e.ctx.slice(),t[1](r(n))):e.ctx}function lt(t,n,e,r){if(t[2]&&r){const c=t[2](r(e));if(n.dirty===void 0)return c;if(typeof c=="object"){const f=[],l=Math.max(n.dirty.length,c.length);for(let o=0;o<l;o+=1)f[o]=n.dirty[o]|c[o];return f}return n.dirty|c}return n.dirty}function ot(t,n,e,r,c,f){if(c){const l=O(n,e,r,f);t.p(l,c)}}function ut(t){if(t.ctx.length>32){const n=[],e=t.ctx.length/32;for(let r=0;r<e;r++)n[r]=-1;return n}return-1}let $=!1;function G(){$=!0}function J(){$=!1}function L(t,n,e,r){for(;t<n;){const c=t+(n-t>>1);e(c)<=r?t=c+1:n=c}return t}function W(t){if(t.hydrate_init)return;t.hydrate_init=!0;let n=t.childNodes;if(t.nodeName==="HEAD"){const i=[];for(let u=0;u<n.length;u++){const s=n[u];s.claim_order!==void 0&&i.push(s)}n=i}const e=new Int32Array(n.length+1),r=new Int32Array(n.length);e[0]=-1;let c=0;for(let i=0;i<n.length;i++){const u=n[i].claim_order,s=(c>0&&n[e[c]].claim_order<=u?c+1:L(1,c,y=>n[e[y]].claim_order,u))-1;r[i]=e[s]+1;const a=s+1;e[a]=i,c=Math.max(a,c)}const f=[],l=[];let o=n.length-1;for(let i=e[c]+1;i!=0;i=r[i-1]){for(f.push(n[i-1]);o>=i;o--)l.push(n[o]);o--}for(;o>=0;o--)l.push(n[o]);f.reverse(),l.sort((i,u)=>i.claim_order-u.claim_order);for(let i=0,u=0;i<l.length;i++){for(;u<f.length&&l[i].claim_order>=f[u].claim_order;)u++;const s=u<f.length?f[u]:null;t.insertBefore(l[i],s)}}function K(t,n){if($){for(W(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentElement!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;n!==t.actual_end_child?(n.claim_order!==void 0||n.parentNode!==t)&&t.insertBefore(n,t.actual_end_child):t.actual_end_child=n.nextSibling}else(n.parentNode!==t||n.nextSibling!==null)&&t.appendChild(n)}function ft(t,n,e){$&&!e?K(t,n):(n.parentNode!==t||n.nextSibling!=e)&&t.insertBefore(n,e||null)}function Q(t){t.parentNode.removeChild(t)}function R(t){return document.createElement(t)}function j(t){return document.createTextNode(t)}function at(){return j(" ")}function st(){return j("")}function dt(t,n,e){e==null?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function U(t){return Array.from(t.childNodes)}function V(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function P(t,n,e,r,c=!1){V(t);const f=(()=>{for(let l=t.claim_info.last_index;l<t.length;l++){const o=t[l];if(n(o)){const i=e(o);return i===void 0?t.splice(l,1):t[l]=i,c||(t.claim_info.last_index=l),o}}for(let l=t.claim_info.last_index-1;l>=0;l--){const o=t[l];if(n(o)){const i=e(o);return i===void 0?t.splice(l,1):t[l]=i,c?i===void 0&&t.claim_info.last_index--:t.claim_info.last_index=l,o}}return r()})();return f.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,f}function X(t,n,e,r){return P(t,c=>c.nodeName===n,c=>{const f=[];for(let l=0;l<c.attributes.length;l++){const o=c.attributes[l];e[o.name]||f.push(o.name)}f.forEach(l=>c.removeAttribute(l))},()=>r(n))}function _t(t,n,e){return X(t,n,e,R)}function Y(t,n){return P(t,e=>e.nodeType===3,e=>{const r=""+n;if(e.data.startsWith(r)){if(e.data.length!==r.length)return e.splitText(r.length)}else e.data=r},()=>j(n),!0)}function ht(t){return Y(t," ")}function mt(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function pt(t,n,e,r){e===null?t.style.removeProperty(n):t.style.setProperty(n,e,r?"important":"")}let m;function h(t){m=t}function A(){if(!m)throw new Error("Function called outside component initialization");return m}function yt(t){A().$$.on_mount.push(t)}function gt(t){A().$$.after_update.push(t)}function xt(t,n){A().$$.context.set(t,n)}const _=[],C=[],x=[],M=[],q=Promise.resolve();let k=!1;function z(){k||(k=!0,q.then(D))}function bt(){return z(),q}function E(t){x.push(t)}const w=new Set;let g=0;function D(){const t=m;do{for(;g<_.length;){const n=_[g];g++,h(n),Z(n.$$)}for(h(null),_.length=0,g=0;C.length;)C.pop()();for(let n=0;n<x.length;n+=1){const e=x[n];w.has(e)||(w.add(e),e())}x.length=0}while(_.length);for(;M.length;)M.pop()();k=!1,w.clear(),h(t)}function Z(t){if(t.fragment!==null){t.update(),p(t.before_update);const n=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,n),t.after_update.forEach(E)}}const b=new Set;let d;function $t(){d={r:0,c:[],p:d}}function wt(){d.r||p(d.c),d=d.p}function tt(t,n){t&&t.i&&(b.delete(t),t.i(n))}function kt(t,n,e,r){if(t&&t.o){if(b.has(t))return;b.add(t),d.c.push(()=>{b.delete(t),r&&(e&&t.d(1),r())}),t.o(n)}}function Et(t,n){const e={},r={},c={$$scope:1};let f=t.length;for(;f--;){const l=t[f],o=n[f];if(o){for(const i in l)i in o||(r[i]=1);for(const i in o)c[i]||(e[i]=o[i],c[i]=1);t[f]=o}else for(const i in l)c[i]=1}for(const l in r)l in e||(e[l]=void 0);return e}function jt(t){return typeof t=="object"&&t!==null?t:{}}function At(t){t&&t.c()}function Nt(t,n){t&&t.l(n)}function nt(t,n,e,r){const{fragment:c,on_mount:f,on_destroy:l,after_update:o}=t.$$;c&&c.m(n,e),r||E(()=>{const i=f.map(T).filter(H);l?l.push(...i):p(i),t.$$.on_mount=[]}),o.forEach(E)}function et(t,n){const e=t.$$;e.fragment!==null&&(p(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function it(t,n){t.$$.dirty[0]===-1&&(_.push(t),z(),t.$$.dirty.fill(0)),t.$$.dirty[n/31|0]|=1<<n%31}function St(t,n,e,r,c,f,l,o=[-1]){const i=m;h(t);const u=t.$$={fragment:null,ctx:null,props:f,update:B,not_equal:c,bound:v(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(n.context||(i?i.$$.context:[])),callbacks:v(),dirty:o,skip_bound:!1,root:n.target||i.$$.root};l&&l(u.root);let s=!1;if(u.ctx=e?e(t,n.props||{},(a,y,...N)=>{const S=N.length?N[0]:y;return u.ctx&&c(u.ctx[a],u.ctx[a]=S)&&(!u.skip_bound&&u.bound[a]&&u.bound[a](S),s&&it(t,a)),y}):[],u.update(),s=!0,p(u.before_update),u.fragment=r?r(u.ctx):!1,n.target){if(n.hydrate){G();const a=U(n.target);u.fragment&&u.fragment.l(a),a.forEach(Q)}else u.fragment&&u.fragment.c();n.intro&&tt(t.$$.fragment),nt(t,n.target,n.anchor,n.customElement),J(),D()}h(i)}class vt{$destroy(){et(this,1),this.$destroy=B}$on(n,e){const r=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return r.push(e),()=>{const c=r.indexOf(e);c!==-1&&r.splice(c,1)}}$set(n){this.$$set&&!I(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}}export{Et as A,jt as B,et as C,F as D,bt as E,ct as F,ot as G,ut as H,lt as I,K as J,vt as S,U as a,dt as b,_t as c,Q as d,R as e,pt as f,ft as g,Y as h,St as i,mt as j,at as k,st as l,ht as m,B as n,$t as o,kt as p,wt as q,tt as r,rt as s,j as t,xt as u,gt as v,yt as w,At as x,Nt as y,nt as z};
 
 
templates/_app/layout.svelte-e3a1ab0e.js DELETED
@@ -1 +0,0 @@
1
- import{S as o,i,s as r,F as u,G as f,H as _,I as c,r as p,p as d}from"./chunks/index-60624bc8.js";function m(n){let s;const l=n[1].default,e=u(l,n,n[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,a){e&&e.m(t,a),s=!0},p(t,[a]){e&&e.p&&(!s||a&1)&&f(e,l,t,t[0],s?c(l,t[0],a,null):_(t[0]),null)},i(t){s||(p(e,t),s=!0)},o(t){d(e,t),s=!1},d(t){e&&e.d(t)}}}function $(n,s,l){let{$$slots:e={},$$scope:t}=s;return n.$$set=a=>{"$$scope"in a&&l(0,t=a.$$scope)},[t,e]}class h extends o{constructor(s){super(),i(this,s,$,m,r,{})}}export{h as default};
 
 
templates/_app/pages/index.svelte-47304b27.js DELETED
@@ -1 +0,0 @@
1
- import{S as y,i as K,s as V,e as v,t as c,k as W,c as u,a as _,h,d as l,m as b,b as q,g as x,J as o,n as k}from"../chunks/index-60624bc8.js";function A(E){let e,d,r,a,m,s,p,f;return{c(){e=v("h1"),d=c("Welcome to SvelteKit"),r=W(),a=v("p"),m=c("Visit "),s=v("a"),p=c("kit.svelte.dev"),f=c(" to read the documentation"),this.h()},l(t){e=u(t,"H1",{});var i=_(e);d=h(i,"Welcome to SvelteKit"),i.forEach(l),r=b(t),a=u(t,"P",{});var n=_(a);m=h(n,"Visit "),s=u(n,"A",{href:!0});var S=_(s);p=h(S,"kit.svelte.dev"),S.forEach(l),f=h(n," to read the documentation"),n.forEach(l),this.h()},h(){q(s,"href","https://kit.svelte.dev")},m(t,i){x(t,e,i),o(e,d),x(t,r,i),x(t,a,i),o(a,m),o(a,s),o(s,p),o(a,f)},p:k,i:k,o:k,d(t){t&&l(e),t&&l(r),t&&l(a)}}}class H extends y{constructor(e){super(),K(this,e,null,A,V,{})}}export{H as default};
 
 
templates/_app/start-b41bef43.js DELETED
@@ -1 +0,0 @@
1
- var st=Object.defineProperty,rt=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var De=(n,e,t)=>e in n?st(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,P=(n,e)=>{for(var t in e||(e={}))Ve.call(e,t)&&De(n,t,e[t]);if(ue)for(var t of ue(e))qe.call(e,t)&&De(n,t,e[t]);return n},se=(n,e)=>rt(n,it(e));var ze=(n,e)=>{var t={};for(var r in n)Ve.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&ue)for(var r of ue(n))e.indexOf(r)<0&&qe.call(n,r)&&(t[r]=n[r]);return t};import{n as be,s as et,S as at,i as ot,e as ct,c as lt,a as ft,d as V,b as ye,f as B,g as q,t as ut,h as dt,j as pt,k as ht,l as C,m as _t,o as M,p as j,q as F,r as I,u as mt,v as gt,w as Ee,x as z,y as ie,z as J,A as ae,B as oe,C as K,D as ce,E as Je}from"./chunks/index-60624bc8.js";const Z=[];function de(n,e=be){let t;const r=new Set;function l(s){if(et(n,s)&&(n=s,t)){const i=!Z.length;for(const a of r)a[1](),Z.push(a,n);if(i){for(let a=0;a<Z.length;a+=2)Z[a][0](Z[a+1]);Z.length=0}}}function o(s){l(s(n))}function f(s,i=be){const a=[s,i];return r.add(a),r.size===1&&(t=e(l)||be),s(n),()=>{r.delete(a),r.size===0&&(t(),t=null)}}return{set:l,update:o,subscribe:f}}let Ke="",tt="";function wt(n){Ke=n.base,tt=n.assets||Ke}function bt(n){let e,t,r;const l=[n[1]||{}];var o=n[0][0];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return o&&(e=new o(f())),{c(){e&&z(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),q(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(o!==(o=s[0][0])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}o?(e=new o(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else o&&e.$set(a)},i(s){r||(e&&I(e.$$.fragment,s),r=!0)},o(s){e&&j(e.$$.fragment,s),r=!1},d(s){s&&V(t),e&&K(e,s)}}}function yt(n){let e,t,r;const l=[n[1]||{}];var o=n[0][0];function f(s){let i={$$slots:{default:[Et]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return o&&(e=new o(f(n))),{c(){e&&z(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),q(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(i&525&&(a.$$scope={dirty:i,ctx:s}),o!==(o=s[0][0])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}o?(e=new o(f(s)),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else o&&e.$set(a)},i(s){r||(e&&I(e.$$.fragment,s),r=!0)},o(s){e&&j(e.$$.fragment,s),r=!1},d(s){s&&V(t),e&&K(e,s)}}}function vt(n){let e,t,r;const l=[n[2]||{}];var o=n[0][1];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return o&&(e=new o(f())),{c(){e&&z(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),q(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(o!==(o=s[0][1])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}o?(e=new o(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else o&&e.$set(a)},i(s){r||(e&&I(e.$$.fragment,s),r=!0)},o(s){e&&j(e.$$.fragment,s),r=!1},d(s){s&&V(t),e&&K(e,s)}}}function $t(n){let e,t,r;const l=[n[2]||{}];var o=n[0][1];function f(s){let i={$$slots:{default:[kt]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return o&&(e=new o(f(n))),{c(){e&&z(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),q(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(i&521&&(a.$$scope={dirty:i,ctx:s}),o!==(o=s[0][1])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}o?(e=new o(f(s)),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else o&&e.$set(a)},i(s){r||(e&&I(e.$$.fragment,s),r=!0)},o(s){e&&j(e.$$.fragment,s),r=!1},d(s){s&&V(t),e&&K(e,s)}}}function kt(n){let e,t,r;const l=[n[3]||{}];var o=n[0][2];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return o&&(e=new o(f())),{c(){e&&z(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),q(s,t,i),r=!0},p(s,i){const a=i&8?ae(l,[oe(s[3]||{})]):{};if(o!==(o=s[0][2])){if(e){M();const d=e;j(d.$$.fragment,1,0,()=>{K(d,1)}),F()}o?(e=new o(f()),z(e.$$.fragment),I(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else o&&e.$set(a)},i(s){r||(e&&I(e.$$.fragment,s),r=!0)},o(s){e&&j(e.$$.fragment,s),r=!1},d(s){s&&V(t),e&&K(e,s)}}}function Et(n){let e,t,r,l;const o=[$t,vt],f=[];function s(i,a){return i[0][2]?0:1}return e=s(n),t=f[e]=o[e](n),{c(){t.c(),r=C()},l(i){t.l(i),r=C()},m(i,a){f[e].m(i,a),q(i,r,a),l=!0},p(i,a){let d=e;e=s(i),e===d?f[e].p(i,a):(M(),j(f[d],1,1,()=>{f[d]=null}),F(),t=f[e],t?t.p(i,a):(t=f[e]=o[e](i),t.c()),I(t,1),t.m(r.parentNode,r))},i(i){l||(I(t),l=!0)},o(i){j(t),l=!1},d(i){f[e].d(i),i&&V(r)}}}function Be(n){let e,t=n[5]&&We(n);return{c(){e=ct("div"),t&&t.c(),this.h()},l(r){e=lt(r,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var l=ft(e);t&&t.l(l),l.forEach(V),this.h()},h(){ye(e,"id","svelte-announcer"),ye(e,"aria-live","assertive"),ye(e,"aria-atomic","true"),B(e,"position","absolute"),B(e,"left","0"),B(e,"top","0"),B(e,"clip","rect(0 0 0 0)"),B(e,"clip-path","inset(50%)"),B(e,"overflow","hidden"),B(e,"white-space","nowrap"),B(e,"width","1px"),B(e,"height","1px")},m(r,l){q(r,e,l),t&&t.m(e,null)},p(r,l){r[5]?t?t.p(r,l):(t=We(r),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(r){r&&V(e),t&&t.d()}}}function We(n){let e;return{c(){e=ut(n[6])},l(t){e=dt(t,n[6])},m(t,r){q(t,e,r)},p(t,r){r&64&&pt(e,t[6])},d(t){t&&V(e)}}}function Rt(n){let e,t,r,l,o;const f=[yt,bt],s=[];function i(d,R){return d[0][1]?0:1}e=i(n),t=s[e]=f[e](n);let a=n[4]&&Be(n);return{c(){t.c(),r=ht(),a&&a.c(),l=C()},l(d){t.l(d),r=_t(d),a&&a.l(d),l=C()},m(d,R){s[e].m(d,R),q(d,r,R),a&&a.m(d,R),q(d,l,R),o=!0},p(d,[R]){let y=e;e=i(d),e===y?s[e].p(d,R):(M(),j(s[y],1,1,()=>{s[y]=null}),F(),t=s[e],t?t.p(d,R):(t=s[e]=f[e](d),t.c()),I(t,1),t.m(r.parentNode,r)),d[4]?a?a.p(d,R):(a=Be(d),a.c(),a.m(l.parentNode,l)):a&&(a.d(1),a=null)},i(d){o||(I(t),o=!0)},o(d){j(t),o=!1},d(d){s[e].d(d),d&&V(r),a&&a.d(d),d&&V(l)}}}function St(n,e,t){let{stores:r}=e,{page:l}=e,{components:o}=e,{props_0:f=null}=e,{props_1:s=null}=e,{props_2:i=null}=e;mt("__svelte__",r),gt(r.page.notify);let a=!1,d=!1,R=null;return Ee(()=>{const y=r.page.subscribe(()=>{a&&(t(5,d=!0),t(6,R=document.title||"untitled page"))});return t(4,a=!0),y}),n.$$set=y=>{"stores"in y&&t(7,r=y.stores),"page"in y&&t(8,l=y.page),"components"in y&&t(0,o=y.components),"props_0"in y&&t(1,f=y.props_0),"props_1"in y&&t(2,s=y.props_1),"props_2"in y&&t(3,i=y.props_2)},n.$$.update=()=>{n.$$.dirty&384&&r.page.set(l)},[o,f,s,i,a,d,R,r,l]}class Lt extends at{constructor(e){super(),ot(this,e,St,Rt,et,{stores:7,page:8,components:0,props_0:1,props_1:2,props_2:3})}}const Ut="modulepreload",Ye={},At="/_app/",ve=function(e,t){return!t||t.length===0?e():Promise.all(t.map(r=>{if(r=`${At}${r}`,r in Ye)return;Ye[r]=!0;const l=r.endsWith(".css"),o=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${o}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":Ut,l||(f.as="script",f.crossOrigin=""),f.href=r,document.head.appendChild(f),l)return new Promise((s,i)=>{f.addEventListener("load",s),f.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e())},Nt={},Se=[()=>ve(()=>import("./layout.svelte-e3a1ab0e.js"),["layout.svelte-e3a1ab0e.js","chunks/index-60624bc8.js"]),()=>ve(()=>import("./error.svelte-5990926f.js"),["error.svelte-5990926f.js","chunks/index-60624bc8.js"]),()=>ve(()=>import("./pages/index.svelte-47304b27.js"),["pages/index.svelte-47304b27.js","chunks/index-60624bc8.js"])],Ot={"":[[0,2],[1]]};function Me(n){return n instanceof Error||n&&n.name&&n.message?n:new Error(JSON.stringify(n))}function Fe(n){if(n.fallthrough)throw new Error("fallthrough is no longer supported. Use matchers instead: https://kit.svelte.dev/docs/routing#advanced-routing-matching");if("maxage"in n)throw new Error("maxage should be replaced with cache: { maxage }");const e=n.status&&n.status>=400&&n.status<=599&&!n.redirect;if(n.error||e){const t=n.status;if(!n.error&&e)return{status:t||500,error:new Error};const r=typeof n.error=="string"?new Error(n.error):n.error;return r instanceof Error?!t||t<400||t>599?(console.warn('"error" returned from load() without a valid status code \u2014 defaulting to 500'),{status:500,error:r}):{status:t,error:r}:{status:500,error:new Error(`"error" property returned from load() must be a string or instance of Error, received type "${typeof r}"`)}}if(n.redirect){if(!n.status||Math.floor(n.status/100)!==3)return{status:500,error:new Error('"redirect" property returned from load() must be accompanied by a 3xx status code')};if(typeof n.redirect!="string")return{status:500,error:new Error('"redirect" property returned from load() must be a string')}}if(n.dependencies&&(!Array.isArray(n.dependencies)||n.dependencies.some(t=>typeof t!="string")))return{status:500,error:new Error('"dependencies" property returned from load() must be of type string[]')};if(n.context)throw new Error('You are returning "context" from a load function. "context" was renamed to "stuff", please adjust your code accordingly.');return n}function xt(n,e){return n==="/"||e==="ignore"?n:e==="never"?n.endsWith("/")?n.slice(0,-1):n:e==="always"&&!n.endsWith("/")?n+"/":n}function Pt(n){let e=5381,t=n.length;if(typeof n=="string")for(;t;)e=e*33^n.charCodeAt(--t);else for(;t;)e=e*33^n[--t];return(e>>>0).toString(36)}function Ge(n){let e=n.baseURI;if(!e){const t=n.getElementsByTagName("base");e=t.length?t[0].href:n.URL}return e}function Re(){return{x:pageXOffset,y:pageYOffset}}function Xe(n){return n.composedPath().find(t=>t instanceof Node&&t.nodeName.toUpperCase()==="A")}function Ze(n){return n instanceof SVGAElement?new URL(n.href.baseVal,document.baseURI):new URL(n.href)}function He(n){const e=de(n);let t=!0;function r(){t=!0,e.update(f=>f)}function l(f){t=!1,e.set(f)}function o(f){let s;return e.subscribe(i=>{(s===void 0||t&&i!==s)&&f(s=i)})}return{notify:r,set:l,subscribe:o}}function Ct(){const{set:n,subscribe:e}=de(!1),t="1651120415467";let r;async function l(){clearTimeout(r);const f=await fetch(`${tt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(f.ok){const{version:s}=await f.json(),i=s!==t;return i&&(n(!0),clearTimeout(r)),i}else throw new Error(`Version check failed: ${f.status}`)}return{subscribe:e,check:l}}function jt(n,e){let r=`script[sveltekit\\:data-type="data"][sveltekit\\:data-url=${JSON.stringify(typeof n=="string"?n:n.url)}]`;e&&typeof e.body=="string"&&(r+=`[sveltekit\\:data-body="${Pt(e.body)}"]`);const l=document.querySelector(r);if(l&&l.textContent){const o=JSON.parse(l.textContent),{body:f}=o,s=ze(o,["body"]);return Promise.resolve(new Response(f,s))}return fetch(n,e)}const It=/^(\.\.\.)?(\w+)(?:=(\w+))?$/;function Tt(n){const e=[],t=[];let r=!0;return{pattern:n===""?/^\/$/:new RegExp(`^${decodeURIComponent(n).split(/(?:@[a-zA-Z0-9_-]+)?(?:\/|$)/).map((o,f,s)=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(o);if(i)return e.push(i[1]),t.push(i[2]),"(?:/(.*))?";const a=f===s.length-1;return o&&"/"+o.split(/\[(.+?)\]/).map((d,R)=>{if(R%2){const[,y,H,G]=It.exec(d);return e.push(H),t.push(G),y?"(.*?)":"([^/]+?)"}return a&&d.includes(".")&&(r=!1),d.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${r?"/?":""}$`),names:e,types:t}}function Dt(n,e,t,r){const l={};for(let o=0;o<e.length;o+=1){const f=e[o],s=t[o],i=n[o+1]||"";if(s){const a=r[s];if(!a)throw new Error(`Missing "${s}" param matcher`);if(!a(i))return}l[f]=i}return l}function Vt(n,e,t){return Object.entries(e).map(([l,[o,f,s]])=>{const{pattern:i,names:a,types:d}=Tt(l);return{id:l,exec:R=>{const y=i.exec(R);if(y)return Dt(y,a,d,t)},a:o.map(R=>n[R]),b:f.map(R=>n[R]),has_shadow:!!s}})}const nt="sveltekit:scroll",W="sveltekit:index",$e=Vt(Se,Ot,Nt),qt=Se[0](),zt=Se[1](),Qe={};let re={};try{re=JSON.parse(sessionStorage[nt])}catch{}function ke(n){re[n]=Re()}function Jt({target:n,session:e,base:t,trailing_slash:r}){var Ie;const l=new Map,o=[],f={url:He({}),page:He({}),navigating:de(null),session:de(e),updated:Ct()},s={id:null,promise:null},i={before_navigate:[],after_navigate:[]};let a={branch:[],error:null,session_id:0,stuff:Qe,url:null},d=!1,R=!0,y=!1,H=1,G=null,Le,Ue,Ae=!1;f.session.subscribe(async c=>{Ue=c,Ae&&(H+=1,me(new URL(location.href),[],!0))}),Ae=!0;let X=!0,T=(Ie=history.state)==null?void 0:Ie[W];T||(T=Date.now(),history.replaceState(se(P({},history.state),{[W]:T}),"",location.href));const pe=re[T];pe&&(history.scrollRestoration="manual",scrollTo(pe.x,pe.y));let he=!1,_e,Ne;async function Oe(c,{noscroll:p=!1,replaceState:w=!1,keepfocus:u=!1,state:h={}},b){const _=new URL(c,Ge(document));if(X)return we({url:_,scroll:p?Re():null,keepfocus:u,redirect_chain:b,details:{state:h,replaceState:w},accepted:()=>{},blocked:()=>{}});await te(_)}async function xe(c){const p=je(c);if(!p)throw new Error("Attempted to prefetch a URL that does not belong to this app");return s.promise=Ce(p,!1),s.id=p.id,s.promise}async function me(c,p,w,u){var g,$,S;const h=je(c),b=Ne={};let _=h&&await Ce(h,w);if(!_&&c.origin===location.origin&&c.pathname===location.pathname&&(_=await ee({status:404,error:new Error(`Not found: ${c.pathname}`),url:c,routeId:null})),!_)return await te(c),!1;if(Ne!==b)return!1;if(o.length=0,_.redirect)if(p.length>10||p.includes(c.pathname))_=await ee({status:500,error:new Error("Redirect loop"),url:c,routeId:null});else return X?Oe(new URL(_.redirect,c).href,{},[...p,c.pathname]):await te(new URL(_.redirect,location.href)),!1;else(($=(g=_.props)==null?void 0:g.page)==null?void 0:$.status)>=400&&await f.updated.check()&&await te(c);if(y=!0,u&&u.details){const{details:k}=u,E=k.replaceState?0:1;k.state[W]=T+=E,history[k.replaceState?"replaceState":"pushState"](k.state,"",c)}if(d?(a=_.state,Le.$set(_.props)):Pe(_),u){const{scroll:k,keepfocus:E}=u;if(!E){const m=document.body,A=m.getAttribute("tabindex");(S=getSelection())==null||S.removeAllRanges(),m.tabIndex=-1,m.focus(),A!==null?m.setAttribute("tabindex",A):m.removeAttribute("tabindex")}if(await Je(),R){const m=c.hash&&document.getElementById(c.hash.slice(1));k?scrollTo(k.x,k.y):m?m.scrollIntoView():scrollTo(0,0)}}else await Je();s.promise=null,s.id=null,R=!0,y=!1,_.props.page&&(_e=_.props.page);const v=_.state.branch[_.state.branch.length-1];return X=(v==null?void 0:v.module.router)!==!1,!0}function Pe(c){a=c.state;const p=document.querySelector("style[data-sveltekit]");if(p&&p.remove(),_e=c.props.page,Le=new Lt({target:n,props:se(P({},c.props),{stores:f}),hydrate:!0}),d=!0,X){const w={from:null,to:new URL(location.href)};i.after_navigate.forEach(u=>u(w))}}async function ge({url:c,params:p,stuff:w,branch:u,status:h,error:b,routeId:_}){var m,A;const v=u.filter(Boolean),g=v.find(U=>{var O;return(O=U.loaded)==null?void 0:O.redirect}),$={redirect:(m=g==null?void 0:g.loaded)==null?void 0:m.redirect,state:{url:c,params:p,branch:u,error:b,stuff:w,session_id:H},props:{components:v.map(U=>U.module.default)}};for(let U=0;U<v.length;U+=1){const O=v[U].loaded;$.props[`props_${U}`]=O?await O.props:null}if(!a.url||c.href!==a.url.href||a.error!==b||a.stuff!==w){$.props.page={error:b,params:p,routeId:_,status:h,stuff:w,url:c};const U=(O,L)=>{Object.defineProperty($.props.page,O,{get:()=>{throw new Error(`$page.${O} has been replaced by $page.url.${L}`)}})};U("origin","origin"),U("path","pathname"),U("query","searchParams")}const k=v[v.length-1],E=(A=k==null?void 0:k.loaded)==null?void 0:A.cache;if(E){const U=c.pathname+c.search;let O=!1;const L=()=>{l.get(U)===$&&l.delete(U),x(),clearTimeout(N)},N=setTimeout(L,E.maxage*1e3),x=f.session.subscribe(()=>{O&&L()});O=!0,l.set(U,$)}return $}async function Q({status:c,error:p,module:w,url:u,params:h,stuff:b,props:_,routeId:v}){const g={module:w,uses:{params:new Set,url:!1,session:!1,stuff:!1,dependencies:new Set},loaded:null,stuff:b};function $(E){const{href:m}=new URL(E,u);g.uses.dependencies.add(m)}_&&g.uses.dependencies.add(u.href);const S={};for(const E in h)Object.defineProperty(S,E,{get(){return g.uses.params.add(E),h[E]},enumerable:!0});const k=Ue;if(w.load){const E={routeId:v,params:S,props:_||{},get url(){return g.uses.url=!0,u},get session(){return g.uses.session=!0,k},get stuff(){return g.uses.stuff=!0,P({},b)},fetch(A,U){const O=typeof A=="string"?A:A.url;return $(O),d?fetch(A,U):jt(A,U)},status:c!=null?c:null,error:p!=null?p:null},m=await w.load.call(null,E);if(!m)throw new Error("load function must return a value");g.loaded=Fe(m),g.loaded.stuff&&(g.stuff=g.loaded.stuff),g.loaded.dependencies&&g.loaded.dependencies.forEach($)}else _&&(g.loaded=Fe({props:_}));return g}async function Ce({id:c,url:p,params:w,route:u},h){var A,U,O;if(s.id===c&&s.promise)return s.promise;if(!h){const L=l.get(c);if(L)return L}const{a:b,b:_,has_shadow:v}=u,g=a.url&&{url:c!==a.url.pathname+a.url.search,params:Object.keys(w).filter(L=>a.params[L]!==w[L]),session:H!==a.session_id};let $=[],S=Qe,k=!1,E=200,m=null;b.forEach(L=>L());e:for(let L=0;L<b.length;L+=1){let N;try{if(!b[L])continue;const x=await b[L](),D=a.branch[L];if(!D||x!==D.module||g.url&&D.uses.url||g.params.some(Y=>D.uses.params.has(Y))||g.session&&D.uses.session||Array.from(D.uses.dependencies).some(Y=>o.some(fe=>fe(Y)))||k&&D.uses.stuff){let Y={};const fe=v&&L===b.length-1;if(fe){const ne=await fetch(`${p.pathname}${p.pathname.endsWith("/")?"":"/"}__data.json${p.search}`,{headers:{"x-sveltekit-load":"true"}});if(ne.ok){const Te=ne.headers.get("x-sveltekit-location");if(Te)return{redirect:Te,props:{},state:a};Y=ne.status===204?{}:await ne.json()}else E=ne.status,m=new Error("Failed to load data")}if(m||(N=await Q({module:x,url:p,params:w,props:Y,stuff:S,routeId:u.id})),N&&(fe&&(N.uses.url=!0),N.loaded)){if(N.loaded.error&&(E=N.loaded.status,m=N.loaded.error),N.loaded.redirect)return{redirect:N.loaded.redirect,props:{},state:a};N.loaded.stuff&&(k=!0)}}else N=D}catch(x){E=500,m=Me(x)}if(m){for(;L--;)if(_[L]){let x,D,le=L;for(;!(D=$[le]);)le-=1;try{if(x=await Q({status:E,error:m,module:await _[L](),url:p,params:w,stuff:D.stuff,routeId:u.id}),(A=x==null?void 0:x.loaded)!=null&&A.error)continue;(U=x==null?void 0:x.loaded)!=null&&U.stuff&&(S=P(P({},S),x.loaded.stuff)),$=$.slice(0,le+1).concat(x);break e}catch{continue}}return await ee({status:E,error:m,url:p,routeId:u.id})}else(O=N==null?void 0:N.loaded)!=null&&O.stuff&&(S=P(P({},S),N.loaded.stuff)),$.push(N)}return await ge({url:p,params:w,stuff:S,branch:$,status:E,error:m,routeId:u.id})}async function ee({status:c,error:p,url:w,routeId:u}){var v,g;const h={},b=await Q({module:await qt,url:w,params:h,stuff:{},routeId:u}),_=await Q({status:c,error:p,module:await zt,url:w,params:h,stuff:b&&b.loaded&&b.loaded.stuff||{},routeId:u});return await ge({url:w,params:h,stuff:P(P({},(v=b==null?void 0:b.loaded)==null?void 0:v.stuff),(g=_==null?void 0:_.loaded)==null?void 0:g.stuff),branch:[b,_],status:c,error:p,routeId:u})}function je(c){if(c.origin!==location.origin||!c.pathname.startsWith(t))return;const p=decodeURI(c.pathname.slice(t.length)||"/");for(const w of $e){const u=w.exec(p);if(u)return{id:c.pathname+c.search,route:w,params:u,url:c}}}async function we({url:c,scroll:p,keepfocus:w,redirect_chain:u,details:h,accepted:b,blocked:_}){const v=a.url;let g=!1;const $={from:v,to:c,cancel:()=>g=!0};if(i.before_navigate.forEach(m=>m($)),g){_();return}const S=xt(c.pathname,r),k=new URL(c.origin+S+c.search+c.hash);if(ke(T),b(),d&&f.navigating.set({from:a.url,to:k}),await me(k,u,!1,{scroll:p,keepfocus:w,details:h})){const m={from:v,to:k};i.after_navigate.forEach(A=>A(m)),f.navigating.set(null)}}function te(c){return location.href=c.href,new Promise(()=>{})}return{after_navigate:c=>{Ee(()=>(i.after_navigate.push(c),()=>{const p=i.after_navigate.indexOf(c);i.after_navigate.splice(p,1)}))},before_navigate:c=>{Ee(()=>(i.before_navigate.push(c),()=>{const p=i.before_navigate.indexOf(c);i.before_navigate.splice(p,1)}))},disable_scroll_handling:()=>{(y||!d)&&(R=!1)},goto:(c,p={})=>Oe(c,p,[]),invalidate:c=>{if(typeof c=="function")o.push(c);else{const{href:p}=new URL(c,location.href);o.push(w=>w===p)}return G||(G=Promise.resolve().then(async()=>{await me(new URL(location.href),[],!0),G=null})),G},prefetch:async c=>{const p=new URL(c,Ge(document));await xe(p)},prefetch_routes:async c=>{const w=(c?$e.filter(u=>c.some(h=>u.exec(h))):$e).map(u=>Promise.all(u.a.map(h=>h())));await Promise.all(w)},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",u=>{let h=!1;const b={from:a.url,to:null,cancel:()=>h=!0};i.before_navigate.forEach(_=>_(b)),h?(u.preventDefault(),u.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){ke(T);try{sessionStorage[nt]=JSON.stringify(re)}catch{}}});const c=u=>{const h=Xe(u);h&&h.href&&h.hasAttribute("sveltekit:prefetch")&&xe(Ze(h))};let p;const w=u=>{clearTimeout(p),p=setTimeout(()=>{var h;(h=u.target)==null||h.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",c),addEventListener("mousemove",w),addEventListener("sveltekit:trigger_prefetch",c),addEventListener("click",u=>{if(!X||u.button||u.which!==1||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey||u.defaultPrevented)return;const h=Xe(u);if(!h||!h.href)return;const b=h instanceof SVGAElement,_=Ze(h);if(!b&&_.origin==="null")return;const v=(h.getAttribute("rel")||"").split(/\s+/);if(h.hasAttribute("download")||v.includes("external")||h.hasAttribute("sveltekit:reload")||(b?h.target.baseVal:h.target))return;const[g,$]=_.href.split("#");if($!==void 0&&g===location.href.split("#")[0]){he=!0,ke(T),f.page.set(se(P({},_e),{url:_})),f.page.notify();return}we({url:_,scroll:h.hasAttribute("sveltekit:noscroll")?Re():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:_.href===location.href},accepted:()=>u.preventDefault(),blocked:()=>u.preventDefault()})}),addEventListener("popstate",u=>{if(u.state&&X){if(u.state[W]===T)return;we({url:new URL(location.href),scroll:re[u.state[W]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{T=u.state[W]},blocked:()=>{const h=T-u.state[W];history.go(h)}})}}),addEventListener("hashchange",()=>{he&&(he=!1,history.replaceState(se(P({},history.state),{[W]:++T}),"",location.href))})},_hydrate:async({status:c,error:p,nodes:w,params:u,routeId:h})=>{const b=new URL(location.href),_=[];let v={},g,$;try{for(let S=0;S<w.length;S+=1){const k=S===w.length-1;let E;if(k){const A=document.querySelector('script[sveltekit\\:data-type="props"]');A&&(E=JSON.parse(A.textContent))}const m=await Q({module:await w[S],url:b,params:u,stuff:v,status:k?c:void 0,error:k?p:void 0,props:E,routeId:h});if(E&&(m.uses.dependencies.add(b.href),m.uses.url=!0),_.push(m),m&&m.loaded)if(m.loaded.error){if(p)throw m.loaded.error;$={status:m.loaded.status,error:m.loaded.error,url:b,routeId:h}}else m.loaded.stuff&&(v=P(P({},v),m.loaded.stuff))}g=$?await ee($):await ge({url:b,params:u,stuff:v,branch:_,status:c,error:p,routeId:h})}catch(S){if(p)throw S;g=await ee({status:500,error:Me(S),url:b,routeId:h})}g.redirect&&await te(new URL(g.redirect,location.href)),Pe(g)}}}async function Wt({paths:n,target:e,session:t,route:r,spa:l,trailing_slash:o,hydrate:f}){const s=Jt({target:e,session:t,base:n.base,trailing_slash:o});wt(n),f&&await s._hydrate(f),r&&(l&&s.goto(location.href,{replaceState:!0}),s._start_router()),dispatchEvent(new CustomEvent("sveltekit:start"))}export{Wt as start};