radames commited on
Commit
294c4d8
1 Parent(s): f866cfd
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitignore +4 -1
  2. Makefile +4 -2
  3. app.py +137 -8
  4. data.json +87 -1
  5. frontend/package.json +2 -1
  6. frontend/src/lib/Palette.svelte +1 -1
  7. frontend/src/routes/+page.svelte +55 -23
  8. frontend/static/data.json +0 -1
  9. frontend/static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  10. frontend/static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  11. frontend/static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  12. frontend/static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg +0 -0
  13. frontend/static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg +0 -0
  14. frontend/static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg +0 -0
  15. frontend/static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg +0 -0
  16. frontend/static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg +0 -0
  17. frontend/static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg +0 -0
  18. frontend/static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg +0 -0
  19. frontend/static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg +0 -0
  20. frontend/static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg +0 -0
  21. frontend/static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg +0 -0
  22. frontend/static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg +0 -0
  23. frontend/static/images/00046-2327336163-a painting of a Ferrari by Claude Monet.jpg +0 -0
  24. frontend/static/images/00048-3943684506-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg +0 -0
  25. frontend/static/images/00049-3943684507-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg +0 -0
  26. frontend/static/images/00050-3943684508-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg +0 -0
  27. requirements.txt +3 -1
  28. static/_app/immutable/assets/_layout-d2c2d65f.css +0 -1
  29. static/_app/immutable/chunks/1-69bee870.js +0 -1
  30. static/_app/immutable/chunks/2-0bf15b71.js +0 -1
  31. static/_app/immutable/chunks/singletons-f0cf8c8d.js +0 -1
  32. static/_app/immutable/components/error.svelte-a1debfe3.js +0 -1
  33. static/_app/immutable/components/pages/_page.svelte-b51c2c7b.js +0 -9
  34. static/_app/immutable/start-da0c54a9.js +0 -1
  35. static/_app/version.json +1 -1
  36. static/data.json +0 -1
  37. static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  38. static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  39. static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg +0 -0
  40. static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg +0 -0
  41. static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg +0 -0
  42. static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg +0 -0
  43. static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg +0 -0
  44. static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg +0 -0
  45. static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg +0 -0
  46. static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg +0 -0
  47. static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg +0 -0
  48. static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg +0 -0
  49. static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg +0 -0
  50. static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg +0 -0
.gitignore CHANGED
@@ -13,4 +13,7 @@ package-lock.json
13
  yarn.lock
14
  venv/
15
  __pycache__/
16
- flagged/
 
 
 
 
13
  yarn.lock
14
  venv/
15
  __pycache__/
16
+ flagged/
17
+ data
18
+ data.db
19
+ data.json
Makefile CHANGED
@@ -1,7 +1,9 @@
1
  build-client:
2
- cd frontend && npm install && npm run build && rm -rf ../static && cp -r build/ ../static/
3
  build-dev:
4
- cd frontend && npm install && npm run build && rm -rf ../static && cp -r build/ ../static/
 
 
5
  run-dev:
6
  FLASK_ENV=development python app.py
7
  run-prod:
 
1
  build-client:
2
+ cd frontend && npm install && PUBLIC_DEV_MODE=0 npm run build && rm -rf ../static && cp -r build/ ../static/
3
  build-dev:
4
+ cd frontend && npm install && PUBLIC_DEV_MODE=1 npm run build-dev && rm -rf ../static && cp -r build/ ../static/
5
+ run-front-dev:
6
+ cd frontend && npm install && PUBLIC_DEV_MODE=1 npm run dev
7
  run-dev:
8
  FLASK_ENV=development python app.py
9
  run-prod:
app.py CHANGED
@@ -1,26 +1,155 @@
1
  import os
2
- from datasets import load_dataset
3
  from pathlib import Path
4
  import json
5
- from datasets import load_dataset
6
- from flask import Flask, request, jsonify
7
  from flask_cors import CORS
8
  from PIL import Image
9
  from huggingface_hub import Repository
 
 
 
 
10
 
 
 
11
  app = Flask(__name__, static_url_path='/static')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  CORS(app)
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
- @ app.route('/')
 
17
  def index():
18
  return app.send_static_file('index.html')
19
 
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  if __name__ == '__main__':
22
- mode = os.environ.get('FLASK_ENV', 'production')
23
- print(mode)
24
- dev = mode == 'development'
25
  app.run(host='0.0.0.0', port=int(
26
- os.environ.get('PORT', 7860)), debug=True, use_reloader=dev)
 
1
  import os
 
2
  from pathlib import Path
3
  import json
4
+ from flask import Flask, request, jsonify, g
5
+ from flask_expects_json import expects_json
6
  from flask_cors import CORS
7
  from PIL import Image
8
  from huggingface_hub import Repository
9
+ import shutil
10
+ import sqlite3
11
+ import subprocess
12
+ from jsonschema import ValidationError
13
 
14
+ MODE = os.environ.get('FLASK_ENV', 'production')
15
+ IS_DEV = MODE == 'development'
16
  app = Flask(__name__, static_url_path='/static')
17
+ app.config['JSONIFY_PRETTYPRINT_REGULAR'] = False
18
+
19
+ schema = {
20
+ "type": "object",
21
+ "properties": {
22
+ "prompt": {"type": "string"},
23
+ "images": {
24
+ "type": "array",
25
+ "items": {
26
+ "type": "object",
27
+ "minProperties": 2,
28
+ "maxProperties": 2,
29
+ "properties": {
30
+ "colors": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ },
35
+ "maxItems": 5,
36
+ "minItems": 5
37
+ },
38
+ "imgURL": {"type": "string"}}
39
+ }
40
+ }
41
+ },
42
+ "minProperties": 2,
43
+ "maxProperties": 2
44
+ }
45
 
46
  CORS(app)
47
 
48
+ DB_FILE = Path("./data.db")
49
+ TOKEN = os.environ.get('HUGGING_FACE_HUB_TOKEN')
50
+ print(TOKEN)
51
+ repo = Repository(
52
+ local_dir="data",
53
+ repo_type="dataset",
54
+ clone_from="huggingface-projects/color-palettes-sd",
55
+ use_auth_token=TOKEN
56
+ )
57
+ repo.git_pull()
58
+ # copy db on db to local path
59
+ shutil.copyfile("./data/data.db", DB_FILE)
60
+
61
+ db = sqlite3.connect(DB_FILE)
62
+ try:
63
+ data = db.execute("SELECT * FROM palettes").fetchall()
64
+ if IS_DEV:
65
+ print(f"Loaded {len(data)} palettes from local db")
66
+ db.close()
67
+ except sqlite3.OperationalError:
68
+ db.execute(
69
+ 'CREATE TABLE palettes (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, data json, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL)')
70
+ db.commit()
71
+
72
+
73
+ def get_db():
74
+ db = getattr(g, '_database', None)
75
+ if db is None:
76
+ db = g._database = sqlite3.connect(DB_FILE)
77
+ db.row_factory = sqlite3.Row
78
+ return db
79
+
80
+
81
+ @app.teardown_appcontext
82
+ def close_connection(exception):
83
+ db = getattr(g, '_database', None)
84
+ if db is not None:
85
+ db.close()
86
+
87
+
88
+ def update_repository():
89
+ repo.git_pull()
90
+ # copy db on db to local path
91
+ shutil.copyfile(DB_FILE, "./data/data.db")
92
+
93
+ with sqlite3.connect("./data/data.db") as db:
94
+ db.row_factory = sqlite3.Row
95
+ palettes = db.execute("SELECT * FROM palettes").fetchall()
96
+ data = [{'id': row['id'], 'data': json.loads(
97
+ row['data']), 'created_at': row['created_at']} for row in palettes]
98
+
99
+ with open('./data/data.json', 'w') as f:
100
+ json.dump(data, f, separators=(',', ':'))
101
+
102
+ print("Updating repository")
103
+ subprocess.Popen(
104
+ "git add . && git commit --amend -m 'update' && git push --force", cwd="./data", shell=True)
105
+ repo.push_to_hub(blocking=False)
106
 
107
+
108
+ @app.route('/')
109
  def index():
110
  return app.send_static_file('index.html')
111
 
112
 
113
+ @app.route('/force_push')
114
+ def push():
115
+ if (request.headers['token'] == TOKEN):
116
+ update_repository()
117
+ return jsonify({'success': True})
118
+ else:
119
+ return "Error", 401
120
+
121
+
122
+ def getAllData():
123
+ palettes = get_db().execute("SELECT * FROM palettes").fetchall()
124
+ data = [{'id': row['id'], 'data': json.loads(
125
+ row['data']), 'created_at': row['created_at']} for row in palettes]
126
+ return data
127
+
128
+
129
+ @app.route('/data')
130
+ def getdata():
131
+ return jsonify(getAllData())
132
+
133
+
134
+ @app.route('/new_palette', methods=['POST'])
135
+ @expects_json(schema)
136
+ def create():
137
+ data = g.data
138
+ db = get_db()
139
+ cursor = db.cursor()
140
+ cursor.execute("INSERT INTO palettes(data) VALUES (?)", [json.dumps(data)])
141
+ db.commit()
142
+ return jsonify(getAllData())
143
+
144
+
145
+ @app.errorhandler(400)
146
+ def bad_request(error):
147
+ if isinstance(error.description, ValidationError):
148
+ original_error = error.description
149
+ return jsonify({'error': original_error.message}), 400
150
+ return error
151
+
152
+
153
  if __name__ == '__main__':
 
 
 
