diff --git a/.gitignore b/.gitignore
index 51b6050..ecb8d11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
backend/static
sse/be/static
+docker/topscorer.tar
diff --git a/backend.light/backend.light b/backend.light/backend.light
index ddfd73f..6a77d56 100755
Binary files a/backend.light/backend.light and b/backend.light/backend.light differ
diff --git a/backend.old/.gitignore b/backend.old/.gitignore
deleted file mode 100644
index 1d369ed..0000000
--- a/backend.old/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.DS_Store
-/static
-.env
-.env.*
-go.sum
diff --git a/backend.old/Heat/Qualifying.1.Under 18 Men.json b/backend.old/Heat/Qualifying.1.Under 18 Men.json
deleted file mode 100644
index c52326f..0000000
--- a/backend.old/Heat/Qualifying.1.Under 18 Men.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Qualifying",
- "category": "Under 18 Men",
- "number": 1,
- "timer": 20,
- "status": "idle",
- "surfers": [
- {
- "name": "Uno",
- "color": "red",
- "priority": "",
- "score": ""
- },
- {
- "name": "Due",
- "color": "blue",
- "priority": "",
- "score": ""
- }
- ]
-}
\ No newline at end of file
diff --git a/backend.old/Heat/Quarterfinal.1.Under 14 Men.json b/backend.old/Heat/Quarterfinal.1.Under 14 Men.json
deleted file mode 100644
index 1d863f2..0000000
--- a/backend.old/Heat/Quarterfinal.1.Under 14 Men.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "Quarterfinal",
- "category": "Under 14 Men",
- "number": 1,
- "timer": 20,
- "status": "idle",
- "surfers": [
- {
- "name": "Uno",
- "color": "green",
- "priority": "",
- "score": ""
- },
- {
- "name": "Due",
- "color": "yellow",
- "priority": "",
- "score": ""
- },
- {
- "name": "Tre",
- "color": "orange",
- "priority": "",
- "score": ""
- },
- {
- "name": "Quattro",
- "color": "red",
- "priority": "",
- "score": ""
- }
- ]
-}
\ No newline at end of file
diff --git a/backend.old/Heat/Quarterfinal.2.Under 14 Men.json b/backend.old/Heat/Quarterfinal.2.Under 14 Men.json
deleted file mode 100644
index f4a1271..0000000
--- a/backend.old/Heat/Quarterfinal.2.Under 14 Men.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "Quarterfinal",
- "category": "Under 14 Men",
- "number": 2,
- "timer": 20,
- "status": "idle",
- "surfers": [
- {
- "name": "Cinque",
- "color": "red",
- "priority": "",
- "score": ""
- },
- {
- "name": "Sei",
- "color": "blue",
- "priority": "",
- "score": ""
- },
- {
- "name": "Sette",
- "color": "violet",
- "priority": "",
- "score": ""
- }
- ]
-}
\ No newline at end of file
diff --git a/backend.old/Heat/Semifinal.1.Under 12 Men.json b/backend.old/Heat/Semifinal.1.Under 12 Men.json
deleted file mode 100644
index ac63bc9..0000000
--- a/backend.old/Heat/Semifinal.1.Under 12 Men.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Semifinal",
- "category": "Under 12 Men",
- "number": 1,
- "timer": 20,
- "status": "running",
- "surfers": [
- {
- "name": "Uno",
- "color": "blue",
- "priority": "",
- "score": ""
- },
- {
- "name": "Due",
- "color": "yellow",
- "priority": "",
- "score": ""
- }
- ]
-}
diff --git a/backend.old/Heat/Semifinal.1.Under 12 Women.json b/backend.old/Heat/Semifinal.1.Under 12 Women.json
deleted file mode 100644
index 9c420bf..0000000
--- a/backend.old/Heat/Semifinal.1.Under 12 Women.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Semifinal",
- "category": "Under 12 Women",
- "number": 1,
- "timer": 20,
- "status": "idle",
- "surfers": [
- {
- "name": "Uno",
- "color": "red",
- "priority": "",
- "score": ""
- },
- {
- "name": "Due",
- "color": "green",
- "priority": "",
- "score": ""
- }
- ]
-}
\ No newline at end of file
diff --git a/backend.old/Heat/Semifinal.2.Under 12 Men.json b/backend.old/Heat/Semifinal.2.Under 12 Men.json
deleted file mode 100644
index 4f37229..0000000
--- a/backend.old/Heat/Semifinal.2.Under 12 Men.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Semifinal",
- "category": "Under 12 Men",
- "number": 2,
- "timer": 20,
- "status": "ended",
- "surfers": [
- {
- "name": "Tre",
- "color": "green",
- "priority": "",
- "score": ""
- },
- {
- "name": "Quattro",
- "color": "yellow",
- "priority": "",
- "score": ""
- }
- ]
-}
diff --git a/backend.old/Heat/Semifinal.2.Under 12 Women.json b/backend.old/Heat/Semifinal.2.Under 12 Women.json
deleted file mode 100644
index 8fec022..0000000
--- a/backend.old/Heat/Semifinal.2.Under 12 Women.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "Semifinal",
- "category": "Under 12 Women",
- "number": 2,
- "timer": 20,
- "status": "idle",
- "surfers": [
- {
- "name": "Tre",
- "color": "green",
- "priority": "",
- "score": ""
- },
- {
- "name": "Quattro",
- "color": "blue",
- "priority": "",
- "score": ""
- }
- ]
-}
\ No newline at end of file
diff --git a/backend.old/api.go b/backend.old/api.go
deleted file mode 100644
index 6b932bf..0000000
--- a/backend.old/api.go
+++ /dev/null
@@ -1,32 +0,0 @@
-package main
-
-func (w *Webapp) initApi() {
-
- stream := NewServer()
-
- w.Stream = stream
-
- http_api := w.Engine.Group("/api")
- http_api.GET("/priority", w.GetPriority)
- http_api.POST("/priority", w.SetPriority)
-
- // SSE
- http_api.GET("/sse", HeadersMiddleware(), stream.serveHTTP(), stream.retvalSSE())
-
- http_api.POST("/startheat", w.StartHeatTimer)
- http_api.GET("/stopheat", w.StopHeatTimer)
- http_api.POST("/saveheat", w.SaveHeat)
- http_api.POST("/deleteheat", w.DeleteHeat)
- http_api.GET("/loadheats", w.LoadHeats)
- http_api.GET("/runningheat", w.LoadRunning)
-
- // // Surfers
- // http_api.GET("/surfers", w.GetSurfers)
- // http_api.POST("/updatesurfer", w.UpdateSurfer)
- // http_api.POST("/deletesurfer", w.DeleteSurfer)
-
- // // Users
- // http_api.GET("/users", w.GetUsers)
- // http_api.POST("/updateuser", w.UpdateUser)
- // http_api.POST("/deleteuser", w.DeleteUser)
-}
diff --git a/backend.old/backend b/backend.old/backend
deleted file mode 100755
index cf3aeb2..0000000
Binary files a/backend.old/backend and /dev/null differ
diff --git a/backend.old/color.go b/backend.old/color.go
deleted file mode 100644
index b2338cf..0000000
--- a/backend.old/color.go
+++ /dev/null
@@ -1,37 +0,0 @@
-package main
-
-type Color int
-
-const (
- Gray Color = iota
- Black
- Blue
- Red
- Yellow
- Green
- White
- Magenta
-)
-
-func (c Color) String() string {
- switch c {
- case Gray:
- return "gray"
- case Black:
- return "black"
- case Blue:
- return "blue"
- case Red:
- return "red"
- case Yellow:
- return "yellow"
- case Green:
- return "green"
- case White:
- return "white"
- case Magenta:
- return "magenta"
- }
-
- return "gray"
-}
diff --git a/backend.old/db.go b/backend.old/db.go
deleted file mode 100644
index 2b7a83e..0000000
--- a/backend.old/db.go
+++ /dev/null
@@ -1,44 +0,0 @@
-package main
-
-import (
- "fmt"
- "log"
-
- scribble "github.com/nanobox-io/golang-scribble"
-)
-
-type DB struct {
- Db *scribble.Driver
-}
-
-func InitDb(dbAddress string) *DB {
- var err error
- var db *DB
-
- db.Db, err = scribble.New("", nil)
- if err != nil {
- fmt.Println("Error", err)
- }
-
- log.Printf("App: %+v", db)
-
- return db
-}
-
-func (db *DB) Write(table string, key string, value interface{}) error {
- err := db.Db.Write(table, key, value)
- if err != nil {
- fmt.Println("Error", err)
- return err
- }
- return nil
-}
-
-func (db *DB) Read(table string, key string, value interface{}) error {
- err := db.Db.Read(table, key, value)
- if err != nil {
- fmt.Println("Error", err)
- return err
- }
- return nil
-}
diff --git a/backend.old/go.mod b/backend.old/go.mod
deleted file mode 100644
index 56ebd86..0000000
--- a/backend.old/go.mod
+++ /dev/null
@@ -1,39 +0,0 @@
-module backend
-
-go 1.21.4
-
-require (
- github.com/gin-contrib/cors v1.5.0
- github.com/gin-gonic/gin v1.9.1
- github.com/nanobox-io/golang-scribble v0.0.0-20190309225732-aa3e7c118975
-)
-
-require (
- github.com/bytedance/sonic v1.10.1 // indirect
- github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
- github.com/chenzhuoyu/iasm v0.9.0 // indirect
- github.com/gabriel-vasile/mimetype v1.4.2 // indirect
- github.com/gin-contrib/sse v0.1.0 // indirect
- github.com/go-playground/locales v0.14.1 // indirect
- github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/go-playground/validator/v10 v10.15.5 // indirect
- github.com/goccy/go-json v0.10.2 // indirect
- github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25 // indirect
- github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/cpuid/v2 v2.2.5 // indirect
- github.com/kr/text v0.2.0 // indirect
- github.com/leodido/go-urn v1.2.4 // indirect
- github.com/mattn/go-isatty v0.0.19 // indirect
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
- github.com/pelletier/go-toml/v2 v2.1.0 // indirect
- github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
- github.com/ugorji/go/codec v1.2.11 // indirect
- golang.org/x/arch v0.5.0 // indirect
- golang.org/x/crypto v0.14.0 // indirect
- golang.org/x/net v0.16.0 // indirect
- golang.org/x/sys v0.13.0 // indirect
- golang.org/x/text v0.13.0 // indirect
- google.golang.org/protobuf v1.31.0 // indirect
- gopkg.in/yaml.v3 v3.0.1 // indirect
-)
diff --git a/backend.old/hash.go b/backend.old/hash.go
deleted file mode 100644
index 107085c..0000000
--- a/backend.old/hash.go
+++ /dev/null
@@ -1,12 +0,0 @@
-package main
-
-import (
- "crypto/sha256"
- "fmt"
-)
-
-func CalcId(str string, len int) string {
- id := sha256.Sum256([]byte(str))
-
- return fmt.Sprintf("%X", id)[0:len]
-}
diff --git a/backend.old/heats.go b/backend.old/heats.go
deleted file mode 100644
index abb8963..0000000
--- a/backend.old/heats.go
+++ /dev/null
@@ -1,195 +0,0 @@
-package main
-
-import (
- "encoding/json"
- "fmt"
- "log"
- "net/http"
- "time"
-
- "github.com/gin-gonic/gin"
- scribble "github.com/nanobox-io/golang-scribble"
-)
-
-type Surfer struct {
- Name string `json:"name"`
- Color string `json:"color"`
- Priority string `json:"priority"`
- Score string `json:"score"`
-}
-
-type Heat struct {
- Name string `json:"name"`
- Category string `json:"category"`
- Number int `json:"number"`
- Timer int `json:"timer"`
- Status string `json:"status"`
- Surfers []Surfer `json:"surfers"`
-}
-
-func heatName(heat Heat) string {
- return fmt.Sprintf("%s.%d.%s", heat.Name, heat.Number, heat.Category)
-}
-
-func (w *Webapp) SaveHeat(c *gin.Context) {
- var heat Heat
-
- err := c.ShouldBind(&heat)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("heat: %+v", heat)
-
- heat.Status = "idle"
-
- err = w.DB.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "saved"})
-}
-
-func (w *Webapp) DeleteHeat(c *gin.Context) {
- var heat Heat
-
- err := c.ShouldBind(&heat)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("heat: %+v", heat)
-
- err = w.DB.Delete("Heat", heatName(heat))
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "deleted"})
-}
-
-func (w *Webapp) LoadRunning(c *gin.Context) {
- heats := loadHeats(w.DB)
-
- for _, heat := range heats {
- if heat.Status == "running" {
- c.JSON(http.StatusOK, heat)
- return
- }
- }
-
- c.JSON(http.StatusNoContent, "")
-}
-
-func (w *Webapp) LoadHeats(c *gin.Context) {
- heats := loadHeats(w.DB)
-
- c.JSON(http.StatusOK, heats)
-
- log.Printf("heats: %+v", heats)
-}
-
-func (w *Webapp) StartHeatTimer(c *gin.Context) {
- var msg Message
- var err error
- var timer time.Duration
-
- if w.Stream.Start {
- c.JSON(http.StatusOK, w.Stream.Duration)
- return
- }
-
- err = c.ShouldBind(&msg)
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- timer, err = time.ParseDuration(msg.Duration)
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
- w.Stream.Duration = timer
- w.Stream.Start = true
-
- startHeat(w.DB, *w.Stream.Heat)
-
- log.Printf("start timer %s - received %s", w.Stream.Duration, msg.Duration)
- c.JSON(http.StatusOK, w.Stream.Duration)
-}
-
-func (w *Webapp) StopHeatTimer(c *gin.Context) {
- if !w.Stream.Start {
- c.JSON(http.StatusOK, w.Stream.Duration)
- return
- }
-
- stopHeat(w.DB, *w.Stream.Heat)
- w.Stream.Start = false
- w.Stream.Duration = 0
-
- log.Printf("start timer %s", w.Stream.Duration)
- c.JSON(http.StatusOK, w.Stream.Duration)
-}
-
-func loadHeats(db *scribble.Driver) []Heat {
- records, err := db.ReadAll("Heat")
- if err != nil {
- fmt.Printf("read error: %+v", err)
- }
-
- heats := make([]Heat, 0)
- for _, record := range records {
- var heat Heat
- err = json.Unmarshal([]byte(record), &heat)
- if err != nil {
- fmt.Printf("decode error: %+v", err)
- }
- heats = append(heats, heat)
- }
-
- return heats
-}
-
-func startHeat(db *scribble.Driver, heat Heat) error {
- log.Printf("heat: %+v", heat)
-
- heat.Status = "running"
-
- err := db.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- return err
- }
-
- return nil
-}
-
-func stopHeat(db *scribble.Driver, heat Heat) error {
-
- log.Printf("heat: %+v", heat)
-
- heat.Status = "ended"
-
- err := db.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- return err
- }
-
- return nil
-}
diff --git a/backend.old/main.go b/backend.old/main.go
deleted file mode 100644
index 4a124fd..0000000
--- a/backend.old/main.go
+++ /dev/null
@@ -1,21 +0,0 @@
-package main
-
-import (
- "os"
-)
-
-func main() {
- var port string
-
- Db := InitDb(os.Getenv("DB"))
-
- webapp := InitHttp(Db)
-
- if p := os.Getenv("PORT"); p == "" {
- port = "8080"
- } else {
- port = p
- }
-
- webapp.Engine.Run(":" + port)
-}
diff --git a/backend.old/msgmode.go b/backend.old/msgmode.go
deleted file mode 100644
index 08d98d7..0000000
--- a/backend.old/msgmode.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package main
-
-type Mode int
-
-const (
- Priority Mode = iota
- Start
- Stop
- Time
- UpdateHeat
-)
-
-func (t Mode) String() string {
- switch t {
- case Priority:
- return "priority"
- case Stop:
- return "stop"
- case Time:
- return "time"
- case Start:
- return "start"
- case UpdateHeat:
- return "updateHeat"
- }
-
- return "priority"
-}
diff --git a/backend.old/priority.go b/backend.old/priority.go
deleted file mode 100644
index 972fd0b..0000000
--- a/backend.old/priority.go
+++ /dev/null
@@ -1,37 +0,0 @@
-package main
-
-import (
- "log"
- "net/http"
-
- "github.com/gin-gonic/gin"
-)
-
-// ///////// Priority
-func (w *Webapp) GetPriority(c *gin.Context) {
- log.Printf("send priority %s", w.Stream.StatusPriority)
-
- c.JSON(http.StatusOK, w.Stream.StatusPriority)
-}
-
-func (w *Webapp) SetPriority(c *gin.Context) {
- var msg Message
- var err error
-
- log.Printf("set priority %s", c.Request.Body)
-
- err = c.ShouldBind(&msg)
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- c.JSON(http.StatusOK, "OK")
-
- log.Printf("msg %+v", msg)
-
- w.Stream.StatusPriority = msg.Priority
-
- w.Stream.SendPriority(msg.Priority)
-}
diff --git a/backend.old/sse.go b/backend.old/sse.go
deleted file mode 100644
index 1a4ce0e..0000000
--- a/backend.old/sse.go
+++ /dev/null
@@ -1,216 +0,0 @@
-package main
-
-import (
- "fmt"
- "io"
- "time"
-
- "github.com/gin-gonic/gin"
-
- "log"
-)
-
-type SurferLive struct {
- Name string `json:"name"`
- Color string `json:"color"`
- Score string `json:"score"`
- Priority string `json:"priority"`
-}
-
-type Message struct {
- Surfers []SurferLive `json:"surfers"`
- Priority []string `json:"priority"`
- Heat Heat `json:"heat"`
- Duration string `json:"duration"`
- Source string `json:"source"`
- Msg string `json:"msg"`
- Mode string `json:"mode"`
-}
-
-type Client struct {
- Chan ClientChan
- IP IPAddress
- Mode Mode
-}
-
-type ClientChan chan Message
-
-type IPAddress string
-
-type SseStream struct {
- // Events are pushed to this channel by the main events-gathering routine
- Message chan Message
-
- // New client connections
- NewClients chan Client //chan string
-
- // Closed client connections
- ClosedClients chan ClientChan
-
- // Total client connections
- TotalClients map[ClientChan]IPAddress //bool
-
- StatusPriority []string
- Duration time.Duration
- Start bool
- Heat *Heat
-}
-
-// Initialize event and Start procnteessing requests
-func NewServer() (sse *SseStream) {
- sse = &SseStream{
- Message: make(chan Message),
- NewClients: make(chan Client),
- ClosedClients: make(chan ClientChan),
- TotalClients: make(map[ClientChan]IPAddress),
- Start: false,
- Heat: &Heat{},
- }
-
- go sse.listen()
-
- go sse.timer()
-
- return
-}
-
-// It Listens all incoming requests from clients.
-// Handles addition and removal of clients and broadcast messages to clients.
-func (stream *SseStream) listen() {
- for {
- select {
- // Add new available client
- case client := <-stream.NewClients:
- stream.TotalClients[client.Chan] = client.IP
- log.Printf("Client added. %d - %s registered clients", len(stream.TotalClients), client.IP)
-
- // Remove closed client
- case client := <-stream.ClosedClients:
- ip := stream.TotalClients[client]
- delete(stream.TotalClients, client)
- close(client)
- log.Printf("Removed client. %d - %s registered clients", len(stream.TotalClients), ip)
-
- // Broadcast message to client
- case eventMsg := <-stream.Message:
- for clientMessageChan := range stream.TotalClients {
- clientMessageChan <- eventMsg
- log.Printf("Message %+v sent to %s", eventMsg, stream.TotalClients[clientMessageChan])
- }
- }
- }
-}
-
-func HeadersMiddleware() gin.HandlerFunc {
- return func(c *gin.Context) {
- c.Writer.Header().Set("Content-Type", "text/event-stream")
- c.Writer.Header().Set("Cache-Control", "no-cache")
- c.Writer.Header().Set("Connection", "keep-alive")
- c.Writer.Header().Set("Transfer-Encoding", "chunked")
- c.Next()
- }
-}
-
-func (stream *SseStream) serveHTTP() gin.HandlerFunc {
- return func(c *gin.Context) {
- // Initialize client channel
- clientChan := make(ClientChan)
-
- cli := Client{
- Chan: clientChan,
- IP: IPAddress(c.ClientIP()),
- Mode: Priority,
- }
-
- // Send new connection to event server
- stream.NewClients <- cli
-
- defer func() {
- // Send closed connection to event server
- stream.ClosedClients <- clientChan
- }()
-
- c.Set("clientChan", clientChan)
-
- c.Next()
- }
-}
-
-func (stream *SseStream) retvalSSE() gin.HandlerFunc {
- return func(c *gin.Context) {
-
- if len(stream.StatusPriority) > 0 {
- stream.SendPriority(stream.StatusPriority)
- log.Printf("update priority %+v", stream.StatusPriority)
- }
-
- v, ok := c.Get("clientChan")
- if !ok {
- return
- }
- clientChan, ok := v.(ClientChan)
- if !ok {
- return
- }
- c.Stream(func(w io.Writer) bool {
- // Stream message to client from message channel
- if msg, ok := <-clientChan; ok {
- c.SSEvent("message", msg)
- return true
- }
- return false
- })
- }
-}
-
-func (stream *SseStream) SendPriority(pri []string) {
- stream.Message <- Message{
- Priority: pri,
- Mode: Priority.String(),
- }
-}
-
-func (stream *SseStream) timer() {
- for {
- if stream.Start {
- timer := time.NewTimer(stream.Duration)
-
- select {
- case <-timer.C:
- stream.Start = false
- msg := Message{
- Msg: "stop",
- Mode: Stop.String(),
- }
- stream.Message <- msg
- log.Printf("stop timer %+v", stream.Duration)
- stream.Heat.Status = "ended"
- continue
- default:
- if len(stream.TotalClients) > 0 {
- if stream.Duration >= 0 {
- currentTimer := fmt.Sprintf("%v", formatTime(stream.Duration))
-
- msg := Message{
- Duration: currentTimer,
- Mode: Time.String(),
- }
-
- // Send current time to clients message channel
- stream.Message <- msg
- stream.Duration = stream.Duration - time.Second
- time.Sleep(time.Second * 1)
- } else {
- timer.Stop()
- }
- }
- }
- }
- }
-}
-
-func formatTime(d time.Duration) string {
- minutes := int(d.Minutes()) % 60
- seconds := int(d.Seconds()) % 60
- return fmt.Sprintf("%02d:%02d", minutes, seconds)
-}
diff --git a/backend.old/surfers.go b/backend.old/surfers.go
deleted file mode 100644
index 8ffd52d..0000000
--- a/backend.old/surfers.go
+++ /dev/null
@@ -1,117 +0,0 @@
-package main
-
-// type Surfer struct {
-// Dbid string `json:"dbid"`
-// Id string `json:"id"`
-// Firstname string `json:"firstname"`
-// Lastname string `json:"lastname"`
-// }
-
-///////////// Surfers
-
-// func (w *Webapp) GetSurfers(c *gin.Context) {
-// var cursor uint64
-
-// var surfersKeys []string
-
-// cursor = 0
-
-// log.Printf("start scanning %+v", c.ClientIP())
-// for {
-// var keys []string
-// var err error
-// log.Printf("scan: cursor = %d", cursor)
-// keys, cursor, err = w.DB.Redis.Scan(w.DB.Ctx, cursor, "surfer:*", 10).Result()
-// if err != nil {
-// panic(err)
-// }
-// log.Printf("ret scan: cursor = %d", cursor)
-
-// log.Printf("scan: %+v", keys)
-
-// surfersKeys = append(surfersKeys, keys...)
-
-// if cursor == 0 {
-// log.Printf("end scan: cursor = %d", cursor)
-// break
-// }
-// }
-
-// var surfers []Surfer
-
-// for u := range surfersKeys {
-// surf := Surfer{}
-// ret := w.DB.Redis.HMGet(w.DB.Ctx, surfersKeys[u], "firstname", "lastname", "id", "sex", "birthdate", "stance", "hometown")
-
-// ret.Scan(&surf)
-// surf.Dbid = strings.Split(surfersKeys[u], ":")[1]
-
-// log.Printf("surfer: %+v", surf)
-// surfers = append(surfers, surf)
-// }
-
-// slices.SortFunc(surfers,
-// func(a, b Surfer) int {
-// return cmp.Compare(a.Id, b.Id)
-// })
-
-// log.Printf("surfers: %+v", surfers)
-
-// c.JSON(http.StatusOK, surfers)
-// }
-
-// func (w *Webapp) DeleteSurfer(c *gin.Context) {
-// var surfer Surfer
-// var err error
-
-// err = c.ShouldBind(&surfer)
-// if err != nil {
-// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
-// return
-// }
-
-// id := CalcId(surfer.Firstname+surfer.Lastname, _MaxLen)
-
-// log.Printf("deleting: %+v", "surfer:"+id)
-
-// res, err := w.DB.Redis.HGetAll(w.DB.Ctx, "surfer:"+id).Result()
-// if err != nil || len(res) == 0 {
-// log.Printf("del error: %+v", err)
-// c.JSON(http.StatusNotFound, gin.H{"status": "Not Found"})
-// return
-// }
-
-// log.Printf("found: %+v", res)
-
-// err = w.DB.Redis.Del(w.DB.Ctx, "surfer:"+id).Err()
-// if err != nil {
-// log.Printf("del error: %+v", err)
-// }
-
-// log.Printf("del: %+v", surfer)
-
-// c.JSON(http.StatusOK, gin.H{"status": "deleted"})
-// }
-
-// func (w *Webapp) UpdateSurfer(c *gin.Context) {
-// var surfer Surfer
-// var err error
-
-// err = c.ShouldBind(&surfer)
-// if err != nil {
-// log.Printf("req error: %+v", err)
-// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
-// return
-// }
-
-// surfer.Dbid = CalcId(surfer.Firstname+surfer.Lastname, _MaxLen)
-
-// err = w.DB.Redis.HSet(w.DB.Ctx, "surfer:"+surfer.Dbid, surfer).Err()
-// if err != nil {
-// log.Printf("set error: %+v", err)
-// }
-
-// log.Printf("new: %+v", surfer)
-
-// c.JSON(http.StatusOK, gin.H{"status": "added"})
-// }
diff --git a/backend.old/users.go b/backend.old/users.go
deleted file mode 100644
index d747b70..0000000
--- a/backend.old/users.go
+++ /dev/null
@@ -1,135 +0,0 @@
-package main
-
-// type User struct {
-// Dbid string `json:"dbid"`
-// Id string `json:"id"`
-// Username string `json:"username"`
-// Password string `json:"password"`
-// Email string `json:"email"`
-// Group string `json:"group"`
-// Enabled bool `json:"enabled"`
-// }
-
-///////////////// Users
-
-// func (w *Webapp) GetUsers(c *gin.Context) {
-// var cursor uint64
-
-// var users []string
-
-// cursor = 0
-// log.Printf("start scanning %+v", c.ClientIP())
-// for {
-// var keys []string
-// var err error
-// keys, cursor, err = w.DB.Redis.Scan(w.DB.Ctx, cursor, "user:*", 10).Result()
-// if err != nil {
-// panic(err)
-// }
-
-// log.Printf("scan: %+v", keys)
-
-// users = append(users, keys...)
-
-// if cursor == 0 {
-// break
-// }
-// }
-
-// var retval []User
-
-// for u := range users {
-// usr := User{}
-// hmget := w.DB.Redis.HMGet(w.DB.Ctx, users[u], "username", "email", "group", "enabled")
-// hmget.Scan(&usr)
-
-// log.Printf("user: %+v", usr)
-// retval = append(retval, usr)
-// }
-
-// slices.SortFunc(retval,
-// func(a, b User) int {
-// return cmp.Compare(a.Username, b.Username)
-// })
-
-// c.JSON(http.StatusOK, retval)
-// }
-
-// func (w *Webapp) UpdateUser(c *gin.Context) {
-// var user User
-
-// if err := c.ShouldBind(&user); err != nil {
-// log.Printf("req error: %+v", err)
-// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
-// return
-// }
-
-// user.Dbid = CalcId(user.Username, 8)
-
-// ret := w.DB.Redis.HExists(w.DB.Ctx, "user:"+user.Dbid, "username").Val()
-// if !ret {
-// log.Printf("Exists: %+v", ret)
-// err := w.DB.Redis.HSet(w.DB.Ctx, "user:"+user.Dbid, user).Err()
-// if err != nil {
-// log.Printf("set error: %+v", err)
-// }
-// } else {
-// err := w.DB.Redis.HSet(w.DB.Ctx, "user:"+user.Dbid, "email", user.Email, "group", user.Group, "enabled", user.Enabled).Err()
-// if err != nil {
-// log.Printf("set error: %+v", err)
-// }
-// }
-
-// log.Printf("new: %+v", user)
-
-// c.JSON(http.StatusOK, gin.H{"status": "added"})
-// }
-
-// // func UpdateUser(c *gin.Context) {
-// // var user common.User
-
-// // if err := c.ShouldBind(&user); err != nil {
-// // c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
-// // return
-// // }
-
-// // id := common.Id(user.Username, 8)
-
-// // if err := db.Db.Redis.HSet(db.Db.Ctx, "user:"+id, "email", user.Email, "group", user.Group, "enabled", user.Enabled).Err(); err != nil {
-// // log.Fatalf("set error: %+v", err)
-// // }
-
-// // log.Printf("update: %+v", user)
-
-// // c.JSON(http.StatusOK, gin.H{"status": "updated"})
-// // }
-
-// func (w *Webapp) DeleteUser(c *gin.Context) {
-// var user User
-
-// if err := c.ShouldBind(&user); err != nil {
-// c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
-// return
-// }
-
-// id := CalcId(user.Username, 8)
-
-// log.Printf("deleting: %+v", "user:"+id)
-
-// res, err := w.DB.Redis.HGetAll(w.DB.Ctx, "user:"+id).Result()
-// if err != nil || len(res) == 0 {
-// log.Printf("del error: %+v", err)
-// c.JSON(http.StatusNotFound, gin.H{"status": "Not Found"})
-// return
-// }
-
-// log.Printf("found: %+v", res)
-
-// if err := w.DB.Redis.Del(w.DB.Ctx, "user:"+id).Err(); err != nil {
-// log.Printf("del error: %+v", err)
-// }
-
-// log.Printf("del: %+v", user)
-
-// c.JSON(http.StatusOK, gin.H{"status": "deleted"})
-// }
diff --git a/backend.old/webapp.go b/backend.old/webapp.go
deleted file mode 100644
index 8dfd544..0000000
--- a/backend.old/webapp.go
+++ /dev/null
@@ -1,65 +0,0 @@
-package main
-
-import (
- "log"
-
- "github.com/gin-contrib/cors"
- "github.com/gin-gonic/gin"
- scribble "github.com/nanobox-io/golang-scribble"
-)
-
-type Webapp struct {
- Engine *gin.Engine
- Stream *SseStream
- DB *scribble.Driver
-}
-
-// const _MaxLen = 8
-
-func InitHttp(d *scribble.Driver) *Webapp {
-
- router := gin.Default()
- router.Use(cors.Default())
-
- wapp := &Webapp{
- Engine: router,
- DB: d,
- }
-
- wapp.initApi()
- // wapp.initAuth()
-
- displayH := router.Group("/displayh")
- displayH.Static("/", "./static/displayh")
-
- displayV := router.Group("/displayv")
- displayV.Static("/", "./static/displayv")
-
- priority := router.Group("/priority")
- priority.Static("/", "./static/priority")
-
- mobile := router.Group("/mobile")
- mobile.Static("/", "./static/mobile")
-
- setup := router.Group("/setup")
- setup.Static("/", "./static/setup")
-
- draws := router.Group("/draws")
- draws.Static("/", "./static/draws")
-
- sapp := router.Group("/_app")
- sapp.Static("/", "./static/_app")
-
- static := router.Group("/static")
- static.Static("/", "./static/static")
-
- router.StaticFile("/", "./static/index.html")
- router.StaticFile("/favicon.png", "./static/favicon.png")
-
- router.ForwardedByClientIP = true
- router.SetTrustedProxies([]string{"127.0.0.1"})
-
- log.Printf("WebApp: %+v", wapp)
-
- return wapp
-}
diff --git a/backend/.gitignore b/backend/.gitignore
deleted file mode 100644
index 267e084..0000000
--- a/backend/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-static
-DB
-backend
-Heat
-.vscode
diff --git a/backend/db.go b/backend/db.go
deleted file mode 100644
index 132e274..0000000
--- a/backend/db.go
+++ /dev/null
@@ -1,93 +0,0 @@
-package main
-
-import (
- "encoding/json"
- "fmt"
- "log"
-
- scribble "github.com/nanobox-io/golang-scribble"
-)
-
-type DB struct {
- Db *scribble.Driver
-}
-
-func InitDb(dbPath string) *DB {
- var err error
- var db = &DB{}
-
- if dbPath == "" {
- dbPath = "DB"
- }
-
- db.Db, err = scribble.New(dbPath, nil)
- if err != nil {
- fmt.Println("Error", err)
- }
-
- log.Printf("App: %+v", db)
-
- return db
-}
-
-func (db *DB) Write(table string, key string, value interface{}) error {
- err := db.Db.Write(table, key, value)
- if err != nil {
- fmt.Println("Error", err)
- }
- return err
-}
-
-func (db *DB) Read(table string, key string, value interface{}) error {
- err := db.Db.Read(table, key, value)
- if err != nil {
- fmt.Println("Error", err)
- }
- return err
-}
-
-func (db *DB) Delete(table string, key string) error {
- err := db.Db.Delete(table, key)
- if err != nil {
- fmt.Println("Error", err)
- }
- return err
-}
-
-func (db *DB) loadHeats() []Heat {
- records, err := db.Db.ReadAll("Heat")
- if err != nil {
- fmt.Printf("read error: %+v", err)
- }
-
- heats := make([]Heat, 0)
- for _, record := range records {
- var heat Heat
- err = json.Unmarshal([]byte(record), &heat)
- if err != nil {
- fmt.Printf("decode error: %+v", err)
- }
- heats = append(heats, heat)
- }
-
- return heats
-}
-
-func (db *DB) loadSurfers() []Athlete {
- records, err := db.Db.ReadAll("Surfers")
- if err != nil {
- fmt.Printf("read error: %+v", err)
- }
-
- athletes := make([]Athlete, 0)
- for _, record := range records {
- var athlete Athlete
- err = json.Unmarshal([]byte(record), &athlete)
- if err != nil {
- fmt.Printf("decode error: %+v", err)
- }
- athletes = append(athletes, athlete)
- }
-
- return athletes
-}
diff --git a/backend/go.mod b/backend/go.mod
deleted file mode 100644
index 7325ff5..0000000
--- a/backend/go.mod
+++ /dev/null
@@ -1,39 +0,0 @@
-module backend
-
-go 1.21.5
-
-require (
- github.com/gin-contrib/cors v1.5.0
- github.com/gin-gonic/gin v1.9.1
- github.com/nanobox-io/golang-scribble v0.0.0-20190309225732-aa3e7c118975
-)
-
-require (
- github.com/bytedance/sonic v1.10.1 // indirect
- github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
- github.com/chenzhuoyu/iasm v0.9.0 // indirect
- github.com/gabriel-vasile/mimetype v1.4.2 // indirect
- github.com/gin-contrib/sse v0.1.0 // indirect
- github.com/go-playground/locales v0.14.1 // indirect
- github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/go-playground/validator/v10 v10.15.5 // indirect
- github.com/goccy/go-json v0.10.2 // indirect
- github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25 // indirect
- github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/cpuid/v2 v2.2.5 // indirect
- github.com/kr/text v0.2.0 // indirect
- github.com/leodido/go-urn v1.2.4 // indirect
- github.com/mattn/go-isatty v0.0.19 // indirect
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
- github.com/modern-go/reflect2 v1.0.2 // indirect
- github.com/pelletier/go-toml/v2 v2.1.0 // indirect
- github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
- github.com/ugorji/go/codec v1.2.11 // indirect
- golang.org/x/arch v0.5.0 // indirect
- golang.org/x/crypto v0.14.0 // indirect
- golang.org/x/net v0.16.0 // indirect
- golang.org/x/sys v0.13.0 // indirect
- golang.org/x/text v0.13.0 // indirect
- google.golang.org/protobuf v1.31.0 // indirect
- gopkg.in/yaml.v3 v3.0.1 // indirect
-)
diff --git a/backend/go.sum b/backend/go.sum
deleted file mode 100644
index f60a7d3..0000000
--- a/backend/go.sum
+++ /dev/null
@@ -1,106 +0,0 @@
-github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
-github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
-github.com/bytedance/sonic v1.10.1 h1:7a1wuFXL1cMy7a3f7/VFcEtriuXQnUBhtoVfOZiaysc=
-github.com/bytedance/sonic v1.10.1/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4=
-github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY=
-github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
-github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0=
-github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA=
-github.com/chenzhuoyu/iasm v0.9.0 h1:9fhXjVzq5hUy2gkhhgHl95zG2cEAhw9OSGs8toWWAwo=
-github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
-github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
-github.com/gin-contrib/cors v1.5.0 h1:DgGKV7DDoOn36DFkNtbHrjoRiT5ExCe+PC9/xp7aKvk=
-github.com/gin-contrib/cors v1.5.0/go.mod h1:TvU7MAZ3EwrPLI2ztzTt3tqgvBCq+wn8WpZmfADjupI=
-github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
-github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
-github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
-github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
-github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
-github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
-github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
-github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
-github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
-github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.15.5 h1:LEBecTWb/1j5TNY1YYG2RcOUN3R7NLylN+x8TTueE24=
-github.com/go-playground/validator/v10 v10.15.5/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
-github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
-github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25 h1:EFT6MH3igZK/dIVqgGbTqWVvkZ7wJ5iGN03SVtvvdd8=
-github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25/go.mod h1:sWkGw/wsaHtRsT9zGQ/WyJCotGWG/Anow/9hsAcBWRw=
-github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
-github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
-github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
-github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
-github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
-github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
-github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
-github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
-github.com/nanobox-io/golang-scribble v0.0.0-20190309225732-aa3e7c118975 h1:zm/Rb2OsnLWCY88Njoqgo4X6yt/lx3oBNWhepX0AOMU=
-github.com/nanobox-io/golang-scribble v0.0.0-20190309225732-aa3e7c118975/go.mod h1:4Mct/lWCFf1jzQTTAaWtOI7sXqmG+wBeiBfT4CxoaJk=
-github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
-github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
-github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
-github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
-github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
-github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
-github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
-golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
-golang.org/x/arch v0.5.0 h1:jpGode6huXQxcskEIpOCvrU+tzo81b6+oFLUYXWtH/Y=
-golang.org/x/arch v0.5.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
-golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
-golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
-golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos=
-golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
-golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
-golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
-google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
-gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
-rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
diff --git a/backend/heats.go b/backend/heats.go
deleted file mode 100644
index b1749d4..0000000
--- a/backend/heats.go
+++ /dev/null
@@ -1,179 +0,0 @@
-package main
-
-import (
- "encoding/json"
- "fmt"
- "log"
- "net/http"
- "strconv"
- "strings"
- "time"
-
- "github.com/gin-gonic/gin"
- scribble "github.com/nanobox-io/golang-scribble"
-)
-
-type Surfer struct {
- Name string `json:"name"`
- Category string `json:"category"`
- Color string `json:"color"`
- Priority string `json:"priority"`
- Score string `json:"score"`
-}
-
-type Heat struct {
- Round string `json:"round"`
- Category string `json:"category"`
- Number int `json:"number"`
- Timer int `json:"timer"`
- Status string `json:"status"`
- Surfers []Surfer `json:"surfers"`
-}
-
-func heatName(heat Heat) string {
- str := fmt.Sprintf("%s.%d.%s", heat.Round, heat.Number, heat.Category)
- str = strings.ReplaceAll(str, " ", "_")
- return str
-}
-
-func (app *App) SaveHeat(c *gin.Context) {
- var heat Heat
-
- // body, _ := io.ReadAll(c.Request.Body)
-
- // log.Printf("save: %+v", string(body))
-
- err := c.ShouldBind(&heat)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("heat: %+v", heat)
-
- heat.Status = "idle"
-
- err = app.DB.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "saved"})
-}
-
-func (app *App) LoadHeats(c *gin.Context) {
- heats := app.DB.loadHeats()
-
- c.JSON(http.StatusOK, heats)
-
- log.Printf("heats: %+v", heats)
-}
-
-func (app *App) DeleteHeat(c *gin.Context) {
- var heat Heat
-
- err := c.ShouldBind(&heat)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("heat: %+v", heat)
-
- err = app.DB.Delete("Heat", heatName(heat))
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "deleted"})
-}
-
-func (app *App) StartHeatTimer(c *gin.Context) {
- var msg Message
- var err error
- var timer time.Duration
-
- if app.Stream.HeatRunning {
- c.JSON(http.StatusOK, "running")
- return
- }
-
- err = c.ShouldBind(&msg)
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- heat := &Heat{}
-
- json.Unmarshal([]byte(msg.Data), heat)
-
- log.Printf("msg: %+v", msg)
- log.Printf("heat: %+v", heat)
-
- timer, err = time.ParseDuration(strconv.Itoa(heat.Timer) + "m")
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
- app.Stream.HeatTimer = timer
- app.Stream.HeatRunning = true
-
- // app.startHeat()
-
- log.Printf("start timer %s - received %s", app.Stream.HeatTimer, heat.Timer)
- c.JSON(http.StatusOK, app.Stream.HeatRunning)
-}
-
-// func (app *App) StopHeatTimer(c *gin.Context) {
-// if !app.Stream.Start {
-// c.JSON(http.StatusOK, app.Stream.Duration)
-// return
-// }
-
-// stopHeat(app.DB, *app.Stream.Heat)
-// app.Stream.Start = false
-// app.Stream.Duration = 0
-
-// log.Printf("start timer %s", app.Stream.Duration)
-// c.JSON(http.StatusOK, app.Stream.Duration)
-// }
-
-func (app *App) startHeat(heat Heat) error {
- log.Printf("heat: %+v", heat)
-
- heat.Status = "running"
-
- err := app.DB.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- return err
- }
-
- return nil
-}
-
-func stopHeat(db *scribble.Driver, heat Heat) error {
-
- log.Printf("heat: %+v", heat)
-
- heat.Status = "ended"
-
- err := db.Write("Heat", heatName(heat), heat)
- if err != nil {
- log.Printf("set error: %+v", err)
- return err
- }
-
- return nil
-}
diff --git a/backend/http.go b/backend/http.go
deleted file mode 100644
index 0f98847..0000000
--- a/backend/http.go
+++ /dev/null
@@ -1,98 +0,0 @@
-package main
-
-import (
- "os"
-
- "github.com/gin-contrib/cors"
- "github.com/gin-gonic/gin"
-)
-
-type App struct {
- Engine *gin.Engine
- Stream *SseStream
- DB *DB
-}
-
-func InitHttp() *App {
-
- app := &App{
- Engine: nil,
- Stream: nil,
- DB: nil,
- }
-
- app.DB = InitDb(os.Getenv("DB"))
- app.Stream = InitSse()
-
- app.Engine = gin.Default()
- app.Engine.Use(cors.Default())
-
- app.RegisterWebRoutes()
- app.RegisterApiRoutes()
-
- return app
-}
-
-func (app *App) Run() {
-
- port := os.Getenv("PORT")
-
- if port == "" {
- port = "8080"
- }
-
- app.Engine.Run(":" + port)
-}
-
-func (app *App) RegisterWebRoutes() {
-
- display := app.Engine.Group("/display")
- display.Static("/", "./static/display")
-
- priority := app.Engine.Group("/priority")
- priority.Static("/", "./static/priority")
-
- mobile := app.Engine.Group("/mobile")
- mobile.Static("/", "./static/mobile")
-
- setup := app.Engine.Group("/setup")
- setup.Static("/", "./static/setup")
-
- surfers := app.Engine.Group("/surfers")
- surfers.Static("/", "./static/surfers")
-
- draws := app.Engine.Group("/draws")
- draws.Static("/", "./static/draws")
-
- sapp := app.Engine.Group("/_app")
- sapp.Static("/", "./static/_app")
-
- static := app.Engine.Group("/static")
- static.Static("/", "./static/static")
-
- app.Engine.StaticFile("/", "./static/index.html")
- app.Engine.StaticFile("/favicon.png", "./static/favicon.png")
-
- app.Engine.ForwardedByClientIP = true
- app.Engine.SetTrustedProxies([]string{"127.0.0.1"})
-}
-
-func (app *App) RegisterApiRoutes() {
-
- api := app.Engine.Group("/api")
-
- // api.GET("/priority", app.GetPriority)
- // api.POST("/priority", app.SetPriority)
-
- api.GET("/sse", app.Stream.SseHeadersMiddleware(), app.Stream.Stream)
- api.POST("/msg", app.Stream.SendMsg)
- api.POST("/startheat", app.StartHeatTimer)
- // api.GET("/stopheat", app.StopHeatTimer)
- api.POST("/saveheat", app.SaveHeat)
- api.POST("/deleteheat", app.DeleteHeat)
- api.GET("/loadheats", app.LoadHeats)
- // api.GET("/runningheat", app.LoadRunning)
- api.GET("/loadsurfers", app.LoadSurfers)
- api.POST("/savesurfer", app.SaveSurfer)
- api.POST("/deletesurfer", app.DeleteSurfer)
-}
diff --git a/backend/main.go b/backend/main.go
deleted file mode 100644
index b5bd65c..0000000
--- a/backend/main.go
+++ /dev/null
@@ -1,8 +0,0 @@
-package main
-
-func main() {
-
- app := InitHttp()
-
- app.Run()
-}
diff --git a/backend/ssestream.go b/backend/ssestream.go
deleted file mode 100644
index 1e40c66..0000000
--- a/backend/ssestream.go
+++ /dev/null
@@ -1,126 +0,0 @@
-package main
-
-import (
- "io"
- "log"
- "net/http"
- "slices"
- "strconv"
- "time"
-
- "github.com/gin-gonic/gin"
-)
-
-var events = []string{"message", "timer", "priority", "cmd"}
-
-type Message struct {
- Event string `json:"event"`
- Data string `json:"data"`
- Cmd string `json:"cmd"`
- Id string `json:"id"`
-}
-
-type ClientChan chan Message
-
-type Client struct {
- Id string `json:"id"`
- Ip string `json:"ip"`
- Chan ClientChan `json:"chan"`
- Events []string `json:"events"`
-}
-
-type SseStream struct {
- Clients []Client `json:"clients"`
- MsgId map[string]int `json:"msgid"`
- Events []string `json:"events"`
- HeatRunning bool `json:"heat_running"`
- HeatTimer time.Duration `json:"heat_timer"`
-}
-
-func InitSse() *SseStream {
- sse := &SseStream{
- Clients: make([]Client, 0),
- MsgId: map[string]int{},
- Events: events,
- HeatRunning: false,
- HeatTimer: 0,
- }
-
- for i := range events {
- sse.MsgId[events[i]] = 0
- }
-
- return sse
-}
-
-func (sse *SseStream) SseHeadersMiddleware() gin.HandlerFunc {
- return func(c *gin.Context) {
- c.Writer.Header().Set("Content-Type", "text/event-stream")
- c.Writer.Header().Set("Cache-Control", "no-cache")
- c.Writer.Header().Set("Connection", "keep-alive")
- c.Writer.Header().Set("Transfer-Encoding", "chunked")
- c.Next()
- }
-}
-
-func (sse *SseStream) Stream(c *gin.Context) {
- client := &Client{
- Ip: c.Request.RemoteAddr,
- Chan: make(ClientChan),
- Events: c.QueryArray("event"),
- }
-
- log.Printf("events: %+v", client.Events)
-
- client.Id = generateClientId(client.Ip, client.Events, 8)
-
- sse.AddClient(*client)
-
- defer func() {
- sse.RemoveClient(client)
- close(client.Chan)
- log.Printf("Client %s disconnected", client.Ip)
- }()
-
- log.Printf("Client %s connected", client.Ip)
-
- c.Stream(func(w io.Writer) bool {
- msg, ok := <-client.Chan
- if !ok {
- return false
- }
- c.SSEvent(msg.Event, msg)
- return true
- })
-}
-
-func (sse *SseStream) AddClient(client Client) {
- sse.Clients = append(sse.Clients, client)
-}
-
-func (sse *SseStream) RemoveClient(client *Client) {
- for i, c := range sse.Clients {
- if c.Id == client.Id {
- sse.Clients = append(sse.Clients[:i], sse.Clients[i+1:]...)
- return
- }
- }
-}
-
-func (sse *SseStream) Send(msg Message) {
- sse.MsgId[msg.Event]++
- msg.Id = strconv.Itoa(sse.MsgId[msg.Event])
- for _, client := range sse.Clients {
- if slices.Contains(client.Events, msg.Event) || slices.Contains(client.Events, "*") {
- client.Chan <- msg
- log.Printf("sent: %+v -> %+v", msg, client.Ip)
- }
- }
-}
-
-func (sse *SseStream) SendMsg(c *gin.Context) {
- var msg Message
- c.ShouldBind(&msg)
- sse.Send(msg)
- c.JSON(http.StatusOK, gin.H{"status": "msg"})
-}
diff --git a/backend/surfers.go b/backend/surfers.go
deleted file mode 100644
index a8a67e0..0000000
--- a/backend/surfers.go
+++ /dev/null
@@ -1,75 +0,0 @@
-package main
-
-import (
- "fmt"
- "log"
- "net/http"
- "strings"
-
- "github.com/gin-gonic/gin"
-)
-
-type Athlete struct {
- Name string `json:"name"`
- Category string `json:"category"`
-}
-
-func surferName(athlete Athlete) string {
- str := fmt.Sprintf("%s-%s", athlete.Name, athlete.Category)
- str = strings.ReplaceAll(str, " ", "_")
- return str
-}
-
-func (app *App) LoadSurfers(c *gin.Context) {
- surfers := app.DB.loadSurfers()
-
- c.JSON(http.StatusOK, surfers)
-
- log.Printf("surfers: %+v", surfers)
-}
-
-func (app *App) SaveSurfer(c *gin.Context) {
- var athlete Athlete
-
- err := c.ShouldBind(&athlete)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("heat: %+v", athlete)
-
- err = app.DB.Write("Surfers", surferName(athlete), athlete)
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "saved"})
-}
-
-func (app *App) DeleteSurfer(c *gin.Context) {
- var athlete Athlete
-
- err := c.ShouldBind(&athlete)
-
- if err != nil {
- log.Printf("req error: %+v", err)
- c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
- return
- }
-
- log.Printf("surfer: %+v", athlete)
-
- err = app.DB.Delete("Surfers", surferName(athlete))
- if err != nil {
- log.Printf("set error: %+v", err)
- c.JSON(http.StatusInternalServerError, gin.H{"status": fmt.Sprintf("Error: %+v", err)})
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"status": "deleted"})
-}
diff --git a/backend/utils.go b/backend/utils.go
deleted file mode 100644
index ff8c0af..0000000
--- a/backend/utils.go
+++ /dev/null
@@ -1,14 +0,0 @@
-package main
-
-import (
- "crypto/sha256"
- "fmt"
- "strings"
-)
-
-func generateClientId(ip string, events []string, len int) string {
- str := ip + strings.Join(events, "|")
- id := sha256.Sum256([]byte(str))
-
- return fmt.Sprintf("%X", id)[0:len]
-}
diff --git a/docker/build.sh b/docker/build.sh
old mode 100644
new mode 100755
index 64eb9b6..8feed01
--- a/docker/build.sh
+++ b/docker/build.sh
@@ -1,5 +1,5 @@
#!/bin/bash
- docker build -t mikif70/topscorer -f ./Dockerfile ../backend/
+ docker build -t mikif70/topscorer -f ./Dockerfile ../backend.light/
- docker save -o topscorer.tar mikif70/topscorer
\ No newline at end of file
+ docker save -o topscorer.tar mikif70/topscorer
diff --git a/frontend.light/src/routes/display-h/+page.svelte b/frontend.light/src/routes/display-h/+page.svelte
index 607e16c..e96565e 100644
--- a/frontend.light/src/routes/display-h/+page.svelte
+++ b/frontend.light/src/routes/display-h/+page.svelte
@@ -11,6 +11,8 @@
const events = ['priority'];
+ $: setup_height = 100 / $surfersCount - 2.2 / $surfersCount;
+
window.document.body.oncontextmenu = function () {
return false;
};
@@ -59,13 +61,17 @@
@@ -87,9 +93,6 @@
li {
display: flex;
flex-direction: row;
- /* border: 2px solid black; */
- /* min-height: 18.8vh; */
- /* width: 99.4vw; */
margin-top: 0.2vh;
margin-bottom: 0.2vh;
overflow: hidden;
@@ -100,7 +103,6 @@
align-self: center;
min-height: 19vh;
min-width: 19vh;
- /* border-right: 2px solid gray; */
margin-right: 0.2vw;
background-color: gray;
}
diff --git a/frontend.old/.eslintignore b/frontend.old/.eslintignore
deleted file mode 100644
index 3897265..0000000
--- a/frontend.old/.eslintignore
+++ /dev/null
@@ -1,13 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/frontend.old/.eslintrc.cjs b/frontend.old/.eslintrc.cjs
deleted file mode 100644
index 8c48255..0000000
--- a/frontend.old/.eslintrc.cjs
+++ /dev/null
@@ -1,15 +0,0 @@
-/** @type { import("eslint").Linter.FlatConfig } */
-module.exports = {
- root: true,
- extends: ['eslint:recommended', 'plugin:svelte/recommended', 'prettier'],
- parserOptions: {
- sourceType: 'module',
- ecmaVersion: 2020,
- extraFileExtensions: ['.svelte']
- },
- env: {
- browser: true,
- es2017: true,
- node: true
- }
-};
diff --git a/frontend.old/.gitignore b/frontend.old/.gitignore
deleted file mode 100644
index 6635cf5..0000000
--- a/frontend.old/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
diff --git a/frontend.old/.npmrc b/frontend.old/.npmrc
deleted file mode 100644
index b6f27f1..0000000
--- a/frontend.old/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-engine-strict=true
diff --git a/frontend.old/.prettierignore b/frontend.old/.prettierignore
deleted file mode 100644
index 3897265..0000000
--- a/frontend.old/.prettierignore
+++ /dev/null
@@ -1,13 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/frontend.old/.prettierrc b/frontend.old/.prettierrc
deleted file mode 100644
index 9573023..0000000
--- a/frontend.old/.prettierrc
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "useTabs": true,
- "singleQuote": true,
- "trailingComma": "none",
- "printWidth": 100,
- "plugins": ["prettier-plugin-svelte"],
- "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
-}
diff --git a/frontend.old/README.md b/frontend.old/README.md
deleted file mode 100644
index 5c91169..0000000
--- a/frontend.old/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# create-svelte
-
-Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
-
-## Creating a project
-
-If you're seeing this, you've probably already done this step. Congrats!
-
-```bash
-# create a new project in the current directory
-npm create svelte@latest
-
-# create a new project in my-app
-npm create svelte@latest my-app
-```
-
-## Developing
-
-Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
-
-```bash
-npm run dev
-
-# or start the server and open the app in a new browser tab
-npm run dev -- --open
-```
-
-## Building
-
-To create a production version of your app:
-
-```bash
-npm run build
-```
-
-You can preview the production build with `npm run preview`.
-
-> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/frontend.old/package.json b/frontend.old/package.json
deleted file mode 100644
index acfd23a..0000000
--- a/frontend.old/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "frontend",
- "version": "0.0.1",
- "private": true,
- "scripts": {
- "dev": "vite dev --host",
- "build": "vite build",
- "preview": "vite preview",
- "lint": "prettier --check . && eslint .",
- "format": "prettier --write ."
- },
- "devDependencies": {
- "@sveltejs/adapter-auto": "^2.1.1",
- "@sveltejs/adapter-static": "^2.0.3",
- "@sveltejs/kit": "^1.30.3",
- "eslint": "^8.56.0",
- "eslint-config-prettier": "^9.1.0",
- "eslint-plugin-svelte": "^2.35.1",
- "prettier": "^3.1.1",
- "prettier-plugin-svelte": "^3.1.2",
- "sass": "^1.69.5",
- "svelte": "^4.2.8",
- "vite": "^4.5.1"
- },
- "type": "module"
-}
diff --git a/frontend.old/pnpm-lock.yaml b/frontend.old/pnpm-lock.yaml
deleted file mode 100644
index cf24851..0000000
--- a/frontend.old/pnpm-lock.yaml
+++ /dev/null
@@ -1,1588 +0,0 @@
-lockfileVersion: '6.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-devDependencies:
- '@sveltejs/adapter-auto':
- specifier: ^2.1.1
- version: 2.1.1(@sveltejs/kit@1.30.3)
- '@sveltejs/adapter-static':
- specifier: ^2.0.3
- version: 2.0.3(@sveltejs/kit@1.30.3)
- '@sveltejs/kit':
- specifier: ^1.30.3
- version: 1.30.3(svelte@4.2.8)(vite@4.5.1)
- eslint:
- specifier: ^8.56.0
- version: 8.56.0
- eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@8.56.0)
- eslint-plugin-svelte:
- specifier: ^2.35.1
- version: 2.35.1(eslint@8.56.0)(svelte@4.2.8)
- prettier:
- specifier: ^3.1.1
- version: 3.1.1
- prettier-plugin-svelte:
- specifier: ^3.1.2
- version: 3.1.2(prettier@3.1.1)(svelte@4.2.8)
- sass:
- specifier: ^1.69.5
- version: 1.69.5
- svelte:
- specifier: ^4.2.8
- version: 4.2.8
- vite:
- specifier: ^4.5.1
- version: 4.5.1(sass@1.69.5)
-
-packages:
-
- /@aashutoshrathi/word-wrap@1.2.6:
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /@ampproject/remapping@2.2.1:
- resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
- dev: true
-
- /@esbuild/android-arm64@0.18.20:
- resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.18.20:
- resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.18.20:
- resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.18.20:
- resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.18.20:
- resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.18.20:
- resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.18.20:
- resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.18.20:
- resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.18.20:
- resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.18.20:
- resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.18.20:
- resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.18.20:
- resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.18.20:
- resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.18.20:
- resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.18.20:
- resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.18.20:
- resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.18.20:
- resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.18.20:
- resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.18.20:
- resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.18.20:
- resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.18.20:
- resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.18.20:
- resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.56.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
-
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.0
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@eslint/js@8.56.0:
- resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@fastify/busboy@2.1.0:
- resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==}
- engines: {node: '>=14'}
- dev: true
-
- /@humanwhocodes/config-array@0.11.13:
- resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.1
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: true
-
- /@humanwhocodes/object-schema@2.0.1:
- resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
- dev: true
-
- /@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
- dev: true
-
- /@jridgewell/resolve-uri@3.1.1:
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
-
- /@jridgewell/trace-mapping@0.3.20:
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.1
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.15.0
- dev: true
-
- /@polka/url@1.0.0-next.24:
- resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
- dev: true
-
- /@sveltejs/adapter-auto@2.1.1(@sveltejs/kit@1.30.3):
- resolution: {integrity: sha512-nzi6x/7/3Axh5VKQ8Eed3pYxastxoa06Y/bFhWb7h3Nu+nGRVxKAy3+hBJgmPCwWScy8n0TsstZjSVKfyrIHkg==}
- peerDependencies:
- '@sveltejs/kit': ^1.0.0
- dependencies:
- '@sveltejs/kit': 1.30.3(svelte@4.2.8)(vite@4.5.1)
- import-meta-resolve: 4.0.0
- dev: true
-
- /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.30.3):
- resolution: {integrity: sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==}
- peerDependencies:
- '@sveltejs/kit': ^1.5.0
- dependencies:
- '@sveltejs/kit': 1.30.3(svelte@4.2.8)(vite@4.5.1)
- dev: true
-
- /@sveltejs/kit@1.30.3(svelte@4.2.8)(vite@4.5.1):
- resolution: {integrity: sha512-0DzVXfU4h+tChFvoc8C61IqErCyskD4ydSIDjpKS2lYlEzIYrtYrY7juSqACFxqcvZAnOEXvSY+zZ8br0+ZMMg==}
- engines: {node: ^16.14 || >=18}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0
- vite: ^4.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@4.5.1)
- '@types/cookie': 0.5.4
- cookie: 0.5.0
- devalue: 4.3.2
- esm-env: 1.0.0
- kleur: 4.1.5
- magic-string: 0.30.5
- mrmime: 1.0.1
- sade: 1.8.1
- set-cookie-parser: 2.6.0
- sirv: 2.0.3
- svelte: 4.2.8
- tiny-glob: 0.2.9
- undici: 5.26.5
- vite: 4.5.1(sass@1.69.5)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@4.5.1):
- resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==}
- engines: {node: ^14.18.0 || >= 16}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^2.2.0
- svelte: ^3.54.0 || ^4.0.0
- vite: ^4.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@4.5.1)
- debug: 4.3.4
- svelte: 4.2.8
- vite: 4.5.1(sass@1.69.5)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@sveltejs/vite-plugin-svelte@2.5.3(svelte@4.2.8)(vite@4.5.1):
- resolution: {integrity: sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==}
- engines: {node: ^14.18.0 || >= 16}
- peerDependencies:
- svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0
- vite: ^4.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@4.5.1)
- debug: 4.3.4
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.5
- svelte: 4.2.8
- svelte-hmr: 0.15.3(svelte@4.2.8)
- vite: 4.5.1(sass@1.69.5)
- vitefu: 0.2.5(vite@4.5.1)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@types/cookie@0.5.4:
- resolution: {integrity: sha512-7z/eR6O859gyWIAjuvBWFzNURmf2oPBmJlfVWkwehU5nzIyjwBsTh7WMmEEV4JFnHuQ3ex4oyTvfKzcyJVDBNA==}
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
-
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
-
- /acorn-jsx@5.3.2(acorn@8.11.2):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.11.2
- dev: true
-
- /acorn@8.11.2:
- resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
- dev: true
-
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
- dev: true
-
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
- dev: true
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /axobject-query@3.2.1:
- resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
- dev: true
-
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
- dev: true
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /code-red@1.0.4:
- resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- '@types/estree': 1.0.5
- acorn: 8.11.2
- estree-walker: 3.0.3
- periscopic: 3.1.0
- dev: true
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
- dev: true
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
-
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
-
- /cookie@0.5.0:
- resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- dependencies:
- mdn-data: 2.0.30
- source-map-js: 1.0.2
- dev: true
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
-
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
- dev: true
-
- /devalue@4.3.2:
- resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
- dev: true
-
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
- dev: true
-
- /esbuild@0.18.20:
- resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.18.20
- '@esbuild/android-arm64': 0.18.20
- '@esbuild/android-x64': 0.18.20
- '@esbuild/darwin-arm64': 0.18.20
- '@esbuild/darwin-x64': 0.18.20
- '@esbuild/freebsd-arm64': 0.18.20
- '@esbuild/freebsd-x64': 0.18.20
- '@esbuild/linux-arm': 0.18.20
- '@esbuild/linux-arm64': 0.18.20
- '@esbuild/linux-ia32': 0.18.20
- '@esbuild/linux-loong64': 0.18.20
- '@esbuild/linux-mips64el': 0.18.20
- '@esbuild/linux-ppc64': 0.18.20
- '@esbuild/linux-riscv64': 0.18.20
- '@esbuild/linux-s390x': 0.18.20
- '@esbuild/linux-x64': 0.18.20
- '@esbuild/netbsd-x64': 0.18.20
- '@esbuild/openbsd-x64': 0.18.20
- '@esbuild/sunos-x64': 0.18.20
- '@esbuild/win32-arm64': 0.18.20
- '@esbuild/win32-ia32': 0.18.20
- '@esbuild/win32-x64': 0.18.20
- dev: true
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: true
-
- /eslint-compat-utils@0.1.2(eslint@8.56.0):
- resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
- engines: {node: '>=12'}
- peerDependencies:
- eslint: '>=6.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-config-prettier@9.1.0(eslint@8.56.0):
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
- hasBin: true
- peerDependencies:
- eslint: '>=7.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.8):
- resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0-0
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@jridgewell/sourcemap-codec': 1.4.15
- debug: 4.3.4
- eslint: 8.56.0
- eslint-compat-utils: 0.1.2(eslint@8.56.0)
- esutils: 2.0.3
- known-css-properties: 0.29.0
- postcss: 8.4.32
- postcss-load-config: 3.1.4(postcss@8.4.32)
- postcss-safe-parser: 6.0.0(postcss@8.4.32)
- postcss-selector-parser: 6.0.13
- semver: 7.5.4
- svelte: 4.2.8
- svelte-eslint-parser: 0.33.1(svelte@4.2.8)
- transitivePeerDependencies:
- - supports-color
- - ts-node
- dev: true
-
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- dev: true
-
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /eslint@8.56.0:
- resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.56.0
- '@humanwhocodes/config-array': 0.11.13
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.4
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.0
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /esm-env@1.0.0:
- resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
- dev: true
-
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
-
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
-
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
-
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
-
- /fastq@1.15.0:
- resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
- dependencies:
- reusify: 1.0.4
- dev: true
-
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.2.0
- dev: true
-
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
- dependencies:
- to-regex-range: 5.0.1
- dev: true
-
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
- dev: true
-
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flatted: 3.2.9
- keyv: 4.5.4
- rimraf: 3.0.2
- dev: true
-
- /flatted@3.2.9:
- resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
- dev: true
-
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
- /globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
- dev: true
-
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: true
-
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ignore@5.3.0:
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
- engines: {node: '>= 4'}
- dev: true
-
- /immutable@4.3.4:
- resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==}
- dev: true
-
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
-
- /import-meta-resolve@4.0.0:
- resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
- dev: true
-
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
-
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
-
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
- dependencies:
- binary-extensions: 2.2.0
- dev: true
-
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
- dev: true
-
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
- dependencies:
- argparse: 2.0.1
- dev: true
-
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
-
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
-
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
-
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- dependencies:
- json-buffer: 3.0.1
- dev: true
-
- /kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
- dev: true
-
- /known-css-properties@0.29.0:
- resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
- dev: true
-
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
- dev: true
-
- /locate-character@3.0.0:
- resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
- dev: true
-
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
- dependencies:
- p-locate: 5.0.0
- dev: true
-
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
-
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /magic-string@0.30.5:
- resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: true
-
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
- dev: true
-
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
- dev: true
-
- /mrmime@1.0.1:
- resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
- engines: {node: '>=10'}
- dev: true
-
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
-
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
- dev: true
-
- /optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
- dependencies:
- yocto-queue: 0.1.0
- dev: true
-
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
- dependencies:
- p-limit: 3.1.0
- dev: true
-
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
- dependencies:
- callsites: 3.1.0
- dev: true
-
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
-
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 3.0.3
- is-reference: 3.0.2
- dev: true
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
- dev: true
-
- /postcss-load-config@3.1.4(postcss@8.4.32):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.1.0
- postcss: 8.4.32
- yaml: 1.10.2
- dev: true
-
- /postcss-safe-parser@6.0.0(postcss@8.4.32):
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.3.3
- dependencies:
- postcss: 8.4.32
- dev: true
-
- /postcss-scss@4.0.9(postcss@8.4.32):
- resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.4.29
- dependencies:
- postcss: 8.4.32
- dev: true
-
- /postcss-selector-parser@6.0.13:
- resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
- engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
- dev: true
-
- /postcss@8.4.32:
- resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: true
-
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /prettier-plugin-svelte@3.1.2(prettier@3.1.1)(svelte@4.2.8):
- resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
- peerDependencies:
- prettier: ^3.0.0
- svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
- dependencies:
- prettier: 3.1.1
- svelte: 4.2.8
- dev: true
-
- /prettier@3.1.1:
- resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
-
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
-
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
- dev: true
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
-
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: true
-
- /rollup@3.29.4:
- resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
-
- /sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
- dependencies:
- mri: 1.2.0
- dev: true
-
- /sass@1.69.5:
- resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==}
- engines: {node: '>=14.0.0'}
- hasBin: true
- dependencies:
- chokidar: 3.5.3
- immutable: 4.3.4
- source-map-js: 1.0.2
- dev: true
-
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /set-cookie-parser@2.6.0:
- resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
- dev: true
-
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /sirv@2.0.3:
- resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
- engines: {node: '>= 10'}
- dependencies:
- '@polka/url': 1.0.0-next.24
- mrmime: 1.0.1
- totalist: 3.0.1
- dev: true
-
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
- dependencies:
- ansi-regex: 5.0.1
- dev: true
-
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
-
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /svelte-eslint-parser@0.33.1(svelte@4.2.8):
- resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- postcss: 8.4.32
- postcss-scss: 4.0.9(postcss@8.4.32)
- svelte: 4.2.8
- dev: true
-
- /svelte-hmr@0.15.3(svelte@4.2.8):
- resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
- engines: {node: ^12.20 || ^14.13.1 || >= 16}
- peerDependencies:
- svelte: ^3.19.0 || ^4.0.0
- dependencies:
- svelte: 4.2.8
- dev: true
-
- /svelte@4.2.8:
- resolution: {integrity: sha512-hU6dh1MPl8gh6klQZwK/n73GiAHiR95IkFsesLPbMeEZi36ydaXL/ZAb4g9sayT0MXzpxyZjR28yderJHxcmYA==}
- engines: {node: '>=16'}
- dependencies:
- '@ampproject/remapping': 2.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
- acorn: 8.11.2
- aria-query: 5.3.0
- axobject-query: 3.2.1
- code-red: 1.0.4
- css-tree: 2.3.1
- estree-walker: 3.0.3
- is-reference: 3.0.2
- locate-character: 3.0.0
- magic-string: 0.30.5
- periscopic: 3.1.0
- dev: true
-
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
-
- /tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
- dev: true
-
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
- dev: true
-
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: true
-
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- dev: true
-
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
-
- /undici@5.26.5:
- resolution: {integrity: sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==}
- engines: {node: '>=14.0'}
- dependencies:
- '@fastify/busboy': 2.1.0
- dev: true
-
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- dependencies:
- punycode: 2.3.1
- dev: true
-
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
-
- /vite@4.5.1(sass@1.69.5):
- resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==}
- engines: {node: ^14.18.0 || >=16.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': '>= 14'
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- dependencies:
- esbuild: 0.18.20
- postcss: 8.4.32
- rollup: 3.29.4
- sass: 1.69.5
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /vitefu@0.2.5(vite@4.5.1):
- resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- vite:
- optional: true
- dependencies:
- vite: 4.5.1(sass@1.69.5)
- dev: true
-
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
-
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
-
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: true
-
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
diff --git a/frontend.old/src/app.html b/frontend.old/src/app.html
deleted file mode 100644
index 77a5ff5..0000000
--- a/frontend.old/src/app.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- %sveltekit.head%
-
-
- %sveltekit.body%
-
-
diff --git a/frontend.old/src/lib/icons/login.svelte b/frontend.old/src/lib/icons/login.svelte
deleted file mode 100644
index 1b0b5f4..0000000
--- a/frontend.old/src/lib/icons/login.svelte
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
diff --git a/frontend.old/src/lib/icons/priority.svelte b/frontend.old/src/lib/icons/priority.svelte
deleted file mode 100644
index 7423c56..0000000
--- a/frontend.old/src/lib/icons/priority.svelte
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
diff --git a/frontend.old/src/lib/icons/score.svelte b/frontend.old/src/lib/icons/score.svelte
deleted file mode 100644
index ddf6f62..0000000
--- a/frontend.old/src/lib/icons/score.svelte
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
diff --git a/frontend.old/src/lib/img/topscorer_logo_alpha.png b/frontend.old/src/lib/img/topscorer_logo_alpha.png
deleted file mode 100755
index b05ca7f..0000000
Binary files a/frontend.old/src/lib/img/topscorer_logo_alpha.png and /dev/null differ
diff --git a/frontend.old/src/lib/img/topscorer_logo_icon.png b/frontend.old/src/lib/img/topscorer_logo_icon.png
deleted file mode 100644
index 8daceda..0000000
Binary files a/frontend.old/src/lib/img/topscorer_logo_icon.png and /dev/null differ
diff --git a/frontend.old/src/lib/img/topscorer_logo_web.png b/frontend.old/src/lib/img/topscorer_logo_web.png
deleted file mode 100755
index 848b76a..0000000
Binary files a/frontend.old/src/lib/img/topscorer_logo_web.png and /dev/null differ
diff --git a/frontend.old/src/lib/index.js b/frontend.old/src/lib/index.js
deleted file mode 100644
index 856f2b6..0000000
--- a/frontend.old/src/lib/index.js
+++ /dev/null
@@ -1 +0,0 @@
-// place files you want to import through the `$lib` alias in this folder.
diff --git a/frontend.old/src/lib/store/surfer.js b/frontend.old/src/lib/store/surfer.js
deleted file mode 100644
index 3cdec87..0000000
--- a/frontend.old/src/lib/store/surfer.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { writable } from 'svelte/store'
-
-export default function () {
- const surfers = writable([]);
-
- async function get() {
- const response = await fetch(`/api/surfers`)
- surfers.set(await response.json())
- }
-
- get();
-
- return surfers;
-}
\ No newline at end of file
diff --git a/frontend.old/src/lib/store/user.js b/frontend.old/src/lib/store/user.js
deleted file mode 100644
index 356dca3..0000000
--- a/frontend.old/src/lib/store/user.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { writable } from 'svelte/store'
-
-export default function () {
- const users = writable([]);
-
- async function get() {
- const response = await fetch(`/api/users`)
- users.set(await response.json())
- }
-
- get();
-
- return users;
-}
\ No newline at end of file
diff --git a/frontend.old/src/routes/+layout.js b/frontend.old/src/routes/+layout.js
deleted file mode 100644
index 8139312..0000000
--- a/frontend.old/src/routes/+layout.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const prerender = true;
-export const ssr = false;
-export const trailingSlash = 'always';
\ No newline at end of file
diff --git a/frontend.old/src/routes/+page.svelte b/frontend.old/src/routes/+page.svelte
deleted file mode 100644
index 1e35b28..0000000
--- a/frontend.old/src/routes/+page.svelte
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-

-
-
-
-
diff --git a/frontend.old/src/routes/displayh/+page.svelte b/frontend.old/src/routes/displayh/+page.svelte
deleted file mode 100644
index d9e367d..0000000
--- a/frontend.old/src/routes/displayh/+page.svelte
+++ /dev/null
@@ -1,240 +0,0 @@
-
-
-
-
-
-
-
- {#each surfers as surfer, id}
-
-
- {#if surfer.priority != ''}
- {#if surfer.priority === 'P'}
- {#if surfer.color === 'white'}
- {surfer.priority}
- {:else}
- {surfer.priority}
- {/if}
- {:else}
- {surfer.priority}
- {/if}
- {/if}
-
-
{surfer.score}
-
- {/each}
-
-
-
diff --git a/frontend.old/src/routes/displayv/+page.svelte b/frontend.old/src/routes/displayv/+page.svelte
deleted file mode 100644
index 1bcdd11..0000000
--- a/frontend.old/src/routes/displayv/+page.svelte
+++ /dev/null
@@ -1,256 +0,0 @@
-
-
-
-
-
-
-
- {#each surfers as surfer, id}
-
-
- {#if surfer.priority != ''}
- {#if surfer.priority === 'P'}
- {#if surfer.color === 'white'}
- {surfer.priority}
- {:else}
- {surfer.priority}
- {/if}
- {:else}
- {surfer.priority}
- {/if}
- {/if}
-
-
{surfer.score}
-
- {/each}
-
-
-
diff --git a/frontend.old/src/routes/draws/+page.svelte b/frontend.old/src/routes/draws/+page.svelte
deleted file mode 100644
index a5cf0dc..0000000
--- a/frontend.old/src/routes/draws/+page.svelte
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-{#each heats as heat}
-
-
- {#if heat.status === 'running'}
-
- {heat.name} ({heat.number}) {heat.category}
- |
- {:else if heat.status === 'ended'}
-
- {heat.name} ({heat.number}) {heat.category}
- |
- {:else}
-
- {heat.name} ({heat.number}) {heat.category}
- |
- {/if}
-
- {#each heat.surfers as surfer }
-
-
- {surfer.name}
- |
-
- {surfer.color}
- |
-
- {/each}
-
-
-{/each}
-
-
\ No newline at end of file
diff --git a/frontend.old/src/routes/mobile/+page.svelte b/frontend.old/src/routes/mobile/+page.svelte
deleted file mode 100644
index 3d8bb98..0000000
--- a/frontend.old/src/routes/mobile/+page.svelte
+++ /dev/null
@@ -1,353 +0,0 @@
-
-
-
-
-
-
-
- {#each surfers as surfer, id}
-
-
- {#if surfer.priority != ''}
- {surfer.priority}
- {/if}
-
-
{surfer.name}
-
{surfer.score}
-
- {/each}
-
-
-{#if width < 768}
-
-{/if}
-
-
diff --git a/frontend.old/src/routes/priority/+page.svelte b/frontend.old/src/routes/priority/+page.svelte
deleted file mode 100644
index 7035fb2..0000000
--- a/frontend.old/src/routes/priority/+page.svelte
+++ /dev/null
@@ -1,399 +0,0 @@
-
-
-
-
-
-
-
- {#each surfers as surfer, id}
-
-
click(id)}
- on:contextmenu={(e) => {
- e.preventDefault();
- dblclick(id);
- }}
- on:keypress={console.log('keypress')}
- role="button"
- tabindex={id}
- >
- {#if surfer.priority != ''}
- {#if surfer.priority === 'P'}
- {#if surfer.color === 'white'}
- {surfer.priority}
- {:else}
- {surfer.priority}
- {/if}
- {:else}
- {surfer.priority}
- {/if}
- {/if}
-
-
{surfer.score}
-
- {/each}
-
-
-
diff --git a/frontend.old/src/routes/setup/+page.svelte b/frontend.old/src/routes/setup/+page.svelte
deleted file mode 100644
index 28f6001..0000000
--- a/frontend.old/src/routes/setup/+page.svelte
+++ /dev/null
@@ -1,376 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{surfers}
-
-
-
- {#each Array(surfers) as _, surfer}
-
-
-
-
-
-
-
- {/each}
-
-
-
-
-
-
-{#each heats as h, id}
-
-
-
-
-{/each}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend.old/static/favicon.png b/frontend.old/static/favicon.png
deleted file mode 100644
index 825b9e6..0000000
Binary files a/frontend.old/static/favicon.png and /dev/null differ
diff --git a/frontend.old/svelte.config.js b/frontend.old/svelte.config.js
deleted file mode 100644
index d05d7b9..0000000
--- a/frontend.old/svelte.config.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { vitePreprocess } from '@sveltejs/kit/vite';
-// import adapter from '@sveltejs/adapter-auto';
-import adapter from '@sveltejs/adapter-static';
-
-/** @type {import('@sveltejs/kit').Config} */
-const config = {
- kit: {
- // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
- // If your environment is not supported or you settled on a specific environment, switch out the adapter.
- // See https://kit.svelte.dev/docs/adapters for more information about adapters.
- adapter: adapter({
- pages: '../backend/static',
- assets: '../backend/static',
- fallback: 'index.html',
- precompress: true,
- strict: true
- })
- },
- preprocess: [vitePreprocess({})]
-};
-
-export default config;
diff --git a/frontend.old/vite.config.js b/frontend.old/vite.config.js
deleted file mode 100644
index c8c4bec..0000000
--- a/frontend.old/vite.config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
-
-export default defineConfig({
- plugins: [sveltekit()],
-
- css: {
- preprocessorOptions: {
- sass: {
- additionalData: '@use "src/variables.sass" as *'
- }
- }
- }
-});
diff --git a/frontend/.eslintignore b/frontend/.eslintignore
deleted file mode 100644
index 3897265..0000000
--- a/frontend/.eslintignore
+++ /dev/null
@@ -1,13 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs
deleted file mode 100644
index 8c48255..0000000
--- a/frontend/.eslintrc.cjs
+++ /dev/null
@@ -1,15 +0,0 @@
-/** @type { import("eslint").Linter.FlatConfig } */
-module.exports = {
- root: true,
- extends: ['eslint:recommended', 'plugin:svelte/recommended', 'prettier'],
- parserOptions: {
- sourceType: 'module',
- ecmaVersion: 2020,
- extraFileExtensions: ['.svelte']
- },
- env: {
- browser: true,
- es2017: true,
- node: true
- }
-};
diff --git a/frontend/.gitignore b/frontend/.gitignore
deleted file mode 100644
index 6635cf5..0000000
--- a/frontend/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.DS_Store
-node_modules
-/build
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
diff --git a/frontend/.npmrc b/frontend/.npmrc
deleted file mode 100644
index b6f27f1..0000000
--- a/frontend/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-engine-strict=true
diff --git a/frontend/.prettierignore b/frontend/.prettierignore
deleted file mode 100644
index cc41cea..0000000
--- a/frontend/.prettierignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# Ignore files for PNPM, NPM and YARN
-pnpm-lock.yaml
-package-lock.json
-yarn.lock
diff --git a/frontend/.prettierrc b/frontend/.prettierrc
deleted file mode 100644
index 9573023..0000000
--- a/frontend/.prettierrc
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "useTabs": true,
- "singleQuote": true,
- "trailingComma": "none",
- "printWidth": 100,
- "plugins": ["prettier-plugin-svelte"],
- "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
-}
diff --git a/frontend/README.md b/frontend/README.md
deleted file mode 100644
index 5ce6766..0000000
--- a/frontend/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# create-svelte
-
-Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
-
-## Creating a project
-
-If you're seeing this, you've probably already done this step. Congrats!
-
-```bash
-# create a new project in the current directory
-npm create svelte@latest
-
-# create a new project in my-app
-npm create svelte@latest my-app
-```
-
-## Developing
-
-Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
-
-```bash
-npm run dev
-
-# or start the server and open the app in a new browser tab
-npm run dev -- --open
-```
-
-## Building
-
-To create a production version of your app:
-
-```bash
-npm run build
-```
-
-You can preview the production build with `npm run preview`.
-
-> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/frontend/package.json b/frontend/package.json
deleted file mode 100644
index a2b0c07..0000000
--- a/frontend/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "frontend",
- "version": "0.0.1",
- "private": true,
- "scripts": {
- "dev": "vite dev --host",
- "build": "vite build",
- "preview": "vite preview --host",
- "lint": "prettier --check . && eslint .",
- "format": "prettier --write ."
- },
- "devDependencies": {
- "@sveltejs/adapter-auto": "^3.1.0",
- "@sveltejs/adapter-static": "^3.0.1",
- "@sveltejs/kit": "^2.1.0",
- "@sveltejs/vite-plugin-svelte": "^3.0.1",
- "eslint": "^8.56.0",
- "eslint-config-prettier": "^9.1.0",
- "eslint-plugin-svelte": "^2.35.1",
- "prettier": "^3.1.1",
- "prettier-plugin-svelte": "^3.1.2",
- "svelte": "^4.2.8",
- "vite": "^5.0.11"
- },
- "type": "module"
-}
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
deleted file mode 100644
index 0890d8b..0000000
--- a/frontend/pnpm-lock.yaml
+++ /dev/null
@@ -1,1604 +0,0 @@
-lockfileVersion: '6.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-devDependencies:
- '@sveltejs/adapter-auto':
- specifier: ^3.1.0
- version: 3.1.0(@sveltejs/kit@2.1.0)
- '@sveltejs/adapter-static':
- specifier: ^3.0.1
- version: 3.0.1(@sveltejs/kit@2.1.0)
- '@sveltejs/kit':
- specifier: ^2.1.0
- version: 2.1.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11)
- '@sveltejs/vite-plugin-svelte':
- specifier: ^3.0.1
- version: 3.0.1(svelte@4.2.8)(vite@5.0.11)
- eslint:
- specifier: ^8.56.0
- version: 8.56.0
- eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@8.56.0)
- eslint-plugin-svelte:
- specifier: ^2.35.1
- version: 2.35.1(eslint@8.56.0)(svelte@4.2.8)
- prettier:
- specifier: ^3.1.1
- version: 3.1.1
- prettier-plugin-svelte:
- specifier: ^3.1.2
- version: 3.1.2(prettier@3.1.1)(svelte@4.2.8)
- svelte:
- specifier: ^4.2.8
- version: 4.2.8
- vite:
- specifier: ^5.0.11
- version: 5.0.11
-
-packages:
-
- /@aashutoshrathi/word-wrap@1.2.6:
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /@ampproject/remapping@2.2.1:
- resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
- dev: true
-
- /@esbuild/aix-ppc64@0.19.11:
- resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm64@0.19.11:
- resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.19.11:
- resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.19.11:
- resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.19.11:
- resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.19.11:
- resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.19.11:
- resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.19.11:
- resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.19.11:
- resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.19.11:
- resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.19.11:
- resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.19.11:
- resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.19.11:
- resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.19.11:
- resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.19.11:
- resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.19.11:
- resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.19.11:
- resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.19.11:
- resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.19.11:
- resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.19.11:
- resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.19.11:
- resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.19.11:
- resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.19.11:
- resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.56.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
-
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.0
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@eslint/js@8.56.0:
- resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@humanwhocodes/config-array@0.11.13:
- resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.1
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: true
-
- /@humanwhocodes/object-schema@2.0.1:
- resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
- dev: true
-
- /@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
- dev: true
-
- /@jridgewell/resolve-uri@3.1.1:
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: true
-
- /@jridgewell/trace-mapping@0.3.20:
- resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.1
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.16.0
- dev: true
-
- /@polka/url@1.0.0-next.24:
- resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
- dev: true
-
- /@rollup/rollup-android-arm-eabi@4.9.4:
- resolution: {integrity: sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-android-arm64@4.9.4:
- resolution: {integrity: sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-arm64@4.9.4:
- resolution: {integrity: sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-darwin-x64@4.9.4:
- resolution: {integrity: sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm-gnueabihf@4.9.4:
- resolution: {integrity: sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-gnu@4.9.4:
- resolution: {integrity: sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-arm64-musl@4.9.4:
- resolution: {integrity: sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-riscv64-gnu@4.9.4:
- resolution: {integrity: sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-gnu@4.9.4:
- resolution: {integrity: sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-linux-x64-musl@4.9.4:
- resolution: {integrity: sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-arm64-msvc@4.9.4:
- resolution: {integrity: sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-ia32-msvc@4.9.4:
- resolution: {integrity: sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@rollup/rollup-win32-x64-msvc@4.9.4:
- resolution: {integrity: sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@sveltejs/adapter-auto@3.1.0(@sveltejs/kit@2.1.0):
- resolution: {integrity: sha512-igS5hqCwdiXWb8NoWzThKCVQQj9tKgUkbTtzfxBPgSLOyFjkiGNDX0SgCoY2QIUWBqOkfGTOqGlrW5Ynw9oUvw==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
- dependencies:
- '@sveltejs/kit': 2.1.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11)
- import-meta-resolve: 4.0.0
- dev: true
-
- /@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.1.0):
- resolution: {integrity: sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==}
- peerDependencies:
- '@sveltejs/kit': ^2.0.0
- dependencies:
- '@sveltejs/kit': 2.1.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11)
- dev: true
-
- /@sveltejs/kit@2.1.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11):
- resolution: {integrity: sha512-XSIjk9uY705VRpLapfScvOI3bKTfPXntLCdWVsQHhLvkTD7TPNHWh45/6nTT1vQ8rJwWzzA5sLide2YLT4FMsg==}
- engines: {node: '>=18.13'}
- hasBin: true
- requiresBuild: true
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.3
- dependencies:
- '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.11)
- '@types/cookie': 0.6.0
- cookie: 0.6.0
- devalue: 4.3.2
- esm-env: 1.0.0
- import-meta-resolve: 4.0.0
- kleur: 4.1.5
- magic-string: 0.30.5
- mrmime: 2.0.0
- sade: 1.8.1
- set-cookie-parser: 2.6.0
- sirv: 2.0.4
- svelte: 4.2.8
- tiny-glob: 0.2.9
- vite: 5.0.11
- dev: true
-
- /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11):
- resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^3.0.0
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.11)
- debug: 4.3.4
- svelte: 4.2.8
- vite: 5.0.11
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.11):
- resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==}
- engines: {node: ^18.0.0 || >=20}
- peerDependencies:
- svelte: ^4.0.0 || ^5.0.0-next.0
- vite: ^5.0.0
- dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.11)
- debug: 4.3.4
- deepmerge: 4.3.1
- kleur: 4.1.5
- magic-string: 0.30.5
- svelte: 4.2.8
- svelte-hmr: 0.15.3(svelte@4.2.8)
- vite: 5.0.11
- vitefu: 0.2.5(vite@5.0.11)
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@types/cookie@0.6.0:
- resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
-
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
-
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
- dev: true
-
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
- dev: true
-
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
- dev: true
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /axobject-query@3.2.1:
- resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
- dev: true
-
- /code-red@1.0.4:
- resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- '@types/estree': 1.0.5
- acorn: 8.11.3
- estree-walker: 3.0.3
- periscopic: 3.1.0
- dev: true
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
- dev: true
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
-
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- dev: true
-
- /cookie@0.6.0:
- resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
- dev: true
-
- /css-tree@2.3.1:
- resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
- dependencies:
- mdn-data: 2.0.30
- source-map-js: 1.0.2
- dev: true
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
-
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
- dev: true
-
- /devalue@4.3.2:
- resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
- dev: true
-
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
- dev: true
-
- /esbuild@0.19.11:
- resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.11
- '@esbuild/android-arm': 0.19.11
- '@esbuild/android-arm64': 0.19.11
- '@esbuild/android-x64': 0.19.11
- '@esbuild/darwin-arm64': 0.19.11
- '@esbuild/darwin-x64': 0.19.11
- '@esbuild/freebsd-arm64': 0.19.11
- '@esbuild/freebsd-x64': 0.19.11
- '@esbuild/linux-arm': 0.19.11
- '@esbuild/linux-arm64': 0.19.11
- '@esbuild/linux-ia32': 0.19.11
- '@esbuild/linux-loong64': 0.19.11
- '@esbuild/linux-mips64el': 0.19.11
- '@esbuild/linux-ppc64': 0.19.11
- '@esbuild/linux-riscv64': 0.19.11
- '@esbuild/linux-s390x': 0.19.11
- '@esbuild/linux-x64': 0.19.11
- '@esbuild/netbsd-x64': 0.19.11
- '@esbuild/openbsd-x64': 0.19.11
- '@esbuild/sunos-x64': 0.19.11
- '@esbuild/win32-arm64': 0.19.11
- '@esbuild/win32-ia32': 0.19.11
- '@esbuild/win32-x64': 0.19.11
- dev: true
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
- dev: true
-
- /eslint-compat-utils@0.1.2(eslint@8.56.0):
- resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
- engines: {node: '>=12'}
- peerDependencies:
- eslint: '>=6.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-config-prettier@9.1.0(eslint@8.56.0):
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
- hasBin: true
- peerDependencies:
- eslint: '>=7.0.0'
- dependencies:
- eslint: 8.56.0
- dev: true
-
- /eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.8):
- resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
- engines: {node: ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0-0
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@jridgewell/sourcemap-codec': 1.4.15
- debug: 4.3.4
- eslint: 8.56.0
- eslint-compat-utils: 0.1.2(eslint@8.56.0)
- esutils: 2.0.3
- known-css-properties: 0.29.0
- postcss: 8.4.33
- postcss-load-config: 3.1.4(postcss@8.4.33)
- postcss-safe-parser: 6.0.0(postcss@8.4.33)
- postcss-selector-parser: 6.0.15
- semver: 7.5.4
- svelte: 4.2.8
- svelte-eslint-parser: 0.33.1(svelte@4.2.8)
- transitivePeerDependencies:
- - supports-color
- - ts-node
- dev: true
-
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
- dev: true
-
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /eslint@8.56.0:
- resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- hasBin: true
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.56.0
- '@humanwhocodes/config-array': 0.11.13
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.4
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.0
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /esm-env@1.0.0:
- resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
- dev: true
-
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 5.3.0
- dev: true
-
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
- dev: true
-
- /estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
-
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- dev: true
-
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- dev: true
-
- /fastq@1.16.0:
- resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
- dependencies:
- reusify: 1.0.4
- dev: true
-
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.2.0
- dev: true
-
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
- dev: true
-
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flatted: 3.2.9
- keyv: 4.5.4
- rimraf: 3.0.2
- dev: true
-
- /flatted@3.2.9:
- resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
- dev: true
-
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- dev: true
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
- dependencies:
- is-glob: 4.0.3
- dev: true
-
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- dev: true
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
- dev: true
-
- /globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
- dev: true
-
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
- dev: true
-
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- dev: true
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /ignore@5.3.0:
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
- engines: {node: '>= 4'}
- dev: true
-
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
-
- /import-meta-resolve@4.0.0:
- resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
- dev: true
-
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
- dev: true
-
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
- dev: true
-
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
- dev: true
-
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
- dev: true
-
- /is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
- dependencies:
- '@types/estree': 1.0.5
- dev: true
-
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- dev: true
-
- /js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
- dependencies:
- argparse: 2.0.1
- dev: true
-
- /json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
- dev: true
-
- /json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- dev: true
-
- /json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- dev: true
-
- /keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- dependencies:
- json-buffer: 3.0.1
- dev: true
-
- /kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
- dev: true
-
- /known-css-properties@0.29.0:
- resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
- dev: true
-
- /levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
- dev: true
-
- /locate-character@3.0.0:
- resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
- dev: true
-
- /locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
- dependencies:
- p-locate: 5.0.0
- dev: true
-
- /lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
- dev: true
-
- /lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
- dependencies:
- yallist: 4.0.0
- dev: true
-
- /magic-string@0.30.5:
- resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
- engines: {node: '>=12'}
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
-
- /mdn-data@2.0.30:
- resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- dev: true
-
- /minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
- dependencies:
- brace-expansion: 1.1.11
- dev: true
-
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
- dev: true
-
- /mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
- dev: true
-
- /ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
- dev: true
-
- /nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
- dev: true
-
- /natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- dev: true
-
- /once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- dependencies:
- wrappy: 1.0.2
- dev: true
-
- /optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- dev: true
-
- /p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
- dependencies:
- yocto-queue: 0.1.0
- dev: true
-
- /p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
- dependencies:
- p-limit: 3.1.0
- dev: true
-
- /parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
- dependencies:
- callsites: 3.1.0
- dev: true
-
- /path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
- dev: true
-
- /path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
- dev: true
-
- /periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 3.0.3
- is-reference: 3.0.2
- dev: true
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
-
- /postcss-load-config@3.1.4(postcss@8.4.33):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.1.0
- postcss: 8.4.33
- yaml: 1.10.2
- dev: true
-
- /postcss-safe-parser@6.0.0(postcss@8.4.33):
- resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.3.3
- dependencies:
- postcss: 8.4.33
- dev: true
-
- /postcss-scss@4.0.9(postcss@8.4.33):
- resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.4.29
- dependencies:
- postcss: 8.4.33
- dev: true
-
- /postcss-selector-parser@6.0.15:
- resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
- engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
- dev: true
-
- /postcss@8.4.33:
- resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: true
-
- /prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /prettier-plugin-svelte@3.1.2(prettier@3.1.1)(svelte@4.2.8):
- resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
- peerDependencies:
- prettier: ^3.0.0
- svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
- dependencies:
- prettier: 3.1.1
- svelte: 4.2.8
- dev: true
-
- /prettier@3.1.1:
- resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==}
- engines: {node: '>=14'}
- hasBin: true
- dev: true
-
- /punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
- dev: true
-
- /queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- dev: true
-
- /resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
- dev: true
-
- /reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: true
-
- /rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: true
-
- /rollup@4.9.4:
- resolution: {integrity: sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.9.4
- '@rollup/rollup-android-arm64': 4.9.4
- '@rollup/rollup-darwin-arm64': 4.9.4
- '@rollup/rollup-darwin-x64': 4.9.4
- '@rollup/rollup-linux-arm-gnueabihf': 4.9.4
- '@rollup/rollup-linux-arm64-gnu': 4.9.4
- '@rollup/rollup-linux-arm64-musl': 4.9.4
- '@rollup/rollup-linux-riscv64-gnu': 4.9.4
- '@rollup/rollup-linux-x64-gnu': 4.9.4
- '@rollup/rollup-linux-x64-musl': 4.9.4
- '@rollup/rollup-win32-arm64-msvc': 4.9.4
- '@rollup/rollup-win32-ia32-msvc': 4.9.4
- '@rollup/rollup-win32-x64-msvc': 4.9.4
- fsevents: 2.3.3
- dev: true
-
- /run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- dependencies:
- queue-microtask: 1.2.3
- dev: true
-
- /sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
- dependencies:
- mri: 1.2.0
- dev: true
-
- /semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- lru-cache: 6.0.0
- dev: true
-
- /set-cookie-parser@2.6.0:
- resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
- dev: true
-
- /shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
- dependencies:
- shebang-regex: 3.0.0
- dev: true
-
- /shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
- dev: true
-
- /sirv@2.0.4:
- resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
- engines: {node: '>= 10'}
- dependencies:
- '@polka/url': 1.0.0-next.24
- mrmime: 2.0.0
- totalist: 3.0.1
- dev: true
-
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
- dependencies:
- ansi-regex: 5.0.1
- dev: true
-
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
- dev: true
-
- /supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
- dependencies:
- has-flag: 4.0.0
- dev: true
-
- /svelte-eslint-parser@0.33.1(svelte@4.2.8):
- resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- svelte: ^3.37.0 || ^4.0.0
- peerDependenciesMeta:
- svelte:
- optional: true
- dependencies:
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- postcss: 8.4.33
- postcss-scss: 4.0.9(postcss@8.4.33)
- svelte: 4.2.8
- dev: true
-
- /svelte-hmr@0.15.3(svelte@4.2.8):
- resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
- engines: {node: ^12.20 || ^14.13.1 || >= 16}
- peerDependencies:
- svelte: ^3.19.0 || ^4.0.0
- dependencies:
- svelte: 4.2.8
- dev: true
-
- /svelte@4.2.8:
- resolution: {integrity: sha512-hU6dh1MPl8gh6klQZwK/n73GiAHiR95IkFsesLPbMeEZi36ydaXL/ZAb4g9sayT0MXzpxyZjR28yderJHxcmYA==}
- engines: {node: '>=16'}
- dependencies:
- '@ampproject/remapping': 2.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.20
- acorn: 8.11.3
- aria-query: 5.3.0
- axobject-query: 3.2.1
- code-red: 1.0.4
- css-tree: 2.3.1
- estree-walker: 3.0.3
- is-reference: 3.0.2
- locate-character: 3.0.0
- magic-string: 0.30.5
- periscopic: 3.1.0
- dev: true
-
- /text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- dev: true
-
- /tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
- dev: true
-
- /totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
- dev: true
-
- /type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- prelude-ls: 1.2.1
- dev: true
-
- /type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
- dev: true
-
- /uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- dependencies:
- punycode: 2.3.1
- dev: true
-
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- dev: true
-
- /vite@5.0.11:
- resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- dependencies:
- esbuild: 0.19.11
- postcss: 8.4.33
- rollup: 4.9.4
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /vitefu@0.2.5(vite@5.0.11):
- resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
- peerDependencies:
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- vite:
- optional: true
- dependencies:
- vite: 5.0.11
- dev: true
-
- /which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
- dependencies:
- isexe: 2.0.0
- dev: true
-
- /wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- dev: true
-
- /yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- dev: true
-
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
- dev: true
-
- /yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
- dev: true
diff --git a/frontend/src/app.html b/frontend/src/app.html
deleted file mode 100644
index db8750c..0000000
--- a/frontend/src/app.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
- %sveltekit.head%
-
-
-
- %sveltekit.body%
-
-
-
\ No newline at end of file
diff --git a/frontend/src/lib/button.svelte b/frontend/src/lib/button.svelte
deleted file mode 100644
index 363e4b6..0000000
--- a/frontend/src/lib/button.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
diff --git a/frontend/src/lib/color.svelte b/frontend/src/lib/color.svelte
deleted file mode 100644
index 5f639f0..0000000
--- a/frontend/src/lib/color.svelte
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
diff --git a/frontend/src/lib/header-setup.svelte b/frontend/src/lib/header-setup.svelte
deleted file mode 100644
index 8d51bfd..0000000
--- a/frontend/src/lib/header-setup.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/frontend/src/lib/icons/login.svelte b/frontend/src/lib/icons/login.svelte
deleted file mode 100644
index 1b0b5f4..0000000
--- a/frontend/src/lib/icons/login.svelte
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
diff --git a/frontend/src/lib/icons/priority.svelte b/frontend/src/lib/icons/priority.svelte
deleted file mode 100644
index 7423c56..0000000
--- a/frontend/src/lib/icons/priority.svelte
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
diff --git a/frontend/src/lib/icons/score.svelte b/frontend/src/lib/icons/score.svelte
deleted file mode 100644
index ddf6f62..0000000
--- a/frontend/src/lib/icons/score.svelte
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
diff --git a/frontend/src/lib/img/topscorer_logo_alpha.png b/frontend/src/lib/img/topscorer_logo_alpha.png
deleted file mode 100755
index b05ca7f..0000000
Binary files a/frontend/src/lib/img/topscorer_logo_alpha.png and /dev/null differ
diff --git a/frontend/src/lib/img/topscorer_logo_icon.png b/frontend/src/lib/img/topscorer_logo_icon.png
deleted file mode 100644
index 8daceda..0000000
Binary files a/frontend/src/lib/img/topscorer_logo_icon.png and /dev/null differ
diff --git a/frontend/src/lib/img/topscorer_logo_web.png b/frontend/src/lib/img/topscorer_logo_web.png
deleted file mode 100755
index 848b76a..0000000
Binary files a/frontend/src/lib/img/topscorer_logo_web.png and /dev/null differ
diff --git a/frontend/src/lib/index.js b/frontend/src/lib/index.js
deleted file mode 100644
index 856f2b6..0000000
--- a/frontend/src/lib/index.js
+++ /dev/null
@@ -1 +0,0 @@
-// place files you want to import through the `$lib` alias in this folder.
diff --git a/frontend/src/lib/input.svelte b/frontend/src/lib/input.svelte
deleted file mode 100644
index 292efd2..0000000
--- a/frontend/src/lib/input.svelte
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
diff --git a/frontend/src/lib/number.svelte b/frontend/src/lib/number.svelte
deleted file mode 100644
index a233a6f..0000000
--- a/frontend/src/lib/number.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
diff --git a/frontend/src/lib/select.svelte b/frontend/src/lib/select.svelte
deleted file mode 100644
index 83e2405..0000000
--- a/frontend/src/lib/select.svelte
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
diff --git a/frontend/src/lib/stores/categories.js b/frontend/src/lib/stores/categories.js
deleted file mode 100644
index 0442ffa..0000000
--- a/frontend/src/lib/stores/categories.js
+++ /dev/null
@@ -1,12 +0,0 @@
- import {readable} from "svelte/store"
-
- export const categories = readable([
- "Under 12 Women",
- "Under 12 Men",
- "Under 14 Women",
- "Under 14 Men",
- "Under 16 Women",
- "Under 16 Men",
- "Under 18 Women",
- "Under 18 Men",
- ]);
\ No newline at end of file
diff --git a/frontend/src/lib/stores/colors.js b/frontend/src/lib/stores/colors.js
deleted file mode 100644
index d844307..0000000
--- a/frontend/src/lib/stores/colors.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { readable } from "svelte/store"
-
-export const colors = readable([
- "black",
- "blue",
- "red",
- "green",
- "yellow",
- "pink",
- "white",
-]);
\ No newline at end of file
diff --git a/frontend/src/lib/stores/priority.js b/frontend/src/lib/stores/priority.js
deleted file mode 100644
index 2914f09..0000000
--- a/frontend/src/lib/stores/priority.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { writable } from 'svelte/store';
-
-function createPriority() {
- const { subscribe, set, update } = writable({
- surfers: [],
- end: false,
- start: false,
- min: 0,
- sec: 0,
- })
- return {
- subscribe,
- set,
- update,
- reset: () => set({ surfers: [], end: false, start: false, min: 0, sec: 0 }),
- }
-}
-
-export const priority = createPriority()
\ No newline at end of file
diff --git a/frontend/src/lib/stores/rounds.js b/frontend/src/lib/stores/rounds.js
deleted file mode 100644
index 8210b74..0000000
--- a/frontend/src/lib/stores/rounds.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import {readable} from "svelte/store"
-
-export const rounds = readable([
- "Qualifying",
- "Opening",
- "Elimination",
- "Round of 48",
- "Round of 32",
- "Round of 16",
- "Quarterfinal",
- "Semifinal",
- "Final",
-]);
\ No newline at end of file
diff --git a/frontend/src/lib/stores/surfers.js b/frontend/src/lib/stores/surfers.js
deleted file mode 100644
index cc9908b..0000000
--- a/frontend/src/lib/stores/surfers.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { writable } from 'svelte/store';
-
-function createSurfers() {
- const { subscribe, set, update } = writable([
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- ])
- return {
- subscribe,
- set,
- update,
- reset: () => set([
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- { color: 'gray', priority: '' },
- ]),
- }
-}
-
-export const surfers = createSurfers()
-
-export const surfersCount = writable(4)
\ No newline at end of file
diff --git a/frontend/src/routes/+layout.js b/frontend/src/routes/+layout.js
deleted file mode 100644
index 8139312..0000000
--- a/frontend/src/routes/+layout.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const prerender = true;
-export const ssr = false;
-export const trailingSlash = 'always';
\ No newline at end of file
diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
deleted file mode 100644
index 2c4be7f..0000000
--- a/frontend/src/routes/+page.svelte
+++ /dev/null
@@ -1,7 +0,0 @@
-Welcome to SvelteKit
-
-setup
-
-horizontal
-
-vertical
diff --git a/frontend/src/routes/light/h/+page.svelte b/frontend/src/routes/light/h/+page.svelte
deleted file mode 100644
index 6ea5c13..0000000
--- a/frontend/src/routes/light/h/+page.svelte
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
- {#each Array($surfersCount) as _, id}
- -
- {#if $surfers[id].priority == 'P'}
-
{$surfers[id].priority}
- {:else}
- {$surfers[id].priority}
- {/if}
-
-
- {/each}
-
-
-
diff --git a/frontend/src/routes/light/setup/+page.svelte b/frontend/src/routes/light/setup/+page.svelte
deleted file mode 100644
index 76c6939..0000000
--- a/frontend/src/routes/light/setup/+page.svelte
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-{#if start}
-
-
-{:else}
-
-
-{/if}
-
-
diff --git a/frontend/src/routes/light/v/+page.svelte b/frontend/src/routes/light/v/+page.svelte
deleted file mode 100644
index fe7e83d..0000000
--- a/frontend/src/routes/light/v/+page.svelte
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
- {#each Array($surfersCount) as _, id}
-
- {#if $surfers[id].priority == 'P'}
-
{$surfers[id].priority}
- {:else}
-
{$surfers[id].priority}
- {/if}
-
-
- {/each}
-
-
-
diff --git a/frontend/src/routes/pri/+page.svelte b/frontend/src/routes/pri/+page.svelte
deleted file mode 100644
index dea32c2..0000000
--- a/frontend/src/routes/pri/+page.svelte
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
- {#each Array(lines) as _}
-
- {/each}
-
-
-
\ No newline at end of file
diff --git a/frontend/src/routes/priority/+page.svelte b/frontend/src/routes/priority/+page.svelte
deleted file mode 100644
index d6c6046..0000000
--- a/frontend/src/routes/priority/+page.svelte
+++ /dev/null
@@ -1,448 +0,0 @@
-
-
-
-
-
-
-
- {#each $priority.surfers || [] as surfer, id}
-
- {#if surfer.priority != ''}
- {#if surfer.priority === 'P'}
- {#if surfer.color === 'white'}
-
{surfer.priority}
- {:else}
-
{surfer.priority}
- {/if}
- {:else}
-
{surfer.priority}
- {/if}
- {/if}
-
click(id)}
- on:contextmenu={(e) => {
- e.preventDefault();
- dblclick(id);
- }}
- on:keypress={console.log('keypress')}
- role="button"
- tabindex={id}
- >
-
{surfer.score}
-
- {/each}
-
-
-
diff --git a/frontend/src/routes/setup/+page.svelte b/frontend/src/routes/setup/+page.svelte
deleted file mode 100644
index ac6a8c4..0000000
--- a/frontend/src/routes/setup/+page.svelte
+++ /dev/null
@@ -1,323 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {surfers}
-
-
-
-
- {#each Array(surfers) as _, surfer}
-
-
-
-
-
-
-
- {/each}
-
-
-
-
-
-
-
-
-
- {#each heats || [] as h, id}
-
-
- {/each}
-
-
-
-
-
-
-
diff --git a/frontend/src/routes/surfers/+page.svelte b/frontend/src/routes/surfers/+page.svelte
deleted file mode 100644
index 92df5d0..0000000
--- a/frontend/src/routes/surfers/+page.svelte
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{#each surfers as s}
-
- deleteSurfer(s)} label="X" />
-
-{/each}}
diff --git a/frontend/static/favicon.png b/frontend/static/favicon.png
deleted file mode 100644
index 825b9e6..0000000
Binary files a/frontend/static/favicon.png and /dev/null differ
diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js
deleted file mode 100644
index f1f8461..0000000
--- a/frontend/svelte.config.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// import adapter from '@sveltejs/adapter-auto';
-import adapter from '@sveltejs/adapter-static';
-
-/** @type {import('@sveltejs/kit').Config} */
-const config = {
- kit: {
- // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
- // If your environment is not supported or you settled on a specific environment, switch out the adapter.
- // See https://kit.svelte.dev/docs/adapters for more information about adapters.
- adapter: adapter(
- {
- pages: '../backend/static',
- assets: '../backend/static',
- fallback: 'index.html',
- precompress: true,
- strict: true
- }
- )
- }
-};
-
-export default config;
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
deleted file mode 100644
index bbf8c7d..0000000
--- a/frontend/vite.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
-
-export default defineConfig({
- plugins: [sveltekit()]
-});