154
  app.run(host='0.0.0.0', port=int(
155
+ os.environ.get('PORT', 7860)), debug=True, use_reloader=IS_DEV)
data.json CHANGED
@@ -1 +1,87 @@
1
- {"a painting of a Ferrari by Claude Monet": [{"colors": ["#885f45", "#181b26", "#a5966f", "#505f68"], "prompt": "a painting of a Ferrari by Claude Monet"}, {"colors": ["#ca9566", "#14161f", "#845340", "#4c556b"], "prompt": "a painting of a Ferrari by Claude Monet"}, {"colors": ["#896554", "#435d70", "#233c33", "#556a5e"], "prompt": "a painting of a Ferrari by Claude Monet"}], "a photo of a beautiful sunset in San Francisco": [{"colors": ["#ac5913", "#ed8703", "#290f03", "#f68f0e"], "prompt": "a photo of a beautiful sunset in San Francisco"}, {"colors": ["#78464d", "#2a0d08", "#3a1d24", "#e0a365"], "prompt": "a photo of a beautiful sunset in San Francisco"}, {"colors": ["#848ab9", "#6074b9", "#e39459", "#734c5c"], "prompt": "a photo of a beautiful sunset in San Francisco"}], "a photo of a elmo drinking at starbucks": [{"colors": ["#530205", "#231812", "#a4050e", "#895531"], "prompt": "a photo of a elmo drinking at starbucks"}, {"colors": ["#45010c", "#ab0211", "#c6ab77", "#0b0b13"], "prompt": "a photo of a elmo drinking at starbucks"}, {"colors": ["#31180e", "#ce010c", "#855139", "#240e11"], "prompt": "a photo of a elmo drinking at starbucks"}], "a photo of a polar bear in the Arctic": [{"colors": ["#a0d2f8", "#7ca9df", "#92c1f4", "#577db6"], "prompt": "a photo of a polar bear in the Arctic"}, {"colors": ["#8a9bb5", "#66758d", "#707c95", "#b8cde4"], "prompt": "a photo of a polar bear in the Arctic"}, {"colors": ["#7ca0da", "#527dc9", "#082e84", "#546d84"], "prompt": "a photo of a polar bear in the Arctic"}], "a paint of a polar bear in the Arctic painted by Vincent van Gogh": [{"colors": ["#eae8a7", "#dada95", "#deefe9", "#2e54b6"], "prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh"}, {"colors": ["#91a7b4", "#163488", "#335998", "#c9d2cb"], "prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh"}, {"colors": ["#61afdf", "#f2f1ca", "#a9e3f1", "#89d4ec"], "prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh"}], "a photo of a polar bear in the zoo": [{"colors": ["#4b6743", "#201f15", "#20321d", "#5c6b39"], "prompt": "a photo of a polar bear in the zoo"}, {"colors": ["#1f331e", "#282c14", "#686356", "#e5eff4"], "prompt": "a photo of a polar bear in the zoo"}, {"colors": ["#6f5f3a", "#dfe6ef", "#362811", "#ecefee"], "prompt": "a photo of a polar bear in the zoo"}]}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "prompt": "a painting of a Ferrari by Claude Monet",
4
+ "images": [
5
+ {
6
+ "colors": ["#2f3c6e", "#deacdf", "#e2e23b", "#b923bf", "#ed68f7"],
7
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947819-6064e095abd8d3692e3e2ed6.jpeg"
8
+ },
9
+ {
10
+ "colors": ["#f9b9a0", "#b30814", "#36102d", "#e240ab", "#680c26"],
11
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947820-6064e095abd8d3692e3e2ed6.jpeg"
12
+ },
13
+ {
14
+ "colors": ["#13bbab", "#f7e2ba", "#cb3b37", "#062726", "#055637"],
15
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663709705120-6064e095abd8d3692e3e2ed6.jpeg"
16
+ }
17
+ ]
18
+ },
19
+ {
20
+ "prompt": "a photo of a beautiful sunset in San Francisco",
21
+ "images": [
22
+ {
23
+ "colors": ["#e2dcf8", "#d47a0d", "#50244c", "#b63547", "#f270f2"],
24
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663709952894-6064e095abd8d3692e3e2ed6.jpeg"
25
+ },
26
+ {
27
+ "colors": ["#177405", "#d6f12d", "#7c1a04", "#b9a5a4", "#6ae61b"],
28
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947815-6064e095abd8d3692e3e2ed6.jpeg"
29
+ },
30
+ {
31
+ "colors": ["#766dae", "#4e2806", "#e8b878", "#1c317e", "#46c21e"],
32
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947558-6064e095abd8d3692e3e2ed6.jpeg"
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ "prompt": "a photo of a elmo drinking at starbucks",
38
+ "images": [
39
+ {
40
+ "colors": ["#179209", "#eee84b", "#571208", "#b91806", "#537c91"],
41
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947810-6064e095abd8d3692e3e2ed6.jpeg"
42
+ },
43
+ {
44
+ "colors": ["#d62fec", "#281185", "#f2bbde", "#db2f23", "#8505e1"],
45
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663709902535-6064e095abd8d3692e3e2ed6.jpeg"
46
+ },
47
+ {
48
+ "colors": ["#19550f", "#a80e05", "#f5ce1f", "#f7d9cf", "#859721"],
49
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947641-6064e095abd8d3692e3e2ed6.jpeg"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh",
55
+ "images": [
56
+ {
57
+ "colors": ["#3de9f9", "#172eb8", "#dc44d6", "#1bd40d", "#e7d9e8"],
58
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947839-6064e095abd8d3692e3e2ed6.jpeg"
59
+ },
60
+ {
61
+ "colors": ["#f984fb", "#35208b", "#a9040f", "#d209ef", "#eed5f9"],
62
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663709638276-6064e095abd8d3692e3e2ed6.jpeg"
63
+ },
64
+ {
65
+ "colors": ["#143153", "#ebf521", "#7c3117", "#a8c9f2", "#66a70a"],
66
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947805-6064e095abd8d3692e3e2ed6.jpeg"
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "prompt": "a photo of a polar bear in the zoo",
72
+ "images": [
73
+ {
74
+ "colors": ["#cd1ce0", "#f397ec", "#980d30", "#3e231a", "#713789"],
75
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947833-6064e095abd8d3692e3e2ed6.jpeg"
76
+ },
77
+ {
78
+ "colors": ["#1f15dc", "#f6c3fb", "#92edfa", "#1d2824", "#de30f2"],
79
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947818-6064e095abd8d3692e3e2ed6.jpeg"
80
+ },
81
+ {
82
+ "colors": ["#0512dc", "#ceebf5", "#0c2726", "#55acb6", "#8c61fc"],
83
+ "imgURL": "https://s3.amazonaws.com/moonup/production/uploads/1663708947811-6064e095abd8d3692e3e2ed6.jpeg"
84
+ }
85
+ ]
86
+ }
87
+ ]
frontend/package.json CHANGED
@@ -3,7 +3,8 @@
3
  "version": "0.0.1",
4
  "scripts": {
5
  "dev": "NODE_ENV=development vite --config vite.config.dev.ts dev",
6
- "build": "NODE_ENV=production vite build",
 
7
  "preview": "vite preview",
8
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
9
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
 
3
  "version": "0.0.1",
4
  "scripts": {
5
  "dev": "NODE_ENV=development vite --config vite.config.dev.ts dev",
6
+ "build-dev": "vite build --mode development",
7
+ "build": "vite build",
8
  "preview": "vite preview",
9
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
frontend/src/lib/Palette.svelte CHANGED
@@ -39,7 +39,7 @@
39
  </div>
40
  <div class="row-start-2 col-span-6 md:col-span-2 flex justify-center md:justify-end pb-3">
41
  <div class="relative">
42
- <img class="relative max-w-[100px] w-full" src={imageSrc} alt={prompt} />
43
  <div class="absolute flex justify-around w-full">
44
  {#each promptData.images as image, i}
45
  <button
 
39
  </div>
40
  <div class="row-start-2 col-span-6 md:col-span-2 flex justify-center md:justify-end pb-3">
41
  <div class="relative">
42
+ <img loading="lazy" class="relative max-w-[100px] w-full" src={imageSrc} alt={prompt} />
43
  <div class="absolute flex justify-around w-full">
44
  {#each promptData.images as image, i}
45
  <button
frontend/src/routes/+page.svelte CHANGED
@@ -2,28 +2,53 @@
2
  import { onMount } from 'svelte';
3
 
4
  import type { ColorsPrompt, ColorsImage } from '$lib/types';
5
- import { dev } from '$app/environment';
6
  import { randomSeed, extractPalette, uploadImage } from '$lib/utils';
7
  import { isLoading, loadingState } from '$lib/store';
8
- import { PUBLIC_WS_ENDPOINT } from '$env/static/public';
9
-
10
  import Pallette from '$lib/Palette.svelte';
11
- const apiUrl = dev
12
- ? 'http://localhost:7860/static/'
13
- : '/embed/huggingface-projects/color-palette-generator-sd/static/';
14
 
15
  let promptsData: ColorsPrompt[];
16
  let prompt: string;
17
 
18
- onMount(async () => {
19
- fetch(apiUrl + 'data.json')
20
  .then((d) => d.json())
21
- .then((data) => (promptsData = data));
 
 
22
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
- let cc = 0;
 
 
 
 
25
 
26
- export async function generatePalette(_prompt: string) {
27
  if (!_prompt || $isLoading == true) return;
28
  $loadingState = 'Pending';
29
  $isLoading = true;
@@ -73,21 +98,15 @@
73
  case 'process_completed':
74
  $loadingState = data.success ? 'Complete' : 'Error';
75
  const images = await extractColorsImages(data.output.data[0], _prompt);
76
- promptsData = [
77
- {
78
- prompt: _prompt,
79
- images
80
- }
81
- ].concat(promptsData);
82
- window.scrollTo({
83
- top: 0,
84
- behavior: 'smooth'
85
  });
86
  websocket.close();
87
  $isLoading = false;
88
  return;
89
  case 'process_starts':
90
- $loadingState = 'Process Starts';
91
  break;
92
  }
93
  } catch (e) {
@@ -155,12 +174,25 @@
155
  </button>
156
  </form>
157
  {#if $loadingState}
158
- <h3 class="text-xs font-bold ml-3">{$loadingState}</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  {/if}
160
  </div>
161
 
162
  <div class="flex items-center gap-4 my-10">
163
- <div class="font-bold text-sm">156 submitted palettes</div>
164
  <div class="grow border-b border-gray-200" />
165
  </div>
166
 
 
2
  import { onMount } from 'svelte';
3
 
4
  import type { ColorsPrompt, ColorsImage } from '$lib/types';
 
5
  import { randomSeed, extractPalette, uploadImage } from '$lib/utils';
6
  import { isLoading, loadingState } from '$lib/store';
7
+ import { PUBLIC_WS_ENDPOINT, PUBLIC_DEV_MODE } from '$env/static/public';
8
+ console.log(PUBLIC_DEV_MODE);
9
  import Pallette from '$lib/Palette.svelte';
10
+ const apiUrl = PUBLIC_DEV_MODE
11
+ ? 'http://localhost:7860'
12
+ : '/embed/huggingface-projects/color-palette-generator-sd';
13
 
14
  let promptsData: ColorsPrompt[];
15
  let prompt: string;
16
 
17
+ onMount(() => {
18
+ fetch(apiUrl + '/data')
19
  .then((d) => d.json())
20
+ .then((palettes) => {
21
+ promptsData = sortData(palettes);
22
+ });
23
  });
24
+ $: promptsTotal = promptsData?.length || 0;
25
+
26
+ function sortData(_promptData: ColorsPrompt[]) {
27
+ return _promptData.sort((a, b) => b.id - a.id).map((p) => p.data);
28
+ }
29
+ async function savePaletteDB(colorPrompt: ColorsPrompt) {
30
+ try {
31
+ const newPalettes: ColorsPrompt[] = await fetch(apiUrl + '/new_palette', {
32
+ method: 'POST',
33
+ headers: {
34
+ 'Content-Type': 'application/json'
35
+ },
36
+ body: JSON.stringify({
37
+ prompt: colorPrompt.prompt,
38
+ images: colorPrompt.images.map((i) => ({
39
+ imgURL: i.imgURL,
40
+ colors: i.colors.map((c) => c.formatHex())
41
+ }))
42
+ })
43
+ }).then((d) => d.json());
44
 
45
+ promptsData = sortData(newPalettes);
46
+ } catch (e) {
47
+ console.error(e);
48
+ }
49
+ }
50
 
51
+ async function generatePalette(_prompt: string) {
52
  if (!_prompt || $isLoading == true) return;
53
  $loadingState = 'Pending';
54
  $isLoading = true;
 
98
  case 'process_completed':
99
  $loadingState = data.success ? 'Complete' : 'Error';
100
  const images = await extractColorsImages(data.output.data[0], _prompt);
101
+ savePaletteDB({
102
+ prompt: _prompt,
103
+ images
 
 
 
 
 
 
104
  });
105
  websocket.close();
106
  $isLoading = false;
107
  return;
108
  case 'process_starts':
109
+ $loadingState = 'Processing';
110
  break;
111
  }
112
  } catch (e) {
 
174
  </button>
175
  </form>
176
  {#if $loadingState}
177
+ <h3 class="text-xs font-bold ml-3 inline-block">{$loadingState}</h3>
178
+ {#if $isLoading}
179
+ <svg
180
+ xmlns="http://www.w3.org/2000/svg"
181
+ fill="none"
182
+ viewBox="0 0 24 24"
183
+ class="animate-spin max-w-[1rem] inline-block"
184
+ >
185
+ <path
186
+ fill="currentColor"
187
+ d="M20 12a8 8 0 0 1-8 8v4a12 12 0 0 0 12-12h-4Zm-2-5.3a8 8 0 0 1 2 5.3h4c0-3-1.1-5.8-3-8l-3 2.7Z"
188
+ />
189
+ </svg>
190
+ {/if}
191
  {/if}
192
  </div>
193
 
194
  <div class="flex items-center gap-4 my-10">
195
+ <div class="font-bold text-sm">{promptsTotal} submitted palettes</div>
196
  <div class="grow border-b border-gray-200" />
197
  </div>
198
 
frontend/static/data.json DELETED
@@ -1 +0,0 @@
1
- [{"prompt": "a painting of a Ferrari by Claude Monet", "images": [{"colors": ["#2f3c6e", "#deacdf", "#e2e23b", "#b923bf", "#ed68f7"], "imgURL": "static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg"}, {"colors": ["#f9b9a0", "#b30814", "#36102d", "#e240ab", "#680c26"], "imgURL": "static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg"}, {"colors": ["#13bbab", "#f7e2ba", "#cb3b37", "#062726", "#055637"], "imgURL": "static/images/00046-2327336163-a painting of a Ferrari by Claude Monet.jpg"}]}, {"prompt": "a photo of a beautiful sunset in San Francisco", "images": [{"colors": ["#e2dcf8", "#d47a0d", "#50244c", "#b63547", "#f270f2"], "imgURL": "static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg"}, {"colors": ["#177405", "#d6f12d", "#7c1a04", "#b9a5a4", "#6ae61b"], "imgURL": "static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg"}, {"colors": ["#766dae", "#4e2806", "#e8b878", "#1c317e", "#46c21e"], "imgURL": "static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg"}]}, {"prompt": "a photo of a elmo drinking at starbucks", "images": [{"colors": ["#179209", "#eee84b", "#571208", "#b91806", "#537c91"], "imgURL": "static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg"}, {"colors": ["#d62fec", "#281185", "#f2bbde", "#db2f23", "#8505e1"], "imgURL": "static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg"}, {"colors": ["#19550f", "#a80e05", "#f5ce1f", "#f7d9cf", "#859721"], "imgURL": "static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg"}]}, {"prompt": "a photo of a polar bear in the Arctic", "images": [{"colors": ["#4cdde5", "#e755ce", "#2d2a64", "#26c81d", "#d8edc5"], "imgURL": "static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg"}, {"colors": ["#66bdda", "#071ed8", "#04111b", "#1f3f78", "#7c839b"], "imgURL": "static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg"}, {"colors": ["#c4efd0", "#194286", "#6591b7", "#7e9f52", "#576a3d"], "imgURL": "static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg"}]}, {"prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh", "images": [{"colors": ["#3de9f9", "#172eb8", "#dc44d6", "#1bd40d", "#e7d9e8"], "imgURL": "static/images/00049-3943684507-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}, {"colors": ["#f984fb", "#35208b", "#a9040f", "#d209ef", "#eed5f9"], "imgURL": "static/images/00050-3943684508-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}, {"colors": ["#143153", "#ebf521", "#7c3117", "#a8c9f2", "#66a70a"], "imgURL": "static/images/00048-3943684506-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}]}, {"prompt": "a photo of a polar bear in the zoo", "images": [{"colors": ["#cd1ce0", "#f397ec", "#980d30", "#3e231a", "#713789"], "imgURL": "static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg"}, {"colors": ["#1f15dc", "#f6c3fb", "#92edfa", "#1d2824", "#de30f2"], "imgURL": "static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg"}, {"colors": ["#0512dc", "#ceebf5", "#0c2726", "#55acb6", "#8c61fc"], "imgURL": "static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg"}]}]
 
 
frontend/static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (53.2 kB)
 
frontend/static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (77.2 kB)
 
frontend/static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (90.8 kB)
 
frontend/static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (56.9 kB)
 
frontend/static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (67.5 kB)
 
frontend/static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (55.1 kB)
 
frontend/static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg DELETED
Binary file (92.2 kB)
 
frontend/static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg DELETED
Binary file (120 kB)
 
frontend/static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg DELETED
Binary file (89.5 kB)
 
frontend/static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (70.5 kB)
 
frontend/static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (71.7 kB)
 
frontend/static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (61 kB)
 
frontend/static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg DELETED
Binary file (156 kB)
 
frontend/static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg DELETED
Binary file (135 kB)
 
frontend/static/images/00046-2327336163-a painting of a Ferrari by Claude Monet.jpg DELETED
Binary file (112 kB)
 
frontend/static/images/00048-3943684506-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg DELETED
Binary file (112 kB)
 
frontend/static/images/00049-3943684507-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg DELETED
Binary file (138 kB)
 
frontend/static/images/00050-3943684508-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg DELETED
Binary file (132 kB)
 
requirements.txt CHANGED
@@ -1,6 +1,8 @@
1
  datasets
2
  flask
3
  flask_cors
 
4
  requests
5
  Pillow
6
- flask
 
 
1
  datasets
2
  flask
3
  flask_cors
4
+ flask_expects_json
5
  requests
6
  Pillow
7
+ gradio
8
+ Flask-APScheduler
static/_app/immutable/assets/_layout-d2c2d65f.css DELETED
@@ -1 +0,0 @@
1
- *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0px}.top-0{top:0px}.z-0{z-index:0}.z-50{z-index:50}.col-span-6{grid-column:span 6 / span 6}.col-span-4{grid-column:span 4 / span 4}.col-span-2{grid-column:span 2 / span 2}.row-start-1{grid-row-start:1}.row-start-3{grid-row-start:3}.row-start-2{grid-row-start:2}.row-start-4{grid-row-start:4}.m-1{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.flex{display:flex}.grid{display:grid}.aspect-square{aspect-ratio:1 / 1}.h-3{height:.75rem}.w-full{width:100%}.w-3{width:.75rem}.min-w-\[9ch\]{min-width:9ch}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.max-w-\[100px\]{max-width:100px}.max-w-screen-md{max-width:768px}.grow{flex-grow:1}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{-webkit-animation:ping .5s cubic-bezier(0,0,.2,1);animation:ping .5s cubic-bezier(0,0,.2,1)}.cursor-pointer{cursor:pointer}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-3{gap:.75rem}.gap-4{gap:1rem}.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pl-1{padding-left:.25rem}.pb-3{padding-bottom:.75rem}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-normal{line-height:1.5}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.placeholder\:text-white::-moz-placeholder{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.placeholder\:text-white::placeholder{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.placeholder\:text-opacity-40::-moz-placeholder{--tw-text-opacity: .4}.placeholder\:text-opacity-40::placeholder{--tw-text-opacity: .4}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.focus\:border-gray-400:focus{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:opacity-50:disabled{opacity:.5}@media (prefers-color-scheme: dark){.dark\:border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.dark\:bg-\[rgb\(11\,15\,25\)\]{--tw-bg-opacity: 1;background-color:rgb(11 15 25 / var(--tw-bg-opacity))}.dark\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.dark\:bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.dark\:bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.dark\:placeholder\:text-black::-moz-placeholder{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.dark\:placeholder\:text-black::placeholder{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}}@media (min-width: 768px){.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-start-5{grid-column-start:5}.md\:row-start-2{grid-row-start:2}.md\:justify-end{justify-content:flex-end}}
 
 
static/_app/immutable/chunks/1-69bee870.js DELETED
@@ -1 +0,0 @@
1
- import{default as t}from"../components/error.svelte-a1debfe3.js";export{t as component};
 
 
static/_app/immutable/chunks/2-0bf15b71.js DELETED
@@ -1 +0,0 @@
1
- import{default as t}from"../components/pages/_page.svelte-b51c2c7b.js";export{t as component};
 
 
static/_app/immutable/chunks/singletons-f0cf8c8d.js DELETED
@@ -1 +0,0 @@
1
- import{w as u}from"./index-f686559f.js";let f="",b="";function g(n){f=n.base,b=n.assets||f}function m(n){let e=n.baseURI;if(!e){const t=n.getElementsByTagName("base");e=t.length?t[0].href:n.URL}return e}function _(){return{x:pageXOffset,y:pageYOffset}}function k(n){let e,t=null,r=null,a=null;for(const s of n.composedPath())s instanceof Element&&(!e&&s.nodeName.toUpperCase()==="A"&&(e=s),t===null&&(t=l(s,"data-sveltekit-noscroll")),r===null&&(r=l(s,"data-sveltekit-prefetch")),a===null&&(a=l(s,"data-sveltekit-reload")));const o=e&&new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI);return{a:e,url:o,options:{noscroll:t,prefetch:r,reload:a}}}function l(n,e){const t=n.getAttribute(e);return t===null?t:t===""?!0:(t==="off",!1)}function d(n){const e=u(n);let t=!0;function r(){t=!0,e.update(s=>s)}function a(s){t=!1,e.set(s)}function o(s){let i;return e.subscribe(c=>{(i===void 0||t&&c!==i)&&s(i=c)})}return{notify:r,set:a,subscribe:o}}function p(){const{set:n,subscribe:e}=u(!1);let t;async function r(){clearTimeout(t);const a=await fetch(`${b}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(a.ok){const{version:o}=await a.json(),s=o!=="1663707660362";return s&&(n(!0),clearTimeout(t)),s}else throw new Error(`Version check failed: ${a.status}`)}return{subscribe:e,check:r}}function v(n){n.client}const w={url:d({}),page:d({}),navigating:u(null),updated:p()};export{_ as a,g as b,k as f,m as g,v as i,w as s};
 
 
static/_app/immutable/components/error.svelte-a1debfe3.js DELETED
@@ -1 +0,0 @@
1
- import{S as A,i as C,s as F,k as v,q as k,a as h,e as q,l as g,m as E,r as $,h as p,c as R,b as u,F as P,u as S,A as w,G}from"../chunks/index-cab3212e.js";import{s as H}from"../chunks/singletons-f0cf8c8d.js";const O=()=>{const t=H,s={page:{subscribe:t.page.subscribe},navigating:{subscribe:t.navigating.subscribe},updated:t.updated};return Object.defineProperties(s,{preloading:{get(){return console.error("stores.preloading is deprecated; use stores.navigating instead"),{subscribe:t.navigating.subscribe}},enumerable:!1},session:{get(){return B(),{}},enumerable:!1}}),s},z={subscribe(t){return O().page.subscribe(t)}};function B(){throw new Error("stores.session is no longer available. See https://github.com/sveltejs/kit/discussions/5883")}function N(t){let s,i=t[0].error.frame+"",o;return{c(){s=v("pre"),o=k(i)},l(r){s=g(r,"PRE",{});var a=E(s);o=$(a,i),a.forEach(p)},m(r,a){u(r,s,a),P(s,o)},p(r,a){a&1&&i!==(i=r[0].error.frame+"")&&S(o,i)},d(r){r&&p(s)}}}function y(t){let s,i=t[0].error.stack+"",o;return{c(){s=v("pre"),o=k(i)},l(r){s=g(r,"PRE",{});var a=E(s);o=$(a,i),a.forEach(p)},m(r,a){u(r,s,a),P(s,o)},p(r,a){a&1&&i!==(i=r[0].error.stack+"")&&S(o,i)},d(r){r&&p(s)}}}function D(t){let s,i=t[0].status+"",o,r,a,b=t[0].error.message+"",_,d,c,m,l=t[0].error.frame&&N(t),n=t[0].error.stack&&y(t);return{c(){s=v("h1"),o=k(i),r=h(),a=v("pre"),_=k(b),d=h(),l&&l.c(),c=h(),n&&n.c(),m=q()},l(e){s=g(e,"H1",{});var f=E(s);o=$(f,i),f.forEach(p),r=R(e),a=g(e,"PRE",{});var j=E(a);_=$(j,b),j.forEach(p),d=R(e),l&&l.l(e),c=R(e),n&&n.l(e),m=q()},m(e,f){u(e,s,f),P(s,o),u(e,r,f),u(e,a,f),P(a,_),u(e,d,f),l&&l.m(e,f),u(e,c,f),n&&n.m(e,f),u(e,m,f)},p(e,[f]){f&1&&i!==(i=e[0].status+"")&&S(o,i),f&1&&b!==(b=e[0].error.message+"")&&S(_,b),e[0].error.frame?l?l.p(e,f):(l=N(e),l.c(),l.m(c.parentNode,c)):l&&(l.d(1),l=null),e[0].error.stack?n?n.p(e,f):(n=y(e),n.c(),n.m(m.parentNode,m)):n&&(n.d(1),n=null)},i:w,o:w,d(e){e&&p(s),e&&p(r),e&&p(a),e&&p(d),l&&l.d(e),e&&p(c),n&&n.d(e),e&&p(m)}}}function I(t,s,i){let o;return G(t,z,r=>i(0,o=r)),[o]}class L extends A{constructor(s){super(),C(this,s,I,D,F,{})}}export{L as default};
 
 
static/_app/immutable/components/pages/_page.svelte-b51c2c7b.js DELETED
@@ -1,9 +0,0 @@
1
- import{S as qe,i as He,s as Se,k as D,l as q,m as H,h as k,n as b,b as te,F as m,A as Be,H as Oe,I as Le,a as L,q as G,J as Ue,c as U,r as Q,p as je,K as ne,u as ye,v as ft,w as ut,L as Ae,x as ht,f as ae,t as he,y as dt,M as Re,N as Et,O as Fe,P as Ge,d as gt,G as Qe,o as It,g as pt,Q as B}from"../../chunks/index-cab3212e.js";import{w as bt}from"../../chunks/index-f686559f.js";if(!Z)var Z={map:function(e,t){var r={};return t?e.map(function(n,s){return r.index=s,t.call(r,n)}):e.slice()},naturalOrder:function(e,t){return e<t?-1:e>t?1:0},sum:function(e,t){var r={};return e.reduce(t?function(n,s,o){return r.index=o,n+t.call(r,s)}:function(n,s){return n+s},0)},max:function(e,t){return Math.max.apply(null,t?Z.map(e,t):e)}};var Mt=function(){var e=5,t=8-e,r=1e3,n=.75;function s(h,a,c){return(h<<2*e)+(a<<e)+c}function o(h){var a=[],c=!1;function f(){a.sort(h),c=!0}return{push:function(p){a.push(p),c=!1},peek:function(p){return c||f(),p===void 0&&(p=a.length-1),a[p]},pop:function(){return c||f(),a.pop()},size:function(){return a.length},map:function(p){return a.map(p)},debug:function(){return c||f(),a}}}function l(h,a,c,f,p,d,x){var v=this;v.r1=h,v.r2=a,v.g1=c,v.g2=f,v.b1=p,v.b2=d,v.histo=x}l.prototype={volume:function(h){var a=this;return(!a._volume||h)&&(a._volume=(a.r2-a.r1+1)*(a.g2-a.g1+1)*(a.b2-a.b1+1)),a._volume},count:function(h){var a=this,c=a.histo;if(!a._count_set||h){var f=0,p,d,x,v;for(p=a.r1;p<=a.r2;p++)for(d=a.g1;d<=a.g2;d++)for(x=a.b1;x<=a.b2;x++)v=s(p,d,x),f+=c[v]||0;a._count=f,a._count_set=!0}return a._count},copy:function(){var h=this;return new l(h.r1,h.r2,h.g1,h.g2,h.b1,h.b2,h.histo)},avg:function(h){var a=this,c=a.histo;if(!a._avg||h){var f=0,p=1<<8-e,d=0,x=0,v=0,I,g,_,E,C;for(g=a.r1;g<=a.r2;g++)for(_=a.g1;_<=a.g2;_++)for(E=a.b1;E<=a.b2;E++)C=s(g,_,E),I=c[C]||0,f+=I,d+=I*(g+.5)*p,x+=I*(_+.5)*p,v+=I*(E+.5)*p;f?a._avg=[~~(d/f),~~(x/f),~~(v/f)]:a._avg=[~~(p*(a.r1+a.r2+1)/2),~~(p*(a.g1+a.g2+1)/2),~~(p*(a.b1+a.b2+1)/2)]}return a._avg},contains:function(h){var a=this,c=h[0]>>t;return gval=h[1]>>t,bval=h[2]>>t,c>=a.r1&&c<=a.r2&&gval>=a.g1&&gval<=a.g2&&bval>=a.b1&&bval<=a.b2}};function i(){this.vboxes=new o(function(h,a){return Z.naturalOrder(h.vbox.count()*h.vbox.volume(),a.vbox.count()*a.vbox.volume())})}i.prototype={push:function(h){this.vboxes.push({vbox:h,color:h.avg()})},palette:function(){return this.vboxes.map(function(h){return h.color})},size:function(){return this.vboxes.size()},map:function(h){for(var a=this.vboxes,c=0;c<a.size();c++)if(a.peek(c).vbox.contains(h))return a.peek(c).color;return this.nearest(h)},nearest:function(h){for(var a=this.vboxes,c,f,p,d=0;d<a.size();d++)f=Math.sqrt(Math.pow(h[0]-a.peek(d).color[0],2)+Math.pow(h[1]-a.peek(d).color[1],2)+Math.pow(h[2]-a.peek(d).color[2],2)),(f<c||c===void 0)&&(c=f,p=a.peek(d).color);return p},forcebw:function(){var h=this.vboxes;h.sort(function(p,d){return Z.naturalOrder(Z.sum(p.color),Z.sum(d.color))});var a=h[0].color;a[0]<5&&a[1]<5&&a[2]<5&&(h[0].color=[0,0,0]);var c=h.length-1,f=h[c].color;f[0]>251&&f[1]>251&&f[2]>251&&(h[c].color=[255,255,255])}};function u(h){var a=1<<3*e,c=new Array(a),f,p,d,x;return h.forEach(function(v){p=v[0]>>t,d=v[1]>>t,x=v[2]>>t,f=s(p,d,x),c[f]=(c[f]||0)+1}),c}function w(h,a){var c=1e6,f=0,p=1e6,d=0,x=1e6,v=0,I,g,_;return h.forEach(function(E){I=E[0]>>t,g=E[1]>>t,_=E[2]>>t,I<c?c=I:I>f&&(f=I),g<p?p=g:g>d&&(d=g),_<x?x=_:_>v&&(v=_)}),new l(c,f,p,d,x,v,a)}function P(h,a){if(!a.count())return;var c=a.r2-a.r1+1,f=a.g2-a.g1+1,p=a.b2-a.b1+1,d=Z.max([c,f,p]);if(a.count()==1)return[a.copy()];var x=0,v=[],I=[],g,_,E,C,T;if(d==c)for(g=a.r1;g<=a.r2;g++){for(C=0,_=a.g1;_<=a.g2;_++)for(E=a.b1;E<=a.b2;E++)T=s(g,_,E),C+=h[T]||0;x+=C,v[g]=x}else if(d==f)for(g=a.g1;g<=a.g2;g++){for(C=0,_=a.r1;_<=a.r2;_++)for(E=a.b1;E<=a.b2;E++)T=s(_,g,E),C+=h[T]||0;x+=C,v[g]=x}else for(g=a.b1;g<=a.b2;g++){for(C=0,_=a.r1;_<=a.r2;_++)for(E=a.g1;E<=a.g2;E++)T=s(_,E,g),C+=h[T]||0;x+=C,v[g]=x}v.forEach(function(z,O){I[O]=x-z});function F(z){var O=z+"1",$=z+"2",y,M,N,S,j,A=0;for(g=a[O];g<=a[$];g++)if(v[g]>x/2){for(N=a.copy(),S=a.copy(),y=g-a[O],M=a[$]-g,y<=M?j=Math.min(a[$]-1,~~(g+M/2)):j=Math.max(a[O],~~(g-1-y/2));!v[j];)j++;for(A=I[j];!A&&v[j-1];)A=I[--j];return N[$]=j,S[O]=N[$]+1,[N,S]}}return d==c?F("r"):d==f?F("g"):F("b")}function R(h,a){if(!h.length||a<2||a>256)return!1;var c=u(h);c.forEach(function(){});var f=w(h,c),p=new o(function(I,g){return Z.naturalOrder(I.count(),g.count())});p.push(f);function d(I,g){for(var _=1,E=0,C;E<r;){if(C=I.pop(),!C.count()){I.push(C),E++;continue}var T=P(c,C),F=T[0],z=T[1];if(!F||(I.push(F),z&&(I.push(z),_++),_>=g)||E++>r)return}}d(p,n*a);for(var x=new o(function(I,g){return Z.naturalOrder(I.count()*I.volume(),g.count()*g.volume())});p.size();)x.push(p.pop());d(x,a-x.size());for(var v=new i;x.size();)v.push(x.pop());return v}return{quantize:R}}(),Pt=Mt.quantize;function ve(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function Ee(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function oe(){}var me=.7,ke=1/me,fe="\\s*([+-]?\\d+)\\s*",xe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",W="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ct=/^#([0-9a-f]{3,8})$/,Dt=new RegExp(`^rgb\\(${fe},${fe},${fe}\\)$`),qt=new RegExp(`^rgb\\(${W},${W},${W}\\)$`),Ht=new RegExp(`^rgba\\(${fe},${fe},${fe},${xe}\\)$`),St=new RegExp(`^rgba\\(${W},${W},${W},${xe}\\)$`),Ot=new RegExp(`^hsl\\(${xe},${W},${W}\\)$`),Rt=new RegExp(`^hsla\\(${xe},${W},${W},${xe}\\)$`),Je={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ve(oe,ze,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ke,formatHex:Ke,formatHex8:zt,formatHsl:Tt,formatRgb:We,toString:We});function Ke(){return this.rgb().formatHex()}function zt(){return this.rgb().formatHex8()}function Tt(){return xt(this).formatHsl()}function We(){return this.rgb().formatRgb()}function ze(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=Ct.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?Xe(t):r===3?new V(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?we(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?we(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Dt.exec(e))?new V(t[1],t[2],t[3],1):(t=qt.exec(e))?new V(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ht.exec(e))?we(t[1],t[2],t[3],t[4]):(t=St.exec(e))?we(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ot.exec(e))?et(t[1],t[2]/100,t[3]/100,1):(t=Rt.exec(e))?et(t[1],t[2]/100,t[3]/100,t[4]):Je.hasOwnProperty(e)?Xe(Je[e]):e==="transparent"?new V(NaN,NaN,NaN,0):null}function Xe(e){return new V(e>>16&255,e>>8&255,e&255,1)}function we(e,t,r,n){return n<=0&&(e=t=r=NaN),new V(e,t,r,n)}function mt(e){return e instanceof oe||(e=ze(e)),e?(e=e.rgb(),new V(e.r,e.g,e.b,e.opacity)):new V}function Te(e,t,r,n){return arguments.length===1?mt(e):new V(e,t,r,n==null?1:n)}function V(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}ve(V,Te,Ee(oe,{brighter(e){return e=e==null?ke:Math.pow(ke,e),new V(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?me:Math.pow(me,e),new V(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new V(le(this.r),le(this.g),le(this.b),Ne(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ye,formatHex:Ye,formatHex8:Vt,formatRgb:Ze,toString:Ze}));function Ye(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}`}function Vt(){return`#${ie(this.r)}${ie(this.g)}${ie(this.b)}${ie((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ze(){const e=Ne(this.opacity);return`${e===1?"rgb(":"rgba("}${le(this.r)}, ${le(this.g)}, ${le(this.b)}${e===1?")":`, ${e})`}`}function Ne(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function le(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ie(e){return e=le(e),(e<16?"0":"")+e.toString(16)}function et(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new K(e,t,r,n)}function xt(e){if(e instanceof K)return new K(e.h,e.s,e.l,e.opacity);if(e instanceof oe||(e=ze(e)),!e)return new K;if(e instanceof K)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,s=Math.min(t,r,n),o=Math.max(t,r,n),l=NaN,i=o-s,u=(o+s)/2;return i?(t===o?l=(r-n)/i+(r<n)*6:r===o?l=(n-t)/i+2:l=(t-r)/i+4,i/=u<.5?o+s:2-o-s,l*=60):i=u>0&&u<1?0:l,new K(l,i,u,e.opacity)}function Bt(e,t,r,n){return arguments.length===1?xt(e):new K(e,t,r,n==null?1:n)}function K(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}ve(K,Bt,Ee(oe,{brighter(e){return e=e==null?ke:Math.pow(ke,e),new K(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?me:Math.pow(me,e),new K(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,s=2*r-n;return new V(Ie(e>=240?e-240:e+120,s,n),Ie(e,s,n),Ie(e<120?e+240:e-120,s,n),this.opacity)},clamp(){return new K(tt(this.h),_e(this.s),_e(this.l),Ne(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ne(this.opacity);return`${e===1?"hsl(":"hsla("}${tt(this.h)}, ${_e(this.s)*100}%, ${_e(this.l)*100}%${e===1?")":`, ${e})`}`}}));function tt(e){return e=(e||0)%360,e<0?e+360:e}function _e(e){return Math.max(0,Math.min(1,e||0))}function Ie(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Lt=Math.PI/180,Ut=180/Math.PI,$e=18,vt=.96422,wt=1,_t=.82521,yt=4/29,ue=6/29,kt=3*ue*ue,jt=ue*ue*ue;function Nt(e){if(e instanceof X)return new X(e.l,e.a,e.b,e.opacity);if(e instanceof ee)return $t(e);e instanceof V||(e=mt(e));var t=De(e.r),r=De(e.g),n=De(e.b),s=Me((.2225045*t+.7168786*r+.0606169*n)/wt),o,l;return t===r&&r===n?o=l=s:(o=Me((.4360747*t+.3850649*r+.1430804*n)/vt),l=Me((.0139322*t+.0971045*r+.7141733*n)/_t)),new X(116*s-16,500*(o-s),200*(s-l),e.opacity)}function At(e,t,r,n){return arguments.length===1?Nt(e):new X(e,t,r,n==null?1:n)}function X(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}ve(X,At,Ee(oe,{brighter(e){return new X(this.l+$e*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new X(this.l-$e*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=vt*Pe(t),e=wt*Pe(e),r=_t*Pe(r),new V(Ce(3.1338561*t-1.6168667*e-.4906146*r),Ce(-.9787684*t+1.9161415*e+.033454*r),Ce(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function Me(e){return e>jt?Math.pow(e,1/3):e/kt+yt}function Pe(e){return e>ue?e*e*e:kt*(e-yt)}function Ce(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function De(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ft(e){if(e instanceof ee)return new ee(e.h,e.c,e.l,e.opacity);if(e instanceof X||(e=Nt(e)),e.a===0&&e.b===0)return new ee(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Ut;return new ee(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function be(e,t,r,n){return arguments.length===1?Ft(e):new ee(e,t,r,n==null?1:n)}function ee(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function $t(e){if(isNaN(e.h))return new X(e.l,0,0,e.opacity);var t=e.h*Lt;return new X(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}ve(ee,be,Ee(oe,{brighter(e){return new ee(this.h,this.c,this.l+$e*(e==null?1:e),this.opacity)},darker(e){return new ee(this.h,this.c,this.l-$e*(e==null?1:e),this.opacity)},rgb(){return $t(this).rgb()}}));function Gt(){return BigInt(0xb7dd73e137d20800&((1<<63)-1)*Math.random())}function Qt(e){return e.map(t=>be(t)).sort((t,r)=>{const n=t.h,s=r.h;return s-n||isNaN(s)-isNaN(n)})}function Jt(e,t,r){const n=e,s=[];for(let o=0,l,i,u,w,P;o<t;o=o+r)l=o*4,i=n[l+0],u=n[l+1],w=n[l+2],P=n[l+3],(typeof P>"u"||P>=125)&&(i>250&&u>250&&w>250||s.push([i,u,w]));return s}function Kt(e,t=5,r=1){return new Promise(n=>{const s=new Image;s.onload=async()=>{const o=s.width,l=s.height,i=document.createElement("canvas");i.width=o,i.height=l;const u=i.getContext("2d");u.drawImage(s,0,0,o,l);const w=u.getImageData(0,0,o,l),P=Jt(w.data,o*l,r),h=Pt(P,t).palette(),a=await new Promise(f=>i.toBlob(f,"image/jpeg",.95)),c=h.map(f=>Te(...f));n({colors:Qt(c),imgBlob:a})},s.src=e})}async function Wt(e,t){const r=Xt(t),n="https://huggingface.co/uploads",o=`color-palette-${crypto.randomUUID().split("-")[0]}-${r}.jpeg`,l=new File([e],o,{type:"image/jpeg"});console.log("uploading image",l);const u=await(await fetch(n,{method:"POST",headers:{"Content-Type":l.type,"X-Requested-With":"XMLHttpRequest"},body:l})).text();return console.log("uploaded images",u),u}function Xt(e){return e?e.toString().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""):""}const J=bt(""),ce=bt(!1),Yt="wss://spaces.huggingface.tech/stabilityai/stable-diffusion/queue/join";function rt(e,t,r){const n=e.slice();return n[6]=t[r],n[8]=r,n}function nt(e){let t,r,n,s,o,l,i=e[6].formatHex()+"",u,w,P,R,h;function a(){return e[4](e[6],e[8])}return{c(){t=D("div"),r=Le("svg"),n=Le("rect"),o=L(),l=D("span"),u=G(i),P=L(),this.h()},l(c){t=q(c,"DIV",{class:!0});var f=H(t);r=Ue(f,"svg",{class:!0,width:!0,viewBox:!0});var p=H(r);n=Ue(p,"rect",{x:!0,y:!0,width:!0,height:!0,fill:!0}),H(n).forEach(k),p.forEach(k),o=U(f),l=q(f,"SPAN",{title:!0,class:!0,style:!0});var d=H(l);u=Q(d,i),d.forEach(k),P=U(f),f.forEach(k),this.h()},h(){b(n,"x","0"),b(n,"y","0"),b(n,"width","50"),b(n,"height","50"),b(n,"fill",s=e[6].formatHex()),b(r,"class","max-w-full"),b(r,"width","100"),b(r,"viewBox","0 0 50 50"),b(l,"title","Copy single color"),b(l,"class",w="cursor-pointer absolute bottom-0 text-center text-xs pl-1 font-bold uppercase "+(e[1]===e[8]?"animate-ping":"")),je(l,"color",e[2](e[6])),b(t,"class","cursor-pointer aspect-square relative")},m(c,f){te(c,t,f),m(t,r),m(r,n),m(t,o),m(t,l),m(l,u),m(t,P),R||(h=ne(t,"click",a),R=!0)},p(c,f){e=c,f&1&&s!==(s=e[6].formatHex())&&b(n,"fill",s),f&1&&i!==(i=e[6].formatHex()+"")&&ye(u,i),f&2&&w!==(w="cursor-pointer absolute bottom-0 text-center text-xs pl-1 font-bold uppercase "+(e[1]===e[8]?"animate-ping":""))&&b(l,"class",w),f&1&&je(l,"color",e[2](e[6]))},d(c){c&&k(t),R=!1,h()}}}function Zt(e){let t,r,n=e[0],s=[];for(let o=0;o<n.length;o+=1)s[o]=nt(rt(e,n,o));return{c(){t=D("div"),r=D("div");for(let o=0;o<s.length;o+=1)s[o].c();this.h()},l(o){t=q(o,"DIV",{class:!0});var l=H(t);r=q(l,"DIV",{class:!0});var i=H(r);for(let u=0;u<s.length;u+=1)s[u].l(i);i.forEach(k),l.forEach(k),this.h()},h(){b(r,"class","flex bg-black"),b(t,"class","flex flex-col items-center")},m(o,l){te(o,t,l),m(t,r);for(let i=0;i<s.length;i+=1)s[i].m(r,null)},p(o,[l]){if(l&15){n=o[0];let i;for(i=0;i<n.length;i+=1){const u=rt(o,n,i);s[i]?s[i].p(u,l):(s[i]=nt(u),s[i].c(),s[i].m(r,null))}for(;i<s.length;i+=1)s[i].d(1);s.length=n.length}},i:Be,o:Be,d(o){o&&k(t),Oe(s,o)}}}function er(e,t,r){let{colors:n}=t;n.length;function s(u){const w=be(u);return w.l>50?be(w.h,w.c,0).formatHex():be(w.h,w.c,100).formatHex()}let o=-1;async function l(u,w){o>-1||(r(1,o=w),await navigator.permissions.query({name:"clipboard-write"}),await navigator.clipboard.writeText(u),setTimeout(()=>{r(1,o=-1)},500))}const i=(u,w)=>l(u.formatHex(),w);return e.$$set=u=>{"colors"in u&&r(0,n=u.colors)},[n,o,s,l,i]}class tr extends qe{constructor(t){super(),He(this,t,er,Zt,Se,{colors:0})}}function at(e,t,r){const n=e.slice();return n[12]=t[r],n[14]=r,n}function st(e){let t,r,n,s;function o(){return e[8](e[14])}function l(){return e[9](e[14])}return{c(){t=D("button"),this.h()},l(i){t=q(i,"BUTTON",{class:!0}),H(t).forEach(k),this.h()},h(){b(t,"class",r=(e[1]===e[14]?"bg-black dark:bg-white":"bg-white dark:bg-black")+" dark:bg-slate-300 rounded-full h-3 w-3 m-1 border border-black dark:border-white")},m(i,u){te(i,t,u),n||(s=[ne(t,"click",o),ne(t,"mousemove",l)],n=!0)},p(i,u){e=i,u&2&&r!==(r=(e[1]===e[14]?"bg-black dark:bg-white":"bg-white dark:bg-black")+" dark:bg-slate-300 rounded-full h-3 w-3 m-1 border border-black dark:border-white")&&b(t,"class",r)},d(i){i&&k(t),n=!1,Re(s)}}}function rr(e){let t,r,n,s,o,l,i,u,w,P,R,h,a,c,f,p,d,x,v,I,g,_=e[2]?"Copied":"Copy",E,C,T,F;i=new tr({props:{colors:e[4]}});let z=e[0].images,O=[];for(let $=0;$<z.length;$+=1)O[$]=st(at(e,z,$));return{c(){t=D("div"),r=D("blockquote"),n=D("p"),s=G(e[5]),o=L(),l=D("div"),ft(i.$$.fragment),u=L(),w=D("div"),P=D("div"),R=D("img"),a=L(),c=D("div");for(let $=0;$<O.length;$+=1)O[$].c();f=L(),p=D("div"),d=D("div"),x=D("button"),v=G("Remix"),I=L(),g=D("button"),E=G(_),this.h()},l($){t=q($,"DIV",{class:!0});var y=H(t);r=q(y,"BLOCKQUOTE",{class:!0,title:!0});var M=H(r);n=q(M,"P",{});var N=H(n);s=Q(N,e[5]),N.forEach(k),M.forEach(k),o=U(y),l=q(y,"DIV",{class:!0});var S=H(l);ut(i.$$.fragment,S),S.forEach(k),u=U(y),w=q(y,"DIV",{class:!0});var j=H(w);P=q(j,"DIV",{class:!0});var A=H(P);R=q(A,"IMG",{class:!0,src:!0,alt:!0}),a=U(A),c=q(A,"DIV",{class:!0});var de=H(c);for(let re=0;re<O.length;re+=1)O[re].l(de);de.forEach(k),A.forEach(k),j.forEach(k),f=U(y),p=q(y,"DIV",{class:!0});var ge=H(p);d=q(ge,"DIV",{class:!0});var Y=H(d);x=q(Y,"BUTTON",{class:!0,title:!0});var se=H(x);v=Q(se,"Remix"),se.forEach(k),I=U(Y),g=q(Y,"BUTTON",{class:!0,title:!0});var pe=H(g);E=Q(pe,_),pe.forEach(k),Y.forEach(k),ge.forEach(k),y.forEach(k),this.h()},h(){b(r,"class","row-start-1 mx-auto col-span-6 italic font-semibold max-w-prose text-base text-center line-clamp-3 my-3"),b(r,"title",e[5]),b(l,"class","row-start-3 md:row-start-2 col-span-6 md:col-span-4 flex items-center justify-center"),b(R,"class","relative max-w-[100px] w-full"),Ae(R.src,h=e[3])||b(R,"src",h),b(R,"alt",e[5]),b(c,"class","absolute flex justify-around w-full"),b(P,"class","relative"),b(w,"class","row-start-2 col-span-6 md:col-span-2 flex justify-center md:justify-end pb-3"),b(x,"class","button svelte-8zu88a"),b(x,"title","Send this prompt to input so you can remix it"),b(g,"class","button svelte-8zu88a"),b(g,"title","Copy all colors to clipboard"),g.disabled=e[2],b(d,"class","flex justify-center items-center"),b(p,"class","row-start-4 col-span-6 md:col-span-2 md:col-start-5 flex justify-center md:justify-end"),b(t,"class","grid grid-cols-6 gap-3")},m($,y){te($,t,y),m(t,r),m(r,n),m(n,s),m(t,o),m(t,l),ht(i,l,null),m(t,u),m(t,w),m(w,P),m(P,R),m(P,a),m(P,c);for(let M=0;M<O.length;M+=1)O[M].m(c,null);m(t,f),m(t,p),m(p,d),m(d,x),m(x,v),m(d,I),m(d,g),m(g,E),C=!0,T||(F=[ne(x,"click",e[10]),ne(g,"click",e[11])],T=!0)},p($,[y]){(!C||y&32)&&ye(s,$[5]),(!C||y&32)&&b(r,"title",$[5]);const M={};if(y&16&&(M.colors=$[4]),i.$set(M),(!C||y&8&&!Ae(R.src,h=$[3]))&&b(R,"src",h),(!C||y&32)&&b(R,"alt",$[5]),y&3){z=$[0].images;let N;for(N=0;N<z.length;N+=1){const S=at($,z,N);O[N]?O[N].p(S,y):(O[N]=st(S),O[N].c(),O[N].m(c,null))}for(;N<O.length;N+=1)O[N].d(1);O.length=z.length}(!C||y&4)&&_!==(_=$[2]?"Copied":"Copy")&&ye(E,_),(!C||y&4)&&(g.disabled=$[2])},i($){C||(ae(i.$$.fragment,$),C=!0)},o($){he(i.$$.fragment,$),C=!1},d($){$&&k(t),dt(i),Oe(O,$),T=!1,Re(F)}}}function nr(e,t,r){let n,s,o;const l=Et();let{promptData:i}=t,u=0,w=!1;async function P(f){w||(r(2,w=!0),await navigator.permissions.query({name:"clipboard-write"}),await navigator.clipboard.writeText(f),setTimeout(()=>{r(2,w=!1)},1e3))}const R=f=>r(1,u=f),h=f=>r(1,u=f),a=()=>l("remix",{prompt:n}),c=()=>P(s.map(f=>f.formatHex()).join(", "));return e.$$set=f=>{"promptData"in f&&r(0,i=f.promptData)},e.$$.update=()=>{e.$$.dirty&1&&r(5,n=i.prompt),e.$$.dirty&3&&r(4,s=i.images[u].colors.map(f=>Te(f))),e.$$.dirty&3&&r(3,o=i.images[u].imgURL)},[i,u,w,o,s,n,l,P,R,h,a,c]}class ar extends qe{constructor(t){super(),He(this,t,nr,rr,Se,{promptData:0})}}function it(e,t,r){const n=e.slice();return n[11]=t[r],n}function lt(e){let t,r;return{c(){t=D("h3"),r=G(e[3]),this.h()},l(n){t=q(n,"H3",{class:!0});var s=H(t);r=Q(s,e[3]),s.forEach(k),this.h()},h(){b(t,"class","text-xs font-bold ml-3")},m(n,s){te(n,t,s),m(t,r)},p(n,s){s&8&&ye(r,n[3])},d(n){n&&k(t)}}}function ot(e){let t,r,n=e[1],s=[];for(let l=0;l<n.length;l+=1)s[l]=ct(it(e,n,l));const o=l=>he(s[l],1,1,()=>{s[l]=null});return{c(){t=D("div");for(let l=0;l<s.length;l+=1)s[l].c()},l(l){t=q(l,"DIV",{});var i=H(t);for(let u=0;u<s.length;u+=1)s[u].l(i);i.forEach(k)},m(l,i){te(l,t,i);for(let u=0;u<s.length;u+=1)s[u].m(t,null);r=!0},p(l,i){if(i&34){n=l[1];let u;for(u=0;u<n.length;u+=1){const w=it(l,n,u);s[u]?(s[u].p(w,i),ae(s[u],1)):(s[u]=ct(w),s[u].c(),ae(s[u],1),s[u].m(t,null))}for(pt(),u=n.length;u<s.length;u+=1)o(u);gt()}},i(l){if(!r){for(let i=0;i<n.length;i+=1)ae(s[i]);r=!0}},o(l){s=s.filter(Boolean);for(let i=0;i<s.length;i+=1)he(s[i]);r=!1},d(l){l&&k(t),Oe(s,l)}}}function ct(e){let t,r,n,s;return t=new ar({props:{promptData:e[11]}}),t.$on("remix",e[5]),{c(){ft(t.$$.fragment),r=L(),n=D("div"),this.h()},l(o){ut(t.$$.fragment,o),r=U(o),n=q(o,"DIV",{class:!0}),H(n).forEach(k),this.h()},h(){b(n,"class","border-b border-gray-200 py-2")},m(o,l){ht(t,o,l),te(o,r,l),te(o,n,l),s=!0},p(o,l){const i={};l&2&&(i.promptData=o[11]),t.$set(i)},i(o){s||(ae(t.$$.fragment,o),s=!0)},o(o){he(t.$$.fragment,o),s=!1},d(o){dt(t,o),o&&k(r),o&&k(n)}}}function sr(e){let t,r,n,s,o,l,i,u,w,P,R,h,a,c,f,p,d,x,v,I,g,_,E,C,T,F,z,O,$,y=e[3]&&lt(e),M=e[1]&&ot(e);return{c(){t=D("div"),r=D("h1"),n=G("Palette generation with Stable Diffussion"),s=L(),o=D("p"),l=G(`Original ideas:
2
-
3
- `),i=D("a"),u=G(`Matt DesLauriers
4
- `),w=G(`,
5
- `),P=D("a"),R=G("dribnet"),h=L(),a=D("div"),c=D("form"),f=D("input"),p=L(),d=D("button"),x=G("Create Palette"),v=L(),y&&y.c(),I=L(),g=D("div"),_=D("div"),E=G("156 submitted palettes"),C=L(),T=D("div"),F=L(),M&&M.c(),this.h()},l(N){t=q(N,"DIV",{class:!0});var S=H(t);r=q(S,"H1",{class:!0});var j=H(r);n=Q(j,"Palette generation with Stable Diffussion"),j.forEach(k),s=U(S),o=q(S,"P",{class:!0});var A=H(o);l=Q(A,`Original ideas:
6
-
7
- `),i=q(A,"A",{class:!0,target:!0,rel:!0,href:!0});var de=H(i);u=Q(de,`Matt DesLauriers
8
- `),de.forEach(k),w=Q(A,`,
9
- `),P=q(A,"A",{class:!0,href:!0});var ge=H(P);R=Q(ge,"dribnet"),ge.forEach(k),A.forEach(k),h=U(S),a=q(S,"DIV",{class:!0});var Y=H(a);c=q(Y,"FORM",{class:!0});var se=H(c);f=q(se,"INPUT",{class:!0,placeholder:!0,title:!0,type:!0,name:!0}),p=U(se),d=q(se,"BUTTON",{class:!0,title:!0});var pe=H(d);x=Q(pe,"Create Palette"),pe.forEach(k),se.forEach(k),v=U(Y),y&&y.l(Y),Y.forEach(k),I=U(S),g=q(S,"DIV",{class:!0});var re=H(g);_=q(re,"DIV",{class:!0});var Ve=H(_);E=Q(Ve,"156 submitted palettes"),Ve.forEach(k),C=U(re),T=q(re,"DIV",{class:!0}),H(T).forEach(k),re.forEach(k),F=U(S),M&&M.l(S),S.forEach(k),this.h()},h(){b(r,"class","text-3xl font-bold leading-normal"),b(i,"class","link svelte-17tudr1"),b(i,"target","_blank"),b(i,"rel","nofollow noopener"),b(i,"href","https://twitter.com/mattdesl/status/1569457653298139136"),b(P,"class","link svelte-17tudr1"),b(P,"href","https://drib.net/homage"),b(o,"class","text-sm"),b(f,"class","input svelte-17tudr1"),b(f,"placeholder","A photo of a beautiful sunset in San Francisco"),b(f,"title","Input prompt to generate image and obtain palette"),b(f,"type","text"),b(f,"name","prompt"),f.disabled=e[4],b(d,"class","button svelte-17tudr1"),d.disabled=e[4],b(d,"title","Generate Palette"),b(c,"class","grid grid-cols-6"),b(a,"class","relative sticky top-0 z-50 bg-white dark:bg-black py-3"),b(_,"class","font-bold text-sm"),b(T,"class","grow border-b border-gray-200"),b(g,"class","flex items-center gap-4 my-10"),b(t,"class","max-w-screen-md mx-auto px-3 py-8 relative z-0")},m(N,S){te(N,t,S),m(t,r),m(r,n),m(t,s),m(t,o),m(o,l),m(o,i),m(i,u),m(o,w),m(o,P),m(P,R),m(t,h),m(t,a),m(a,c),m(c,f),Fe(f,e[2]),m(c,p),m(c,d),m(d,x),m(a,v),y&&y.m(a,null),m(t,I),m(t,g),m(g,_),m(_,E),m(g,C),m(g,T),m(t,F),M&&M.m(t,null),z=!0,O||($=[ne(f,"input",e[6]),ne(d,"click",Ge(e[7])),ne(c,"submit",Ge(e[8]))],O=!0)},p(N,[S]){(!z||S&16)&&(f.disabled=N[4]),S&4&&f.value!==N[2]&&Fe(f,N[2]),(!z||S&16)&&(d.disabled=N[4]),N[3]?y?y.p(N,S):(y=lt(N),y.c(),y.m(a,null)):y&&(y.d(1),y=null),N[1]?M?(M.p(N,S),S&2&&ae(M,1)):(M=ot(N),M.c(),ae(M,1),M.m(t,null)):M&&(pt(),he(M,1,1,()=>{M=null}),gt())},i(N){z||(ae(M),z=!0)},o(N){he(M),z=!1},d(N){N&&k(t),y&&y.d(),M&&M.d(),O=!1,Re($)}}}function ir(e,t,r){let n,s;Qe(e,J,c=>r(3,n=c)),Qe(e,ce,c=>r(4,s=c));const o="/embed/huggingface-projects/color-palette-generator-sd/static/";let l,i;It(async()=>{fetch(o+"data.json").then(c=>c.json()).then(c=>r(1,l=c))});async function u(c){if(!c||s==!0)return;B(J,n="Pending",n),B(ce,s=!0,s);const f=crypto.randomUUID(),p={fn_index:2,data:[c,3,40,7.5,Number(Gt())]},d=new WebSocket(Yt);d.onopen=async function(x){d.send(JSON.stringify({hash:f}))},d.onclose=x=>{x.wasClean||(B(J,n="Error",n),B(ce,s=!1,s))},d.onmessage=async function(x){try{const v=JSON.parse(x.data);switch(B(J,n="",n),v.msg){case"send_data":B(J,n="Sending Data",n),d.send(JSON.stringify(p));break;case"queue_full":B(J,n="Queue full",n),d.close(),B(ce,s=!1,s);return;case"estimation":const{msg:I,rank:g,queue_size:_}=v;B(J,n=`On queue ${g}/${_}`,n);break;case"process_generating":B(J,n=v.success?"Generating":"Error",n);break;case"process_completed":B(J,n=v.success?"Complete":"Error",n);const E=await w(v.output.data[0],c);r(1,l=[{prompt:c,images:E}].concat(l)),window.scrollTo({top:0,behavior:"smooth"}),d.close(),B(ce,s=!1,s);return;case"process_starts":B(J,n="Process Starts",n);break}}catch(v){console.error(v),B(ce,s=!1,s),B(J,n="Error",n)}}}async function w(c,f){const p=[];for(const d of c){const{colors:x,imgBlob:v}=await Kt(d),I=await Wt(v,f),g={colors:x,imgURL:I};p.push(g)}return p}function P(c){r(2,i=c.detail.prompt),window.scrollTo({top:0,behavior:"smooth"})}function R(){i=this.value,r(2,i)}return[u,l,i,n,s,P,R,()=>u(i),()=>u(i)]}class cr extends qe{constructor(t){super(),He(this,t,ir,sr,Se,{generatePalette:0})}get generatePalette(){return this.$$.ctx[0]}}export{cr as default};
 
 
 
 
 
 
 
 
 
 
static/_app/immutable/start-da0c54a9.js DELETED
@@ -1 +0,0 @@
1
- import{S as Ge,i as We,s as He,a as Me,e as z,c as Xe,b as W,g as ie,t as K,d as le,f as x,h as F,j as Ye,o as be,k as Qe,l as Ze,m as et,n as ge,p as C,q as tt,r as nt,u as rt,v as H,w as Se,x as M,y as X,z as De}from"./chunks/index-cab3212e.js";import{g as Ce,f as qe,s as G,a as ve,b as at,i as st}from"./chunks/singletons-f0cf8c8d.js";const ot=function(){const e=document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"}(),it=function(r,e){return new URL(r,e).href},Ve={},se=function(e,t,c){return!t||t.length===0?e():Promise.all(t.map(o=>{if(o=it(o,c),o in Ve)return;Ve[o]=!0;const d=o.endsWith(".css"),n=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${n}`))return;const f=document.createElement("link");if(f.rel=d?"stylesheet":ot,d||(f.as="script",f.crossOrigin=""),f.href=o,document.head.appendChild(f),d)return new Promise((w,_)=>{f.addEventListener("load",w),f.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e())};class we{constructor(e,t){this.status=e,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class Be{constructor(e,t){this.status=e,this.location=t}}function lt(r,e){return r==="/"||e==="ignore"?r:e==="never"?r.endsWith("/")?r.slice(0,-1):r:e==="always"&&!r.endsWith("/")?r+"/":r}function ct(r){for(const e in r)r[e]=r[e].replace(/%23/g,"#").replace(/%3[Bb]/g,";").replace(/%2[Cc]/g,",").replace(/%2[Ff]/g,"/").replace(/%3[Ff]/g,"?").replace(/%3[Aa]/g,":").replace(/%40/g,"@").replace(/%26/g,"&").replace(/%3[Dd]/g,"=").replace(/%2[Bb]/g,"+").replace(/%24/g,"$");return r}const ft=["href","pathname","search","searchParams","toString","toJSON"];function ut(r,e){const t=new URL(r);for(const c of ft){let o=t[c];Object.defineProperty(t,c,{get(){return e(),o},enumerable:!0,configurable:!0})}return t[Symbol.for("nodejs.util.inspect.custom")]=(c,o,d)=>d(r,o),dt(t),t}function dt(r){Object.defineProperty(r,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead")}})}function pt(r){let e=5381,t=r.length;if(typeof r=="string")for(;t;)e=e*33^r.charCodeAt(--t);else for(;t;)e=e*33^r[--t];return(e>>>0).toString(36)}const Re=window.fetch;window.fetch=(r,e)=>{if((r instanceof Request?r.method:(e==null?void 0:e.method)||"GET")!=="GET"){const c=new URL(r instanceof Request?r.url:r.toString(),document.baseURI).href;oe.delete(c)}return Re(r,e)};const oe=new Map;function ht(r,e,t){let o=`script[data-sveltekit-fetched][data-url=${JSON.stringify(typeof r=="string"?r:r.url)}]`;t&&typeof t.body=="string"&&(o+=`[data-hash="${pt(t.body)}"]`);const d=document.querySelector(o);if(d!=null&&d.textContent){const{body:n,...f}=JSON.parse(d.textContent),w=d.getAttribute("data-ttl");return w&&oe.set(e,{body:n,init:f,ttl:1e3*Number(w)}),Promise.resolve(new Response(n,f))}return Re(r,t)}function mt(r,e){const t=oe.get(r);if(t){if(performance.now()<t.ttl)return new Response(t.body,t.init);oe.delete(r)}return Re(r,e)}const _t=/^(\.\.\.)?(\w+)(?:=(\w+))?$/;function gt(r){const e=[],t=[];let c=!0;return{pattern:r===""?/^\/$/:new RegExp(`^${r.split(/(?:\/|$)/).filter(wt).map((d,n,f)=>{const w=decodeURIComponent(d),_=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(w);if(_)return e.push(_[1]),t.push(_[2]),"(?:/(.*))?";const b=n===f.length-1;return w&&"/"+w.split(/\[(.+?)\]/).map(($,S)=>{if(S%2){const N=_t.exec($);if(!N)throw new Error(`Invalid param: ${$}. Params and matcher names can only have underscores and alphanumeric characters.`);const[,j,T,q]=N;return e.push(T),t.push(q),j?"(.*?)":"([^/]+?)"}return b&&$.includes(".")&&(c=!1),$.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${c?"/?":""}$`),names:e,types:t}}function wt(r){return!/^\([^)]+\)$/.test(r)}function yt(r,e,t,c){const o={};for(let d=0;d<e.length;d+=1){const n=e[d],f=t[d],w=r[d+1]||"";if(f){const _=c[f];if(!_)throw new Error(`Missing "${f}" param matcher`);if(!_(w))return}o[n]=w}return o}function bt(r,e,t,c){const o=new Set(e);return Object.entries(t).map(([f,[w,_,b]])=>{const{pattern:$,names:S,types:N}=gt(f),j={id:f,exec:T=>{const q=$.exec(T);if(q)return yt(q,S,N,c)},errors:[1,...b||[]].map(T=>r[T]),layouts:[0,..._||[]].map(n),leaf:d(w)};return j.errors.length=j.layouts.length=Math.max(j.errors.length,j.layouts.length),j});function d(f){const w=f<0;return w&&(f=~f),[w,r[f]]}function n(f){return f===void 0?f:[o.has(f),r[f]]}}function vt(r){let e,t,c;var o=r[0][0];function d(n){return{props:{data:n[2],form:n[1]}}}return o&&(e=new o(d(r))),{c(){e&&H(e.$$.fragment),t=z()},l(n){e&&Se(e.$$.fragment,n),t=z()},m(n,f){e&&M(e,n,f),W(n,t,f),c=!0},p(n,f){const w={};if(f&4&&(w.data=n[2]),f&2&&(w.form=n[1]),o!==(o=n[0][0])){if(e){ie();const _=e;K(_.$$.fragment,1,0,()=>{X(_,1)}),le()}o?(e=new o(d(n)),H(e.$$.fragment),x(e.$$.fragment,1),M(e,t.parentNode,t)):e=null}else o&&e.$set(w)},i(n){c||(e&&x(e.$$.fragment,n),c=!0)},o(n){e&&K(e.$$.fragment,n),c=!1},d(n){n&&F(t),e&&X(e,n)}}}function kt(r){let e,t,c;var o=r[0][0];function d(n){return{props:{data:n[2],$$slots:{default:[Et]},$$scope:{ctx:n}}}}return o&&(e=new o(d(r))),{c(){e&&H(e.$$.fragment),t=z()},l(n){e&&Se(e.$$.fragment,n),t=z()},m(n,f){e&&M(e,n,f),W(n,t,f),c=!0},p(n,f){const w={};if(f&4&&(w.data=n[2]),f&523&&(w.$$scope={dirty:f,ctx:n}),o!==(o=n[0][0])){if(e){ie();const _=e;K(_.$$.fragment,1,0,()=>{X(_,1)}),le()}o?(e=new o(d(n)),H(e.$$.fragment),x(e.$$.fragment,1),M(e,t.parentNode,t)):e=null}else o&&e.$set(w)},i(n){c||(e&&x(e.$$.fragment,n),c=!0)},o(n){e&&K(e.$$.fragment,n),c=!1},d(n){n&&F(t),e&&X(e,n)}}}function Et(r){let e,t,c;var o=r[0][1];function d(n){return{props:{data:n[3],form:n[1]}}}return o&&(e=new o(d(r))),{c(){e&&H(e.$$.fragment),t=z()},l(n){e&&Se(e.$$.fragment,n),t=z()},m(n,f){e&&M(e,n,f),W(n,t,f),c=!0},p(n,f){const w={};if(f&8&&(w.data=n[3]),f&2&&(w.form=n[1]),o!==(o=n[0][1])){if(e){ie();const _=e;K(_.$$.fragment,1,0,()=>{X(_,1)}),le()}o?(e=new o(d(n)),H(e.$$.fragment),x(e.$$.fragment,1),M(e,t.parentNode,t)):e=null}else o&&e.$set(w)},i(n){c||(e&&x(e.$$.fragment,n),c=!0)},o(n){e&&K(e.$$.fragment,n),c=!1},d(n){n&&F(t),e&&X(e,n)}}}function Je(r){let e,t=r[5]&&ze(r);return{c(){e=Qe("div"),t&&t.c(),this.h()},l(c){e=Ze(c,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var o=et(e);t&&t.l(o),o.forEach(F),this.h()},h(){ge(e,"id","svelte-announcer"),ge(e,"aria-live","assertive"),ge(e,"aria-atomic","true"),C(e,"position","absolute"),C(e,"left","0"),C(e,"top","0"),C(e,"clip","rect(0 0 0 0)"),C(e,"clip-path","inset(50%)"),C(e,"overflow","hidden"),C(e,"white-space","nowrap"),C(e,"width","1px"),C(e,"height","1px")},m(c,o){W(c,e,o),t&&t.m(e,null)},p(c,o){c[5]?t?t.p(c,o):(t=ze(c),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(c){c&&F(e),t&&t.d()}}}function ze(r){let e;return{c(){e=tt(r[6])},l(t){e=nt(t,r[6])},m(t,c){W(t,e,c)},p(t,c){c&64&&rt(e,t[6])},d(t){t&&F(e)}}}function St(r){let e,t,c,o,d;const n=[kt,vt],f=[];function w(b,$){return b[0][1]?0:1}e=w(r),t=f[e]=n[e](r);let _=r[4]&&Je(r);return{c(){t.c(),c=Me(),_&&_.c(),o=z()},l(b){t.l(b),c=Xe(b),_&&_.l(b),o=z()},m(b,$){f[e].m(b,$),W(b,c,$),_&&_.m(b,$),W(b,o,$),d=!0},p(b,[$]){let S=e;e=w(b),e===S?f[e].p(b,$):(ie(),K(f[S],1,1,()=>{f[S]=null}),le(),t=f[e],t?t.p(b,$):(t=f[e]=n[e](b),t.c()),x(t,1),t.m(c.parentNode,c)),b[4]?_?_.p(b,$):(_=Je(b),_.c(),_.m(o.parentNode,o)):_&&(_.d(1),_=null)},i(b){d||(x(t),d=!0)},o(b){K(t),d=!1},d(b){f[e].d(b),b&&F(c),_&&_.d(b),b&&F(o)}}}function Rt(r,e,t){let{stores:c}=e,{page:o}=e,{components:d}=e,{form:n}=e,{data_0:f=null}=e,{data_1:w=null}=e;Ye(c.page.notify);let _=!1,b=!1,$=null;return be(()=>{const S=c.page.subscribe(()=>{_&&(t(5,b=!0),t(6,$=document.title||"untitled page"))});return t(4,_=!0),S}),r.$$set=S=>{"stores"in S&&t(7,c=S.stores),"page"in S&&t(8,o=S.page),"components"in S&&t(0,d=S.components),"form"in S&&t(1,n=S.form),"data_0"in S&&t(2,f=S.data_0),"data_1"in S&&t(3,w=S.data_1)},r.$$.update=()=>{r.$$.dirty&384&&c.page.set(o)},[d,n,f,w,_,b,$,c,o]}class $t extends Ge{constructor(e){super(),We(this,e,Rt,St,He,{stores:7,page:8,components:0,form:1,data_0:2,data_1:3})}}const Lt={},ce=[()=>se(()=>import("./chunks/0-38e843b4.js"),["chunks/0-38e843b4.js","chunks/_layout-1daba58d.js","components/pages/_layout.svelte-34307958.js","assets/_layout-d2c2d65f.css","chunks/index-cab3212e.js"],import.meta.url),()=>se(()=>import("./chunks/1-69bee870.js"),["chunks/1-69bee870.js","components/error.svelte-a1debfe3.js","chunks/index-cab3212e.js","chunks/singletons-f0cf8c8d.js","chunks/index-f686559f.js"],import.meta.url),()=>se(()=>import("./chunks/2-0bf15b71.js"),["chunks/2-0bf15b71.js","components/pages/_page.svelte-b51c2c7b.js","assets/_page-a6345eca.css","chunks/index-cab3212e.js","chunks/index-f686559f.js"],import.meta.url)],Pt=[],Ot={"":[2]},jt={handleError:({error:r})=>(console.error(r),{message:"Internal Error"})},Ut="/__data.js",Fe="sveltekit:scroll",J="sveltekit:index",ne=bt(ce,Pt,Ot,Lt),ke=ce[0],Ee=ce[1];ke();Ee();let ee={};try{ee=JSON.parse(sessionStorage[Fe])}catch{}function ye(r){ee[r]=ve()}function It({target:r,base:e,trailing_slash:t}){var Ne;const c=[],o={id:null,promise:null},d={before_navigate:[],after_navigate:[]};let n={branch:[],error:null,session_id:0,url:null},f=!1,w=!0,_=!1,b=1,$=null,S=!1,N,j=(Ne=history.state)==null?void 0:Ne[J];j||(j=Date.now(),history.replaceState({...history.state,[J]:j},"",location.href));const T=ee[j];T&&(history.scrollRestoration="manual",scrollTo(T.x,T.y));let q=!1,V,$e;function Le(){if(!$){const a=new URL(location.href);$=Promise.resolve().then(async()=>{const i=pe(a,!0);await Oe(i,a,[]),$=null,S=!1})}return $}async function fe(a,{noscroll:i=!1,replaceState:p=!1,keepfocus:s=!1,state:l={}},h){return typeof a=="string"&&(a=new URL(a,Ce(document))),he({url:a,scroll:i?ve():null,keepfocus:s,redirect_chain:h,details:{state:l,replaceState:p},accepted:()=>{},blocked:()=>{},type:"goto"})}async function Pe(a){const i=pe(a,!1);if(!i)throw new Error("Attempted to prefetch a URL that does not belong to this app");return o.promise=Ie(i),o.id=i.id,o.promise}async function Oe(a,i,p,s,l){var v,k;const h=$e={};let m=a&&await Ie(a);if(!m&&i.origin===location.origin&&i.pathname===location.pathname&&(m=await te({status:404,error:new Error(`Not found: ${i.pathname}`),url:i,routeId:null})),!m)return await Q(i),!1;if(i=(a==null?void 0:a.url)||i,$e!==h)return!1;if(c.length=0,m.type==="redirect")if(p.length>10||p.includes(i.pathname))m=await te({status:500,error:new Error("Redirect loop"),url:i,routeId:null});else return fe(new URL(m.location,i).href,{},[...p,i.pathname]),!1;else((k=(v=m.props)==null?void 0:v.page)==null?void 0:k.status)>=400&&await G.updated.check()&&await Q(i);if(_=!0,s&&s.details){const{details:y}=s,g=y.replaceState?0:1;y.state[J]=j+=g,history[y.replaceState?"replaceState":"pushState"](y.state,"",i)}if(f){n=m.state,m.props.page&&(m.props.page.url=i);const y=ae();N.$set(m.props),y()}else je(m);if(s){const{scroll:y,keepfocus:g}=s;if(!g){const E=document.body,U=E.getAttribute("tabindex");E.tabIndex=-1,E.focus({preventScroll:!0}),setTimeout(()=>{var L;(L=getSelection())==null||L.removeAllRanges()}),U!==null?E.setAttribute("tabindex",U):E.removeAttribute("tabindex")}if(await De(),w){const E=i.hash&&document.getElementById(i.hash.slice(1));y?scrollTo(y.x,y.y):E?E.scrollIntoView():scrollTo(0,0)}}else await De();o.promise=null,o.id=null,w=!0,m.props.page&&(V=m.props.page),l&&l(),_=!1}function je(a){var l,h;n=a.state;const i=document.querySelector("style[data-sveltekit]");i&&i.remove(),V=a.props.page;const p=ae();N=new $t({target:r,props:{...a.props,stores:G},hydrate:!0}),p();const s={from:null,to:re("to",{params:n.params,routeId:(h=(l=n.route)==null?void 0:l.id)!=null?h:null,url:new URL(location.href)}),type:"load"};d.after_navigate.forEach(m=>m(s)),f=!0}async function Y({url:a,params:i,branch:p,status:s,error:l,route:h,form:m}){var U;const v=p.filter(Boolean),k={type:"loaded",state:{url:a,params:i,branch:p,error:l,route:h,session_id:b},props:{components:v.map(L=>L.node.component)}};m!==void 0&&(k.props.form=m);let y={},g=!V;for(let L=0;L<v.length;L+=1){const I=v[L];y={...y,...I.data},(g||!n.branch.some(A=>A===I))&&(k.props[`data_${L}`]=y,g=g||Object.keys((U=I.data)!=null?U:{}).length>0)}if(g||(g=Object.keys(V.data).length!==Object.keys(y).length),!n.url||a.href!==n.url.href||n.error!==l||g){k.props.page={error:l,params:i,routeId:h&&h.id,status:s,url:a,data:g?y:V.data};const L=(I,A)=>{Object.defineProperty(k.props.page,I,{get:()=>{throw new Error(`$page.${I} has been replaced by $page.url.${A}`)}})};L("origin","origin"),L("path","pathname"),L("query","searchParams")}return k}async function ue({loader:a,parent:i,url:p,params:s,routeId:l,server_data_node:h}){var y,g,E,U,L;let m=null;const v={dependencies:new Set,params:new Set,parent:!1,url:!1},k=await a();if((y=k.shared)!=null&&y.load){let I=function(...u){for(const R of u){const{href:O}=new URL(R,p);v.dependencies.add(O)}};const A={};for(const u in s)Object.defineProperty(A,u,{get(){return v.params.add(u),s[u]},enumerable:!0});const B={routeId:l,params:A,data:(g=h==null?void 0:h.data)!=null?g:null,url:ut(p,()=>{v.url=!0}),async fetch(u,R){let O;typeof u=="string"?O=u:(O=u.url,R={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:u.headers,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...R});const P=new URL(O,p).href;return I(P),f?mt(P,R):ht(O,P,R)},setHeaders:()=>{},depends:I,parent(){return v.parent=!0,i()}};Object.defineProperties(B,{props:{get(){throw new Error("@migration task: Replace `props` with `data` stuff https://github.com/sveltejs/kit/discussions/5774#discussioncomment-3292693")},enumerable:!1},session:{get(){throw new Error("session is no longer available. See https://github.com/sveltejs/kit/discussions/5883")},enumerable:!1},stuff:{get(){throw new Error("@migration task: Remove stuff https://github.com/sveltejs/kit/discussions/5774#discussioncomment-3292693")},enumerable:!1}}),m=(E=await k.shared.load.call(null,B))!=null?E:null}return{node:k,loader:a,server:h,shared:(U=k.shared)!=null&&U.load?{type:"data",data:m,uses:v}:null,data:(L=m!=null?m:h==null?void 0:h.data)!=null?L:null}}function Ue(a,i,p){if(S)return!0;if(!p)return!1;if(p.parent&&i||a.url&&p.url)return!0;for(const s of a.params)if(p.params.has(s))return!0;for(const s of p.dependencies)if(c.some(l=>l(new URL(s))))return!0;return!1}function de(a,i){var p,s;return(a==null?void 0:a.type)==="data"?{type:"data",data:a.data,uses:{dependencies:new Set((p=a.uses.dependencies)!=null?p:[]),params:new Set((s=a.uses.params)!=null?s:[]),parent:!!a.uses.parent,url:!!a.uses.url}}:(a==null?void 0:a.type)==="skip"&&i!=null?i:null}async function Ie({id:a,invalidating:i,url:p,params:s,route:l}){var B;if(o.id===a&&o.promise)return o.promise;const{errors:h,layouts:m,leaf:v}=l,k=n.url&&{url:a!==n.url.pathname+n.url.search,params:Object.keys(s).filter(u=>n.params[u]!==s[u])},y=[...m,v];h.forEach(u=>u==null?void 0:u().catch(()=>{})),y.forEach(u=>u==null?void 0:u[1]().catch(()=>{}));let g=null;const E=y.reduce((u,R,O)=>{var D;const P=n.branch[O],Z=!!(R!=null&&R[0])&&((P==null?void 0:P.loader)!==R[1]||Ue(k,u.some(Boolean),(D=P.server)==null?void 0:D.uses));return u.push(Z),u},[]);if(E.some(Boolean)){try{g=await Ke(p,E)}catch(u){return te({status:500,error:u,url:p,routeId:l.id})}if(g.type==="redirect")return g}const U=g==null?void 0:g.nodes;let L=!1;const I=y.map(async(u,R)=>{var D;if(!u)return;const O=n.branch[R],P=U==null?void 0:U[R];if((!P||P.type==="skip")&&u[1]===(O==null?void 0:O.loader)&&!Ue(k,L,(D=O.shared)==null?void 0:D.uses))return O;if(L=!0,(P==null?void 0:P.type)==="error")throw P;return ue({loader:u[1],url:p,params:s,routeId:l.id,parent:async()=>{var Te;const me={};for(let _e=0;_e<R;_e+=1)Object.assign(me,(Te=await I[_e])==null?void 0:Te.data);return me},server_data_node:de(P===void 0&&u[0]?{type:"skip"}:P!=null?P:null,O==null?void 0:O.server)})});for(const u of I)u.catch(()=>{});const A=[];for(let u=0;u<y.length;u+=1)if(y[u])try{A.push(await I[u])}catch(R){if(R instanceof Be)return{type:"redirect",location:R.location};let O=500,P;for(U!=null&&U.includes(R)?(O=(B=R.status)!=null?B:O,P=R.error):R instanceof we?(O=R.status,P=R.body):P=xe(R,{params:s,url:p,routeId:l.id});u--;)if(h[u]){let Z,D=u;for(;!A[D];)D-=1;try{return Z={node:await h[u](),loader:h[u],data:{},server:null,shared:null},await Y({url:p,params:s,branch:A.slice(0,D+1).concat(Z),status:O,error:P,route:l})}catch{continue}}await Q(p);return}else A.push(void 0);return await Y({url:p,params:s,branch:A,status:200,error:null,route:l,form:i?void 0:null})}async function te({status:a,error:i,url:p,routeId:s}){var y;const l={},h=await ke();let m=null;if(h.server)try{const g=await Ke(p,[!0]);if(g.type!=="data"||g.nodes[0]&&g.nodes[0].type!=="data")throw 0;m=(y=g.nodes[0])!=null?y:null}catch{await Q(p);return}const v=await ue({loader:ke,url:p,params:l,routeId:s,parent:()=>Promise.resolve({}),server_data_node:de(m)}),k={node:await Ee(),loader:Ee,shared:null,server:null,data:null};return await Y({url:p,params:l,branch:[v,k],status:a,error:i instanceof we?i.body:xe(i,{url:p,params:l,routeId:null}),route:null})}function pe(a,i){if(Ae(a))return;const p=decodeURI(a.pathname.slice(e.length)||"/");for(const s of ne){const l=s.exec(p);if(l){const h=new URL(a.origin+lt(a.pathname,t)+a.search+a.hash);return{id:h.pathname+h.search,invalidating:i,route:s,params:ct(l),url:h}}}}function Ae(a){return a.origin!==location.origin||!a.pathname.startsWith(e)}async function he({url:a,scroll:i,keepfocus:p,redirect_chain:s,details:l,type:h,delta:m,accepted:v,blocked:k}){var L,I,A,B;let y=!1;const g=pe(a,!1),E={from:re("from",{params:n.params,routeId:(I=(L=n.route)==null?void 0:L.id)!=null?I:null,url:n.url}),to:re("to",{params:(A=g==null?void 0:g.params)!=null?A:null,routeId:(B=g==null?void 0:g.route.id)!=null?B:null,url:a}),type:h};m!==void 0&&(E.delta=m);const U={...E,cancel:()=>{y=!0}};if(d.before_navigate.forEach(u=>u(U)),y){k();return}ye(j),v(),f&&G.navigating.set(E),await Oe(g,a,s,{scroll:i,keepfocus:p,details:l},()=>{d.after_navigate.forEach(u=>u(E)),G.navigating.set(null)})}function Q(a){return location.href=a.href,new Promise(()=>{})}return{after_navigate:a=>{be(()=>(d.after_navigate.push(a),()=>{const i=d.after_navigate.indexOf(a);d.after_navigate.splice(i,1)}))},before_navigate:a=>{be(()=>(d.before_navigate.push(a),()=>{const i=d.before_navigate.indexOf(a);d.before_navigate.splice(i,1)}))},disable_scroll_handling:()=>{(_||!f)&&(w=!1)},goto:(a,i={})=>fe(a,i,[]),invalidate:a=>{if(a===void 0)throw new Error("`invalidate()` (with no arguments) has been replaced by `invalidateAll()`");if(typeof a=="function")c.push(a);else{const{href:i}=new URL(a,location.href);c.push(p=>p.href===i)}return Le()},invalidateAll:()=>(S=!0,Le()),prefetch:async a=>{const i=new URL(a,Ce(document));await Pe(i)},prefetch_routes:async a=>{const p=(a?ne.filter(s=>a.some(l=>s.exec(l))):ne).map(s=>Promise.all([...s.layouts,s.leaf].map(l=>l==null?void 0:l[1]())));await Promise.all(p)},apply_action:async a=>{if(a.type==="error"){const i=new URL(location.href),{branch:p,route:s}=n;if(!s)return;let l=n.branch.length;for(;l--;)if(s.errors[l]){let h,m=l;for(;!p[m];)m-=1;try{h={node:await s.errors[l](),loader:s.errors[l],data:{},server:null,shared:null};const v=await Y({url:i,params:n.params,branch:p.slice(0,m+1).concat(h),status:500,error:a.error,route:s});n=v.state;const k=ae();N.$set(v.props),k();return}catch{continue}}}else if(a.type==="redirect")fe(a.location,{},[]);else{const i={form:a.data};a.status!==V.status&&(i.page={...V,status:a.status});const p=ae();N.$set(i),p()}},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",s=>{var m,v;let l=!1;const h={from:re("from",{params:n.params,routeId:(v=(m=n.route)==null?void 0:m.id)!=null?v:null,url:n.url}),to:null,type:"unload",cancel:()=>l=!0};d.before_navigate.forEach(k=>k(h)),l?(s.preventDefault(),s.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){ye(j);try{sessionStorage[Fe]=JSON.stringify(ee)}catch{}}});const a=s=>{const{url:l,options:h}=qe(s);if(l&&h.prefetch){if(Ae(l))return;Pe(l)}};let i;const p=s=>{clearTimeout(i),i=setTimeout(()=>{var l;(l=s.target)==null||l.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",a),addEventListener("mousemove",p),addEventListener("sveltekit:trigger_prefetch",a),addEventListener("click",s=>{if(s.button||s.which!==1||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||s.defaultPrevented)return;const{a:l,url:h,options:m}=qe(s);if(!l||!h)return;const v=l instanceof SVGAElement;if(!v&&!(h.protocol==="https:"||h.protocol==="http:"))return;const k=(l.getAttribute("rel")||"").split(/\s+/);if(l.hasAttribute("download")||k.includes("external")||m.reload||(v?l.target.baseVal:l.target))return;const[y,g]=h.href.split("#");if(g!==void 0&&y===location.href.split("#")[0]){q=!0,ye(j),n.url=h,G.page.set({...V,url:h}),G.page.notify();return}he({url:h,scroll:m.noscroll?ve():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:h.href===location.href},accepted:()=>s.preventDefault(),blocked:()=>s.preventDefault(),type:"link"})}),addEventListener("popstate",s=>{if(s.state){if(s.state[J]===j)return;const l=s.state[J]-j;he({url:new URL(location.href),scroll:ee[s.state[J]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{j=s.state[J]},blocked:()=>{history.go(-l)},type:"popstate",delta:l})}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[J]:++j},"",location.href))});for(const s of document.querySelectorAll("link"))s.rel==="icon"&&(s.href=s.href);addEventListener("pageshow",s=>{s.persisted&&G.navigating.set(null)})},_hydrate:async({status:a,error:i,node_ids:p,params:s,routeId:l,data:h,form:m})=>{var y;const v=new URL(location.href);let k;try{const g=p.map(async(E,U)=>{const L=h[U];return ue({loader:ce[E],url:v,params:s,routeId:l,parent:async()=>{const I={};for(let A=0;A<U;A+=1)Object.assign(I,(await g[A]).data);return I},server_data_node:de(L)})});k=await Y({url:v,params:s,branch:await Promise.all(g),status:a,error:i,form:m,route:(y=ne.find(E=>E.id===l))!=null?y:null})}catch(g){const E=g;if(E instanceof Be){await Q(new URL(g.location,location.href));return}k=await te({status:E instanceof we?E.status:500,error:E,url:v,routeId:l})}je(k)}}}let At=1;async function Ke(r,e){const t=new URL(r);t.pathname=r.pathname.replace(/\/$/,"")+Ut,t.searchParams.set("__invalid",e.map(o=>o?"y":"n").join("")),t.searchParams.set("__id",String(At++)),await se(()=>import(t.href),[],import.meta.url);const c=window.__sveltekit_data;return delete window.__sveltekit_data,c}function xe(r,e){var t;return(t=jt.handleError({error:r,event:e}))!=null?t:{message:"Internal Error"}}const Nt=["hash","href","host","hostname","origin","pathname","port","protocol","search","searchParams","toString","toJSON"];function re(r,e){for(const t of Nt)Object.defineProperty(e,t,{get(){throw new Error(`The navigation shape changed - ${r}.${t} should now be ${r}.url.${t}`)}});return e}function ae(){return()=>{}}async function Ct({env:r,hydrate:e,paths:t,target:c,trailing_slash:o}){at(t);const d=It({target:c,base:t.base,trailing_slash:o});st({client:d}),e?await d._hydrate(e):d.goto(location.href,{replaceState:!0}),d._start_router()}export{Ct as start};
 
 
static/_app/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"1663707660362"}
 
1
+ {"version":"1663743071268"}
static/data.json DELETED
@@ -1 +0,0 @@
1
- [{"prompt": "a painting of a Ferrari by Claude Monet", "images": [{"colors": ["#2f3c6e", "#deacdf", "#e2e23b", "#b923bf", "#ed68f7"], "imgURL": "static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg"}, {"colors": ["#f9b9a0", "#b30814", "#36102d", "#e240ab", "#680c26"], "imgURL": "static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg"}, {"colors": ["#13bbab", "#f7e2ba", "#cb3b37", "#062726", "#055637"], "imgURL": "static/images/00046-2327336163-a painting of a Ferrari by Claude Monet.jpg"}]}, {"prompt": "a photo of a beautiful sunset in San Francisco", "images": [{"colors": ["#e2dcf8", "#d47a0d", "#50244c", "#b63547", "#f270f2"], "imgURL": "static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg"}, {"colors": ["#177405", "#d6f12d", "#7c1a04", "#b9a5a4", "#6ae61b"], "imgURL": "static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg"}, {"colors": ["#766dae", "#4e2806", "#e8b878", "#1c317e", "#46c21e"], "imgURL": "static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg"}]}, {"prompt": "a photo of a elmo drinking at starbucks", "images": [{"colors": ["#179209", "#eee84b", "#571208", "#b91806", "#537c91"], "imgURL": "static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg"}, {"colors": ["#d62fec", "#281185", "#f2bbde", "#db2f23", "#8505e1"], "imgURL": "static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg"}, {"colors": ["#19550f", "#a80e05", "#f5ce1f", "#f7d9cf", "#859721"], "imgURL": "static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg"}]}, {"prompt": "a photo of a polar bear in the Arctic", "images": [{"colors": ["#4cdde5", "#e755ce", "#2d2a64", "#26c81d", "#d8edc5"], "imgURL": "static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg"}, {"colors": ["#66bdda", "#071ed8", "#04111b", "#1f3f78", "#7c839b"], "imgURL": "static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg"}, {"colors": ["#c4efd0", "#194286", "#6591b7", "#7e9f52", "#576a3d"], "imgURL": "static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg"}]}, {"prompt": "a paint of a polar bear in the Arctic painted by Vincent van Gogh", "images": [{"colors": ["#3de9f9", "#172eb8", "#dc44d6", "#1bd40d", "#e7d9e8"], "imgURL": "static/images/00049-3943684507-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}, {"colors": ["#f984fb", "#35208b", "#a9040f", "#d209ef", "#eed5f9"], "imgURL": "static/images/00050-3943684508-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}, {"colors": ["#143153", "#ebf521", "#7c3117", "#a8c9f2", "#66a70a"], "imgURL": "static/images/00048-3943684506-a paint of a polar bear in the Arctic painted by Vincent van Gogh.jpg"}]}, {"prompt": "a photo of a polar bear in the zoo", "images": [{"colors": ["#cd1ce0", "#f397ec", "#980d30", "#3e231a", "#713789"], "imgURL": "static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg"}, {"colors": ["#1f15dc", "#f6c3fb", "#92edfa", "#1d2824", "#de30f2"], "imgURL": "static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg"}, {"colors": ["#0512dc", "#ceebf5", "#0c2726", "#55acb6", "#8c61fc"], "imgURL": "static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg"}]}]
 
 
static/images/00000-3329858467-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (53.2 kB)
 
static/images/00001-3329858468-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (77.2 kB)
 
static/images/00003-3329858470-a photo of a beautiful sunset in San Francisco.jpg DELETED
Binary file (90.8 kB)
 
static/images/00009-3082979825-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (56.9 kB)
 
static/images/00010-3082979826-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (67.5 kB)
 
static/images/00011-3082979827-a photo of a polar bear in the Arctic.jpg DELETED
Binary file (55.1 kB)
 
static/images/00013-2991374000-a photo of a polar bear in the zoo.jpg DELETED
Binary file (92.2 kB)
 
static/images/00026-1171300814-a photo of a polar bear in the zoo.jpg DELETED
Binary file (120 kB)
 
static/images/00027-1171300815-a photo of a polar bear in the zoo.jpg DELETED
Binary file (89.5 kB)
 
static/images/00035-2824881701-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (70.5 kB)
 
static/images/00036-2824881702-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (71.7 kB)
 
static/images/00037-2824881703-a photo of a elmo drinking at starbucks.jpg DELETED
Binary file (61 kB)
 
static/images/00044-2327336161-a painting of a Ferrari by Claude Monet.jpg DELETED
Binary file (156 kB)
 
static/images/00045-2327336162-a painting of a Ferrari by Claude Monet.jpg DELETED
Binary file (135 kB)